Server definition
- Hash
- sha256:766e27845035adac5c2ac99c7e6ca51e3b7876b0cfda7cf0b4c121bc70511c87
- What it is
- What a remote MCP server returned when asked what it offers: 15 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"account_id": {
"description": "Override the account id (defaults to the token's account).",
"type": "string"
},
"end": {
"description": "End of range, ms since epoch (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"limit": {
"description": "Max buckets (<=1000). Default 100.",
"exclusiveMinimum": 0,
"maximum": 1000,
"type": "integer"
},
"start": {
"description": "Start of range, ms since epoch (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"unit": {
"description": "Bucket size: minute | hour | day | month. Default minute.",
"enum": [
"minute",
"hour",
"day",
"month"
],
"type": "string"
}
},
"type": "object"
},
"name": "ably_get_account_stats",
"outputSchema": null
},
{
"description": "Get status and occupancy metrics for a single channel (connections, publishers, subscribers, presence members). REST: GET /channels/{channel}.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"channel": {
"description": "Channel name.",
"type": "string"
}
},
"required": [
"channel"
],
"type": "object"
},
"name": "ably_get_channel_details",
"outputSchema": null
},
{
"description": "Retrieve historical messages published to a channel, newest-first by default. REST: GET /channels/{channel}/messages.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"channel": {
"description": "Channel name, e.g. 'chat:room1'.",
"type": "string"
},
"direction": {
"description": "forwards (oldest-first) or backwards (newest-first, default).",
"enum": [
"forwards",
"backwards"
],
"type": "string"
},
"end": {
"description": "Latest message time, ms since epoch (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"limit": {
"description": "Max messages (<=1000). Default 100.",
"exclusiveMinimum": 0,
"maximum": 1000,
"type": "integer"
},
"start": {
"description": "Earliest message time, ms since epoch (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"channel"
],
"type": "object"
},
"name": "ably_get_channel_history",
"outputSchema": null
},
{
"description": "List the members currently present on a channel (who is online now). REST: GET /channels/{channel}/presence.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"channel": {
"description": "Channel name.",
"type": "string"
},
"clientId": {
"description": "Filter to a specific clientId.",
"type": "string"
},
"connectionId": {
"description": "Filter to a specific connectionId.",
"type": "string"
},
"limit": {
"description": "Max members (<=1000). Default 100.",
"exclusiveMinimum": 0,
"maximum": 1000,
"type": "integer"
}
},
"required": [
"channel"
],
"type": "object"
},
"name": "ably_get_presence",
"outputSchema": null
},
{
"description": "Retrieve historical presence events (enter/leave/update) for a channel. REST: GET /channels/{channel}/presence/history.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"channel": {
"description": "Channel name.",
"type": "string"
},
"direction": {
"description": "forwards or backwards (default backwards).",
"enum": [
"forwards",
"backwards"
],
"type": "string"
},
"end": {
"description": "Latest event time, ms since epoch (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"limit": {
"description": "Max events (<=1000). Default 100.",
"exclusiveMinimum": 0,
"maximum": 1000,
"type": "integer"
},
"start": {
"description": "Earliest event time, ms since epoch (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
}
},
"required": [
"channel"
],
"type": "object"
},
"name": "ably_get_presence_history",
"outputSchema": null
},
{
"description": "Return the current Ably service time in ms since epoch. Useful for aligning start/end windows to the server clock. REST: GET /time.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "ably_get_service_time",
"outputSchema": null
},
{
"description": "Retrieve message/connection/channel usage statistics for the app tied to the API key, bucketed by time. REST: GET /stats.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"direction": {
"description": "forwards or backwards (default backwards).",
"enum": [
"forwards",
"backwards"
],
"type": "string"
},
"end": {
"description": "End of range, ms since epoch (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"limit": {
"description": "Max buckets (<=1000). Default 100.",
"exclusiveMinimum": 0,
"maximum": 1000,
"type": "integer"
},
"start": {
"description": "Start of range, ms since epoch (inclusive).",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"type": "integer"
},
"unit": {
"description": "Bucket size: minute | hour | day | month. Default minute.",
"enum": [
"minute",
"hour",
"day",
"month"
],
"type": "string"
}
},
"type": "object"
},
"name": "ably_get_stats",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"account_id": {
"description": "Override the account id (defaults to the token's account).",
"type": "string"
}
},
"type": "object"
},
"name": "ably_list_apps",
"outputSchema": null
},
{
"description": "Enumerate channels that are currently active in the app. Requires the API key to have the 'channel-metadata' capability. REST: GET /channels.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"by": {
"description": "Return channel ids only ('id', default) or full details ('value').",
"enum": [
"id",
"value"
],
"type": "string"
},
"limit": {
"description": "Max channels per page (<=1000). Default 100.",
"exclusiveMinimum": 0,
"maximum": 1000,
"type": "integer"
},
"prefix": {
"description": "Only return channels whose name starts with this prefix.",
"type": "string"
}
},
"type": "object"
},
"name": "ably_list_channels",
"outputSchema": null
},
{
"description": "List the API keys for an app, including their capabilities (but not the full secret). Control API: GET /apps/{app_id}/keys.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"app_id": {
"description": "App id (from ably_list_apps).",
"type": "string"
}
},
"required": [
"app_id"
],
"type": "object"
},
"name": "ably_list_keys",
"outputSchema": null
},
{
"description": "List the channel namespaces (channel-rule prefixes) configured for an app, e.g. persistence and push settings. Control API: GET /apps/{app_id}/namespaces.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"app_id": {
"description": "App id (from ably_list_apps).",
"type": "string"
}
},
"required": [
"app_id"
],
"type": "object"
},
"name": "ably_list_namespaces",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"app_id": {
"description": "App id (from ably_list_apps).",
"type": "string"
}
},
"required": [
"app_id"
],
"type": "object"
},
"name": "ably_list_queues",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"app_id": {
"description": "App id (from ably_list_apps).",
"type": "string"
}
},
"required": [
"app_id"
],
"type": "object"
},
"name": "ably_list_rules",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"channel": {
"description": "Channel name to publish to, e.g. 'chat:room1'.",
"type": "string"
},
"clientId": {
"description": "Optional clientId to attribute the message to.",
"type": "string"
},
"data": {
"description": "Message payload (string; send JSON as a stringified value).",
"type": "string"
},
"name": {
"description": "Optional event name for the message.",
"type": "string"
}
},
"required": [
"channel",
"data"
],
"type": "object"
},
"name": "ably_publish_message",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"type": "object"
},
"name": "ably_whoami",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:766e27845035adac5c2ac99c7e6ca51e3b7876b0cfda7cf0b4c121bc70511c87 | sha256sum