Skip to main content
Glama

Ably MCP by usefulapi

Server Details

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

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
71.2% over 58 days
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A4/5.0

Scored across 15 tools

Disambiguation5/5

Every tool targets a distinct resource and action: account-level stats, app-level stats, channel details, history, presence, presence history, service time, and each control-plane listing (apps, keys, namespaces, queues, rules) are clearly separated. The only potentially confusing pair is account stats vs app stats, but their descriptions explicitly differentiate account-wide vs API-key-scoped usage.

Naming Consistency5/5

All tools use a uniform 'ably_' prefix followed by a consistent verb_noun pattern: get_ for single resources, list_ for collections, publish_message for the write action, and whoami for token details. There are no mixed casing styles or inconsistent verb choices.

Tool Count5/5

Fifteen tools is within the ideal range and each one covers a meaningful Ably capability, from control-plane inspection to channel data retrieval and publishing. The count feels justified given the breadth of Ably's API surface, with no redundant or filler tools.

Completeness3/5

The read side is well covered: stats, channel details, history, presence, and control-plane listings all have dedicated tools, and message publishing provides one write path. However, there are no create/update/delete operations for apps, keys, namespaces, queues, or rules, so lifecycle management is largely absent and an agent could not perform common administrative workflows.

Available Tools

15 tools
ably_get_account_statsGet account-level statistics
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoEnd of range, ms since epoch (inclusive).
unitNoBucket size: minute | hour | day | month. Default minute.
limitNoMax buckets (<=1000). Default 100.
startNoStart of range, ms since epoch (inclusive).
account_idNoOverride the account id (defaults to the token's account).
ably_get_channel_detailsGet channel details / occupancy
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
channelYesChannel name.
ably_get_channel_historyGet channel message history
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoLatest message time, ms since epoch (inclusive).
limitNoMax messages (<=1000). Default 100.
startNoEarliest message time, ms since epoch (inclusive).
channelYesChannel name, e.g. 'chat:room1'.
directionNoforwards (oldest-first) or backwards (newest-first, default).
ably_get_presenceGet channel presence set
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMax members (<=1000). Default 100.
channelYesChannel name.
clientIdNoFilter to a specific clientId.
connectionIdNoFilter to a specific connectionId.
ably_get_presence_historyGet channel presence history
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoLatest event time, ms since epoch (inclusive).
limitNoMax events (<=1000). Default 100.
startNoEarliest event time, ms since epoch (inclusive).
channelYesChannel name.
directionNoforwards or backwards (default backwards).
ably_get_service_timeGet Ably service time
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

ably_get_statsGet app statistics
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
endNoEnd of range, ms since epoch (inclusive).
unitNoBucket size: minute | hour | day | month. Default minute.
limitNoMax buckets (<=1000). Default 100.
startNoStart of range, ms since epoch (inclusive).
directionNoforwards or backwards (default backwards).
ably_list_appsList Ably apps
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idNoOverride the account id (defaults to the token's account).
ably_list_channelsList active channels
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
byNoReturn channel ids only ('id', default) or full details ('value').
limitNoMax channels per page (<=1000). Default 100.
prefixNoOnly return channels whose name starts with this prefix.
ably_list_keysList an app's API keys
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesApp id (from ably_list_apps).
ably_list_namespacesList an app's channel namespaces
Read-only
Inspect

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

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesApp id (from ably_list_apps).
ably_list_queuesList an app's queues
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesApp id (from ably_list_apps).
ably_list_rulesList an app's integration rules
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
app_idYesApp id (from ably_list_apps).
ably_publish_messagePublish a message to a channel
Destructive
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYesMessage payload (string; send JSON as a stringified value).
nameNoOptional event name for the message.
channelYesChannel name to publish to, e.g. 'chat:room1'.
clientIdNoOptional clientId to attribute the message to.
ably_whoamiGet control token / account info
Read-only
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 15 tool updates
    • Changedably_get_account_stats1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_get_channel_details1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_get_channel_history1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_get_presence1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_get_presence_history1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_get_service_time1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_get_stats1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_list_apps1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_list_channels1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_list_keys1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_list_namespaces1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_list_queues1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_list_rules1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_publish_message1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
    • Changedably_whoami1 field changed
      • changedInput schema / $schema
        Previous value: -"http://json-schema.org/draft-07/schema#"New value: +"https://json-schema.org/draft/2020-12/schema"
  2. 15 tool updates
    • First observedably_get_account_stats
    • First observedably_get_channel_details
    • First observedably_get_channel_history
    • First observedably_get_presence
    • First observedably_get_presence_history
    • First observedably_get_service_time
    • First observedably_get_stats
    • First observedably_list_apps
    • First observedably_list_channels
    • First observedably_list_keys
    • First observedably_list_namespaces
    • First observedably_list_queues
    • First observedably_list_rules
    • First observedably_publish_message
    • First observedably_whoami

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    MCP server for ntfy: publish notifications, read cached messages, manage users and topic access
    13
    42 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    MCP server for the Mobilerun platform, exposing tools for device control, workflow automation, task management, and platform operations via a stateless HTTP or stdio interface with bearer-token authentication and policy-based access control.
    Apache 2.0
  • A
    license
    B
    quality
    C
    maintenance
    MCP server for interacting with a self-hosted Appsmith instance via its REST API, enabling read/update/create of pages, queries, JS objects, widgets, datasources, and applications with lazy session management and destructive-operation gating.
    30
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.