Ably MCP by usefulapi is an MCP server with 15 tools an agent can call, among them ably_get_account_stats, ably_get_channel_details, ably_get_channel_history. It answers at https://ably.usefulapi.io/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 24 October 2026, succeeded.
MCP server for Ably — channel history, presence, occupancy, stats, publish, and app management.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
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. Inputs: account_id, start, end, unit, limit |
ably_get_channel_details | Get status and occupancy metrics for a single channel (connections, publishers, subscribers, presence members). REST: GET /channels/{channel}. Inputs: channel |
ably_get_channel_history | Retrieve historical messages published to a channel, newest-first by default. REST: GET /channels/{channel}/messages. Inputs: channel, start, end, limit, direction |
ably_get_presence | List the members currently present on a channel (who is online now). REST: GET /channels/{channel}/presence. Inputs: channel, clientId, connectionId, limit |
ably_get_presence_history | Retrieve historical presence events (enter/leave/update) for a channel. REST: GET /channels/{channel}/presence/history. Inputs: channel, start, end, limit, direction |
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_get_stats | Retrieve message/connection/channel usage statistics for the app tied to the API key, bucketed by time. REST: GET /stats. Inputs: start, end, unit, limit, direction |
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. Inputs: account_id |
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. Inputs: prefix, limit, by |
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. Inputs: app_id |
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. Inputs: app_id |
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. Inputs: app_id |
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. Inputs: app_id |
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. Inputs: channel, data, name, clientId |
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. |
Every block below points at https://ably.usefulapi.io/mcp. Pick your client and copy.
claude mcp add --transport http ably-mcp-by-usefulapi https://ably.usefulapi.io/mcp
{
"mcpServers": {
"ably-mcp-by-usefulapi": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://ably.usefulapi.io/mcp"]
}
}
}{
"mcpServers": {
"ably-mcp-by-usefulapi": {
"url": "https://ably.usefulapi.io/mcp"
}
}
}{
"servers": {
"ably-mcp-by-usefulapi": {
"type": "http",
"url": "https://ably.usefulapi.io/mcp"
}
}
}{
"context_servers": {
"ably-mcp-by-usefulapi": {
"url": "https://ably.usefulapi.io/mcp"
}
}
}{
"mcpServers": {
"ably-mcp-by-usefulapi": {
"serverUrl": "https://ably.usefulapi.io/mcp"
}
}
}{
"mcpServers": {
"ably-mcp-by-usefulapi": {
"url": "https://ably.usefulapi.io/mcp"
}
}
}name: Ably MCP by usefulapi
version: 0.0.1
schema: v1
mcpServers:
- name: Ably MCP by usefulapi
type: streamable-http
url: https://ably.usefulapi.io/mcp{
"mcpServers": {
"ably-mcp-by-usefulapi": {
"httpUrl": "https://ably.usefulapi.io/mcp"
}
}
}{
"mcpServers": {
"ably-mcp-by-usefulapi": {
"type": "http",
"url": "https://ably.usefulapi.io/mcp"
}
}
}{
"mcpServers": {
"ably-mcp-by-usefulapi": {
"url": "https://ably.usefulapi.io/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fably.usefulapi.io%2Fmcp&type=streamable_http&id=ably-mcp-by-usefulapi&name=Ably%20MCP%20by%20usefulapi
It answered our last check on 24 October 2026 in 353 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by usefulapi.io and served from ably.usefulapi.io, the vendor's own domain: https://ably.usefulapi.io/mcp.
15, as returned by the server's own tools/list on 22 September 2026: ably_get_account_stats, ably_get_channel_details, ably_get_channel_history, ably_get_presence, ably_get_presence_history, ably_get_service_time, ably_get_stats, ably_list_apps, and 7 more.
It answered our last check on 24 October 2026 in 353 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://ably.usefulapi.io/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.usefulapi. Endpoint host: ably.usefulapi.io. ARD identifier: urn:air:io.usefulapi:mcp:ably.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.