io.usefulapi/ably

Ably MCP by usefulapi

MCP server for Ably — channel history, presence, occupancy, stats, publish, and app management.

1.11.1
Version
remote
Transport
15
Tools

Security review

Partly reviewed

Reviewed 1h ago.

  • tools: 15 tools scanned
  • metadata: scanned
  • mediumReviewRemote tools take credentials as input

    Whatever an agent passes to a remote tool leaves the machine. Never send connection strings, tokens or passwords to a third-party MCP server unless it is the service those credentials belong to.

    ably_list_channels, ably_get_stats, ably_list_keys

Tools (15)

  • ably_get_channel_history

    Retrieve historical messages published to a channel, newest-first by default. REST: GET /channels/{channel}/messages.

  • ably_get_presence

    List the members currently present on a channel (who is online now). REST: GET /channels/{channel}/presence.

  • ably_get_presence_history

    Retrieve historical presence events (enter/leave/update) for a channel. REST: GET /channels/{channel}/presence/history.

  • ably_get_channel_details

    Get status and occupancy metrics for a single channel (connections, publishers, subscribers, presence members). REST: GET /channels/{channel}.

  • ably_list_channels

    Enumerate channels that are currently active in the app. Requires the API key to have the 'channel-metadata' capability. REST: GET /channels.

  • ably_get_stats

    Retrieve message/connection/channel usage statistics for the app tied to the API key, bucketed by time. REST: GET /stats.

  • ably_get_service_time

    Return the current Ably service time in ms since epoch. Useful for aligning start/end windows to the server clock. REST: GET /time.

  • ably_publish_message

    WRITE: publish a message to a channel. Every connected subscriber receives it in real time. This is a real, outward-facing side effect — confirm the channel and payload before calling. REST: POST /channels/{channel}/messages.

  • ably_whoami

    Return details about the configured control token: the account and user it belongs to and its capabilities. Good first call to confirm control-plane access. Control API: GET /me.

  • ably_list_apps

    List all apps in the account (id, name, status, tls-only). Account id is resolved automatically from the control token when ABLY_ACCOUNT_ID is unset. Control API: GET /accounts/{account_id}/apps.

  • ably_list_keys

    List the API keys for an app, including their capabilities (but not the full secret). Control API: GET /apps/{app_id}/keys.

  • ably_list_namespaces

    List the channel namespaces (channel-rule prefixes) configured for an app, e.g. persistence and push settings. Control API: GET /apps/{app_id}/namespaces.

  • ably_list_queues

    List the Ably Queues (AMQP/STOMP message queues) provisioned for an app, with their state and messaging stats. Control API: GET /apps/{app_id}/queues.

  • ably_list_rules

    List the integration rules (reactor rules: webhooks, AWS Lambda/SQS/Kinesis, Kafka, Pulsar, etc.) configured for an app. Control API: GET /apps/{app_id}/rules.

  • ably_get_account_stats

    Retrieve aggregated usage statistics across the whole account, bucketed by time. Account id is resolved from the control token when ABLY_ACCOUNT_ID is unset. Control API: GET /accounts/{account_id}/stats.