Developer Tools

Ably MCP Server

Use Studio chat to drive this server — credentials stay in your workspace.

Ably is a real-time data streaming platform. Publish and subscribe to messages on channels, track presence, manage push notification devices and subscriptions, and monitor usage stats.

16 tools
Agent guide included
API Key
Start Chatting

Opens MCPBundles Studio with this server selected. After sign-in, chat and run tools from the same thread.

Browse all tools

AI Skill
SKILL.md

Domain knowledge for Ably — workflow patterns, data models, and gotchas for your AI agent.

Ably

Ably is a real-time data streaming platform for building live applications. It provides pub/sub messaging, presence tracking, push notifications to mobile/web devices, and usage analytics.

Data Model & Hierarchy

  • Channel — A named message stream. Channels are created implicitly when first published to or subscribed on. Channel names are case-sensitive strings (e.g. 'chat:room-1', 'events:user-updates'). Namespace prefixes separated by ':' enable rule-based configuration.
  • Message — A unit of data published to a channel. Has a name (event type), data (payload), timestamp, unique id, and optional clientId. Messages are ephemeral by default — persistence depends on channel rules.
  • Presence — Tracks which clients are currently connected to a channel. Each presence member has a clientId, connectionId, and optional data payload. Presence history records enter/leave/update events over time.
  • Push Device Registration — A mobile or web device registered to receive push notifications. Has id, platform (ios/android/browser), formFactor, push.recipient (transport-specific token), clientId, and metadata.
  • Push Channel Subscription — Links a registered device (or all devices for a clientId) to a channel for push notification delivery. When a message is published to the channel, subscribed devices receive a push notification.
  • Stats — Aggregated usage metrics across the application: messages published/received, connections, channels, API requests, push notifications, and data transferred. Available at minute/hour/day/month granularity.
  • Token — A short-lived credential issued from an API key. Tokens can be scoped to specific channels and operations, and optionally bound to a client ID. Used for client-side authentication where exposing the root API key is not acceptable.

Entity Relationships

App ─┬─ Channels (many, named streams) │ ├─ Messages (per channel, time-ordered) │ └─ Presence members (per channel, live set + history) ├─ Push Device Registrations (per app) │ └─ Push Channel Subscriptions (device → channel) └─ Stats (aggregated usage over time)

Key Workflows

  1. Channel discovery: List active channels → get metadata for a specific channel (occupancy, status).
  2. Messaging: Publish messages to a channel → retrieve message history with time-range filtering.
  3. Presence monitoring: Get current members on a channel → query presence history for enter/leave events.
  4. Push notification setup: Register a device → subscribe it to channels → send direct push or publish to channel.
  5. Push management: List subscriptions → unsubscribe devices → unregister devices.
  6. Usage monitoring: Get stats by minute/hour/day/month → analyze message volume, connections, API usage.
  7. Token management: Request scoped tokens for client-side apps — limit capabilities, set TTL, bind to client IDs.

Gotchas

  • Channel names are IDs: The channel name string IS the identifier used everywhere — messages, presence, subscriptions, metadata lookups. There is no separate numeric ID.
  • Namespace prefixes: Channel names use ':' as namespace separators (e.g. 'chat:room-1'). Namespace rules in the dashboard control persistence, encryption, and push behavior per prefix.
  • Message persistence: Messages are NOT persisted by default. Only channels with persistence enabled (via channel rules) retain message history. Querying history on non-persisted channels returns empty.
  • Presence vs push: Presence tracks who is currently connected via WebSocket/SSE. Push notifications go to registered mobile/web devices even when the user isn't connected. They serve different use cases.
  • Push requires device registration: Before subscribing to push channels, the device must be registered via the device registrations endpoint with valid platform-specific transport details (APNs token, FCM token, or web push endpoint).
  • Stats aggregation delay: Stats are aggregated asynchronously. Minute-level stats may have a few seconds of delay; hourly and daily stats update at interval boundaries.
  • Time is in milliseconds: Both message timestamps and the server time endpoint return Unix epoch in milliseconds, not seconds.

