# Usefulapi Ably MCP server

Source: https://glimind.com/server/mcp-registry%2Fio.usefulapi%2Fably
Registry id: `mcp-registry/io.usefulapi/ably`
Status: auth-required (checked 2026-10-27T02:18:08.583Z)

## Verdict

Usefulapi Ably MCP server answered 100% of Glimind's liveness checks over 30 days, better than 42% of MCP servers, with 60 ms median handshake and 0 outages in 90 days. Its agent-readiness grade is A (96/100) across 15 tools, costing an agent about 2,412 tokens to load. Checked every few minutes; no tool is ever called.

## Measurements (30 days)

| Metric | Value | Better than |
|---|---|---|
| Uptime, 30 days | 100% | 42% of MCP servers |
| Median handshake latency | 60 ms | 88% of MCP servers |
| p95 handshake latency | 285 ms | — |
| Checks in 30 days | 214 | — |
| Outages, 90 days | 0 | — |
| Median recovery | — | — |
| Agent-readiness score | 96/100 (A) | 82% of MCP servers |
| Tools | 15 | — |
| Tool-list size for an agent | ~2,412 tokens | 50% of MCP servers |
| Days observed | 28 | — |

## Install

```json
{
  "mcpServers": {
    "usefulapi-ably-mcp-server": {
      "type": "http",
      "url": "https://ably.usefulapi.io/mcp"
    }
  }
}
```

Claude Code:

```sh
claude mcp add --transport http usefulapi-ably-mcp-server https://ably.usefulapi.io/mcp
```

## Tools (15)

- `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. Co
- `ably_get_channel_details`: Get status and occupancy metrics for a single channel (connections, publishers, subscribers, presence members). REST: GET /channels/{channel}.
- `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_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.
- `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 AP
- `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_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_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
- `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. Con

Measured by Glimind (https://glimind.com): MCP handshake + tool list only, no tool is ever called. CC BY 4.0.
