| name | ably-control |
| description | Ably Control API is a RESTful interface that enables developers and DevOps teams to programmatically provision, configure, and manage real-time infrastructure—such as apps, API keys, namespaces, queues, and channel rules—seamlessly integrating into CI/CD workflows and automation pipelines. Read and write Ably Control data through One: apps, rules, namespaces, queues, appsapikeys, keys and more, 24 actions with real parameter documentation. Use whenever the user asks to look something up in Ably Control, create or update a record there, or build code against the Ably Control API. |
Ably Control through One
Ably Control API is a RESTful interface that enables developers and DevOps teams to programmatically provision, configure, and manage real-time infrastructure—such as apps, API keys, namespaces, queues, and channel rules—seamlessly integrating into CI/CD workflows and automation pipelines.
One exposes Ably Control through four MCP tools. The table below carries real action ids from One's knowledge base, so for a common operation you can skip search and go straight to reading the action's parameters.
How to run an action
- Find the action in the table below, or call
search_one_platform_actions with platform ably-control if it is not listed.
- Call
get_one_action_knowledge with the action id. Do this every time, including for actions in this table. The table gives you the id, not the parameters.
- Call
execute_one_action with parameters copied from that knowledge.
Never guess a parameter name, a body field, or an enum value. The knowledge has the real schema, and a guessed field is either a 400 or a silent write of the wrong thing.
Before you start
Call list_one_integrations once and confirm Ably Control is connected. If it is missing, the user has not connected it: say so and point them at https://app.withone.ai rather than reaching for raw HTTP.
Each connection carries an access field. If it reports {"policy": "methods", "methods": ["GET"]} the agent is read-only here, so plan a read-only answer instead of attempting a write that will be refused.
Before a write
Creates, updates, deletes and sends land on a real Ably Control account and cannot be recalled. State the action and the specific target in one line before the first write in a task, and let the user stop you. Reads need no confirmation.
Actions
Apps
| Action | Method | Path | Action id |
|---|
| List an Account’s Apps | GET | /accounts/{{accountId}}/apps | conn_mod_def::GJzy2rhFE08::ie0cNs0NSNioOGIk1T01vw |
| Create an App in an Account | POST | /accounts/{{accountId}}/apps | conn_mod_def::GJzy2dT1T8Y::XSvjdHMLQsibTJfxm11CEQ |
| Delete an App | DELETE | /apps/{{id}} | conn_mod_def::GJzy2j9etps::JubEGSR0Ssau6pYb7grVEA |
| Update an App | PATCH | /apps/{{id}} | conn_mod_def::GJzy3Psu8U4::kRk7ZGNSQn6Ux18qP4yC2Q |
| Update an App's APNs Info (PKCS#12) | POST | /apps/{{id}}/pkcs12 | conn_mod_def::GJzy3X5icaY::M8szOlIESTuJR5-Wi6j1Tg |
Rules
| Action | Method | Path | Action id |
|---|
| Get an App's Rule | GET | /apps/{{appId}}/rules/{{ruleId}} | conn_mod_def::GJzy69dh4S4::SoHSCBi2SY6QigCGvFcmBg |
| List an App's Rules | GET | /apps/{{appId}}/rules | conn_mod_def::GJzy5UPZG1o::Q3a1zVzcTVG2JDAInPZh3w |
| Create an App Rule | POST | /apps/{{appId}}/rules | conn_mod_def::GJzy44FLutE::AH3Tm1h8RW6ArpMbQ9VCoQ |
| Delete an App's Rule | DELETE | /apps/{{appId}}/rules/{{ruleId}} | conn_mod_def::GJzy4_ZjLmg::jUZakqKnSv2keENf2tLBng |
| Update an App’s Rule | PATCH | /apps/{{appId}}/rules/{{ruleId}} | conn_mod_def::GJzy5byzkmU::-sJEcTprRCS-XyJHaEVCSg |
Namespaces
| Action | Method | Path | Action id |
|---|
| List an App's Namespaces | GET | /apps/{{appId}}/namespaces | conn_mod_def::GJzy4MIctU8::d_Z6-2ZxSAKIenrdvPDXaQ |
| Create a Namespace for an App | POST | /apps/{{appId}}/namespaces | conn_mod_def::GJzy39vsjyM::sPPDjmK9SkSQJGjhzFOzhA |
| Delete an App Namespace | DELETE | /apps/{{appId}}/namespaces/{{namespaceId}} | conn_mod_def::GJzy4EgLbiw::-K9OBC09REWFZnG5_XJ-Rw |
| Update an App Namespace | PATCH | /apps/{{appId}}/namespaces/{{namespaceId}} | conn_mod_def::GJzy4VbCPtw::wHxICZO1SaiWIkhhuWAaHw |
Queues
| Action | Method | Path | Action id |
|---|
| List an App’s Queues | GET | /apps/{{appId}}/queues | conn_mod_def::GJzy4tiwqtM::MuhfIFW5TBCCJspYG--6ZA |
| Create a Queue for an App | POST | /apps/{{appId}}/queues | conn_mod_def::GJzy4fEWKMY::b1lDqhQETruBLGpK6kf1xQ |
AppsApiKeys
| Action | Method | Path | Action id |
|---|
| Revoke an App’s API Key | POST | /apps/{{appId}}/keys/{{keyId}}/revoke | conn_mod_def::GJzy3uz28Qg::8LJboUHJSIyGBKlCRM_QEA |
Keys
| Action | Method | Path | Action id |
|---|
| List an App’s Keys | GET | /apps/{{appId}}/keys | conn_mod_def::GJzy3nFB5bw::PEVugpigRt-k83VGI7E-nw |
AccountStats
| Action | Method | Path | Action id |
|---|
| Retrieve an Account’s Statistics | GET | /accounts/{{id}}/stats | conn_mod_def::GJzy2V4bZl8::1zkm5oJ1T7iVIVsPjQU9lw |
AppKeys
| Action | Method | Path | Action id |
|---|
| Update an App’s API Key | PATCH | /apps/{{appId}}/keys/{{keyId}} | conn_mod_def::GJzy31_0xPI::w4zErES1QNKqSaGjbbBaiw |
AppQueues
| Action | Method | Path | Action id |
|---|
| Delete an App Queue | DELETE | /apps/{{appId}}/queues/{{queueId}} | conn_mod_def::GJzy4mVH4P0::1BMnMm8bQjyz7HURnp07vQ |
AppStatistics
| Action | Method | Path | Action id |
|---|
| Retrieve an App’s Statistics | GET | /apps/{{id}}/stats | conn_mod_def::GJzy7QZR3cY::2cMZHwYSSdiXSP1jezmGTg |
AppApiKeys
| Action | Method | Path | Action id |
|---|
| Create an App API Key | POST | /apps/{{appId}}/keys | conn_mod_def::GJzy3gYtFFE::7qr2VVMUQGax6WMLlwhpeg |
Me
| Action | Method | Path | Action id |
|---|
| Get Current Token Details | GET | /me | conn_mod_def::GJzy5ix8xlY::zk58c1lsT8myTUcM0_1XZg |
When a call fails
The error comes from Ably Control, not from One. A 400 or 422 means your parameters do not match the schema, so re-read the knowledge and fix the field. A 401 or 403 means the connection needs re-authorizing, which no retry will fix. A 404 means the id is not on this account. A 429 means slow down. Never retry a write more than once: the first attempt may have landed.
Full catalog: https://www.withone.ai/knowledge/ably-control
Integration knowledge by One (withone.ai), licensed under One-Knowledge-1.0. Attribution must be preserved in derivative works.