Tools in this Server (16)

Ably Delete Push Device

Unregister push devices. This permanently removes the device registration and all its channel subscriptions. Pass device_id to remove a single device,...

Ably Get Channels

Get Ably channels. Pass channel_id to get metadata for a single channel (occupancy, status). Omit channel_id to list all active channels in the app. U...

Ably Get Messages

Get message history for an Ably channel. Requires channel_id (the channel name from ably_get_channels). Messages are only available if persistence is ...

Ably Get Presence

Get presence information for an Ably channel. By default returns the set of members currently present on the channel. Set history=true to get the pres...

Ably Get Push Channels

List all channels that have at least one push notification subscriber. Useful for discovering which channels are being used for push notifications. Re...

Ably Get Push Devices

Get push notification device registrations. Pass device_id to get full details of a single registered device. Omit device_id to list all devices regis...

Ably Get Push Subscriptions

List push notification channel subscriptions. At least one filter is required: channel, device_id, or client_id. Use ably_get_push_channels to find ch...

Ably Get Stats

Get usage statistics for the Ably application. Stats are aggregated across all channels and cover messages published/received, connections, channels o...

Ably Get Time

Get the current Ably server time in milliseconds since the Unix epoch. Useful for synchronizing clocks between client and server, or for constructing ...

Ably Publish Message

Publish a message to an Ably channel. All subscribers to the channel will receive this message in real time. Requires channel_id (channel name), name ...

Ably Publish Push

Send a push notification directly to a device or client's devices. This bypasses channels — sends to the specified recipient immediately. Provide a re...

Ably Request Token

Request an Ably token for client-side authentication. Tokens are short-lived credentials that can be given to untrusted clients. The token inherits ca...

Ably Reset Device Token

Reset the update token for a registered push device. After resetting, the device must re-authenticate its registration. Use when a device's update tok...

Ably Subscribe Push

Subscribe a device or all devices for a client to receive push notifications from a channel. The device must already be registered via ably_upsert_pus...

Ably Unsubscribe Push

Remove push notification channel subscriptions. Specify device_id or client_id plus optionally a channel. Without channel, removes ALL subscriptions f...

Ably Upsert Push Device

Register or update a push notification device. To create: provide id, platform, and push_recipient (the device token/registration). To update an exist...

Frequently Asked Questions

What is the Ably MCP server?

Ably is a real-time data streaming platform. Publish and subscribe to messages on channels, track presence, manage push notification devices and subscriptions, and monitor usage stats. It provides 16 tools that AI agents can use through the Model Context Protocol (MCP).

How do I connect Ably to my AI agent?

Add the MCPBundles server URL to your MCP client configuration (Claude Desktop, Cursor, VS Code, etc.). The URL format is: https://mcp.mcpbundles.com/bundle/ably-io-platform. Authentication is handled automatically.

How many tools does Ably provide?

Ably provides 16 tools that can be called by AI agents, along with a SKILL.md that gives your AI agent domain knowledge about when and how to use them.

What authentication does Ably require?

Ably uses API Key. Ably requires credentials. Connect via MCPBundles and authentication is handled automatically.

Setup Instructions

Connect Ably to any MCP client in minutes

https://mcp.mcpbundles.com/bundle/ably-io-platform

What is MCP?

Model Context Protocol lets AI tools call external capabilities securely through a single URL. This bundle groups tools behind an MCP endpoint that many clients can use.

Use this bundle in 3 steps

  1. Copy the MCP URL above
  2. Open your AI tool and add a new MCP/connector
  3. Paste the URL and follow any auth prompts

Claude Desktop Users

Skip the manual setup! Use the .mcpb file format for one-click installation. Check the Claude Desktop tab for setup instructions.

Pick your tool tab for exact steps

Select ChatGPT, Cursor, Claude Code, or another tab for copy-paste config.

Ready to chat with Ably?

Same flow: Studio opens on this server after sign-in. Keep chatting to call tools from the conversation.

Ably MCP Server & Skill — 16 Tools