Skip to main content
Glama
animexteam

TeleBotHost MCP Server

by animexteam

TeleBotHost MCP Server

A production-ready Model Context Protocol server for the TeleBotHost Developer API.

Runs locally via stdio — exposes 48 tools covering 100% of the TeleBotHost Developer API (47/47 endpoints) to any MCP-compatible AI client (Claude Desktop, Cursor, Continue, Cline, etc.).

MCP TypeScript Node.js Coverage Tools License: MIT Runtime: stdio


⚠️ Important: Why Local stdio (Not Cloud Hosted)

The TeleBotHost API is protected by Cloudflare bot detection, which blocks requests from datacenter IPs. This means:

Platform

Works?

Why

Local stdio (your machine)

Yes

Uses your residential IP — Cloudflare allows it

Vercel

❌ No

Datacenter IP → Cloudflare 403 challenge

Render

❌ No

AWS datacenter IP → Cloudflare 403 challenge

Railway

❌ No

Datacenter IP → Cloudflare 403 challenge

Fly.io

❌ No

Datacenter IP → Cloudflare 403 challenge

Self-hosted (home server)

✅ Yes

Residential IP

This is why the server runs locally via stdio — the standard MCP deployment pattern. Your AI client (Claude Desktop, Cursor) launches the server as a subprocess, and it makes API requests from your IP.

💡 Advanced: An HTTP server mode (server.ts) is included for self-hosting on residential connections. See HTTP Server Mode below.


Related MCP server: Telegram MCP Server

✨ Features

  • 🔧 48 Tools100% coverage of the TeleBotHost Developer API (47/47 endpoints + 1 quota helper)

  • 🏠 Runs Locally — stdio transport, uses your residential IP, no Cloudflare issues

  • 🔐 Secure — API key in env var (set in client config), never transmitted over network

  • ⚡ Resilient — Automatic 429 retry with exponential backoff, rate-limit header tracking

  • 📦 Binary-Safe — Base64-encoded ZIP download/upload for download_bot and import_bot

  • 🛡️ Safe by Design — Broadcast tool requires explicit confirm: true flag

  • 🧪 Tested — Compliance test suite verifies MCP spec adherence

  • 🎯 Type-Safe — Strict TypeScript throughout, clean compile

  • 📦 Zero-Config Install — Just npx telebothost-mcp or npx github:sahilxteam/telebothost-mcp


🚀 Quick Start

1. Get your TeleBotHost API key

  1. Log in to TeleBotHost

  2. Go to Developer SettingsAPI Keys

  3. Generate a key:

    • sk_*Secret key (full write access) — keep private

    • pub_*Public key (read-only) — safe for client-side

2. Add to your AI client

Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "telebothost": {
      "command": "npx",
      "args": ["-y", "github:sahilxteam/telebothost-mcp"],
      "env": {
        "TELEBOTHOST_API_KEY": "sk_your_key_here"
      }
    }
  }
}

Note: Replace github:sahilxteam/telebothost-mcp with telebothost-mcp once published to npm.

Cursor

Settings → MCP → Add Server:

{
  "mcpServers": {
    "telebothost": {
      "command": "npx",
      "args": ["-y", "github:sahilxteam/telebothost-mcp"],
      "env": {
        "TELEBOTHOST_API_KEY": "sk_your_key_here"
      }
    }
  }
}

VS Code (with Cline / Continue)

Add to your MCP settings:

{
  "mcp.servers": {
    "telebothost": {
      "command": "npx",
      "args": ["-y", "github:sahilxteam/telebothost-mcp"],
      "env": {
        "TELEBOTHOST_API_KEY": "sk_your_key_here"
      }
    }
  }
}

3. Restart & use

Restart your AI client. Try prompts like:

  • "List my TeleBotHost bots"

  • "Create a new command called /start on bot 12345"

  • "Browse the community store and show me the top 5 bots"

  • "What's my current API quota?"


📦 Alternative: Local Clone

If you prefer to clone the repo (for development or customization):

git clone https://github.com/sahilxteam/telebothost-mcp.git
cd telebothost-mcp
npm install

Then in your client config, point to the local clone:

{
  "mcpServers": {
    "telebothost": {
      "command": "node",
      "args": ["--import", "tsx", "/absolute/path/to/telebothost-mcp/bin/mcp.ts"],
      "env": {
        "TELEBOTHOST_API_KEY": "sk_your_key_here"
      }
    }
  }
}

🛠️ Available Tools (48)

🩺 Health (1)

Tool

Description

get_status

API health & version probe

🌐 Public Discovery (8) — no auth required

Tool

Description

get_public_user

Get a user's public profile

list_public_user_bots

List a user's published bots & templates

get_public_user_bot

Get a published bot by Telegram username

get_public_user_bot_readme

Get published bot README only

list_templates

Browse shareable bot templates

get_template

Get a template by ID

get_template_readme

Get template README

list_public_store_bots

Browse community store (public)

get_public_store_bot

Get a store listing (public)

🤖 Bot Lifecycle (20) — sk_* key required for writes

Tool

Description

list_bots

List your bots + statistics

register_bot

Register a new bot

delete_bots

Soft-delete bots (10-day backup)

list_deleted_bots

List soft-deleted bots

recover_deleted_bot

Recover a soft-deleted bot

purge_deleted_bot

Permanently delete from backup

pin_bots

Pin / unpin bots

get_bot

Get single bot details

update_bot

Update bot config

export_bot

Generate temp JWT download URL

download_bot

Download bot ZIP (base64-encoded binary)

import_bot

Import bot from base64-encoded ZIP

clone_bot

Clone a bot or template

clone_bot_as_child

Clone as child (inherits env/commands)

list_bot_children

List child bots of a parent

transfer_bot

Transfer bot to another user

reset_bot

Reset logs & sessions

toggle_bot_template

Toggle template status

get_bot_readme

Get bot README (owner)

update_bot_readme

Update README (template only)

💾 Bot Storage (4)

Tool

Description

get_bot_storage_stats

Sync/async storage size & metrics

get_bot_storage_keys

List storage keys (no values)

clear_bot_storage

Clear all storage (irreversible)

migrate_bot_storage

Migrate sync → async storage

📢 Broadcasts (6)

Tool

Description

start_broadcast

Start a broadcast (confirm=true required)

get_broadcast_stats

Real-time broadcast progress

stop_broadcast

Stop an active broadcast

modify_broadcast

Modify message body mid-run

delete_broadcast

Delete broadcast history record

list_broadcasts

List broadcasts for a bot

⚡ Commands (5)

Tool

Description

list_commands

List commands & folders

create_command

Create a new command

delete_commands

Batch delete commands

list_deleted_commands

List soft-deleted commands (7-day recovery)

recover_deleted_command

Recover a deleted command

🛍️ Community Store (2)

Tool

Description

list_store_bots

Browse store (authenticated)

install_store_bot

Install a store bot

📊 Quota (1)

Tool

Description

get_quota

Check daily / per-minute / monthly limits


🔌 MCP Protocol

This server implements the Model Context Protocol stdio transport — the standard for local AI client integration.

JSON-RPC 2.0 Methods Supported

Method

Behavior

initialize

Returns protocolVersion: 2024-11-05, server capabilities, and server info

notifications/initialized

Acknowledged (no response)

ping

Returns empty {result: {}} — health check

tools/list

Returns all 48 tool definitions (name, description, inputSchema)

tools/call

Executes a tool by name with arguments; returns {content, isError}

Stdio Design

  • The AI client launches the server as a subprocess

  • Client writes JSON-RPC requests to the server's stdin

  • Server writes JSON-RPC responses to stdout

  • Server writes logs/diagnostics to stderr

  • Single-user, single-session — no auth headers needed

  • API key read from TELEBOTHOST_API_KEY env var (set in client config)


🚨 Error Handling

Layer 1: Protocol Errors (JSON-RPC)

Code

Meaning

When

-32700

Parse error

Invalid JSON in request

-32600

Invalid Request

Missing jsonrpc: "2.0" or method

-32601

Method not found

Unknown JSON-RPC method

-32602

Invalid params

Unknown tool name

-32603

Internal error

Unexpected exception

Layer 2: Tool Errors (MCP isError)

When the upstream TBH API returns an error, the response includes isError: true:

{
  "content": [{
    "type": "text",
    "text": "TeleBotHost API error 429: Rate limit exceeded. Retry after 60s."
  }],
  "isError": true
}

Layer 3: Automatic Retry

HTTP 429 responses from the TBH API are automatically retried up to 3 times with exponential backoff (2s, 4s, 8s).

Layer 4: Cloudflare Detection

If you accidentally run in a datacenter environment, the client detects Cloudflare challenge responses (HTTP 403 + cf_chl in body) and returns a clear error message instead of the raw HTML challenge page.


🧪 Testing

Compliance Test Suite

# Test the stdio server
npm test

# Or test an HTTP deployment (advanced)
MCP_URL=http://localhost:3000/api/mcp bash scripts/test-mcp.sh

What it verifies:

  1. initialize handshake returns correct protocol version & server info

  2. ping returns a result

  3. tools/list returns exactly 48 tools

  4. All tools have name + description + inputSchema

  5. All tools use clean names (no telebothost_ prefix)

  6. tools/call rejects unknown tools with error -32602

  7. All required tools are present (10 critical tools checked)

Manual Smoke Test

# Test stdio directly
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}' | \
  TELEBOTHOST_API_KEY=sk_your_key node --import tsx bin/mcp.ts

📊 API Coverage

This MCP server covers 100% of the TeleBotHost Developer API — every endpoint in the OpenAPI 3.0.3 spec is mapped to a tool.

Group

Endpoints

Tools

Coverage

Health

1

1

✅ 100%

Public Discovery

9

9

✅ 100%

Bot Lifecycle

20

20

✅ 100%

Bot Storage

4

4

✅ 100%

Broadcasts

6

6

✅ 100%

Commands

5

5

✅ 100%

Community Store

2

2

✅ 100%

Quota (helper)

1

N/A (reuses GET /bot)

Total

47

48

✅ 100%

Binary Endpoints

Two endpoints involve binary data (ZIP files), handled via base64 encoding:

Endpoint

Tool

Approach

GET /bot/download

download_bot

Downloads ZIP as ArrayBuffer, returns base64-encoded string with metadata

POST /bot/import

import_bot

Accepts base64-encoded ZIP, decodes to Uint8Array, uploads as multipart/form-data


🔧 Environment Variables

Variable

Required

Description

TELEBOTHOST_API_KEY

Yes

TeleBotHost Developer API key (sk_* for write, pub_* for read-only). Set in your MCP client config's env field.

TELEBOTHOST_API_BASE

No

Override API base URL (default: https://api.telebothost.com/api/v1)

In stdio mode, there is no MCP_AUTH_TOKEN — the server is single-user and access is controlled by your local machine.


⏱️ Rate Limits

The TeleBotHost API enforces plan-based limits. This MCP server automatically retries on HTTP 429 with exponential backoff.

Plan

Daily

Per-min

Monthly

FREE / FREEMIUM

1,000

15

15,000

PREMIUM

5,000

60

75,000

ELITE

10,000

120

150,000

pub_* keys are always capped at 1,000/day, 15/min, 15,000/month regardless of plan.

Use get_quota to check remaining quota at any time.


💻 HTTP Server Mode (Optional)

⚠️ Only works on residential IPs. Cloud hosting (Vercel/Render/Railway/Fly) will be blocked by Cloudflare.

For self-hosting on a home server or VPS with residential IP, an HTTP server mode is included:

# Install
git clone https://github.com/sahilxteam/telebothost-mcp.git
cd telebothost-mcp
npm install

# Set env vars
export TELEBOTHOST_API_KEY=sk_your_key_here
# Optional: export MCP_AUTH_TOKEN=your-mcp-access-token

# Start HTTP server on port 3000
npm run serve:http

HTTP Endpoints

Method

Path

Description

GET

/

Documentation page (HTML)

GET

/docs

Alias for /

GET

/api/health

JSON health probe

POST

/api/mcp

MCP JSON-RPC endpoint

HTTP Auth (Two Layers)

Layer

Header

Purpose

MCP access control

Authorization: Bearer <MCP_AUTH_TOKEN>

Restrict WHO can call your MCP

TeleBotHost API auth

X-Tbh-Api-Key: <sk_*>

Per-user TBH API key (forwarded to TBH)


📁 Project Structure

telebothost-mcp/
├── bin/
│   ├── mcp.js              # Entry point shim (loads tsx, runs mcp.ts)
│   └── mcp.ts              # stdio MCP server (primary entry point)
├── lib/
│   ├── types.ts            # Shared types & TbhApiError
│   ├── client.ts           # TeleBotHost API client (auth, retry, binary, errors)
│   ├── tools.ts            # All 48 MCP tool definitions
│   └── docs.ts             # HTML docs page generator (for HTTP mode)
├── scripts/
│   └── test-mcp.sh         # Compliance test suite
├── server.ts               # HTTP server (optional, self-hosting only)
├── render.yaml             # Render.com Blueprint (with Cloudflare warning)
├── .env.example            # Environment variable template
├── .nvmrc                  # Node version pin
├── package.json            # bin field → ./bin/mcp.js
├── tsconfig.json
├── LICENSE
├── CONTRIBUTING.md
└── README.md

💻 Local Development

# Install deps
npm install

# Set env var
cp .env.example .env
# Edit .env with your TELEBOTHOST_API_KEY

# Run stdio server (primary mode)
npm start

# Run HTTP server (advanced, for testing docs page)
npm run serve:http
# → http://localhost:3000

# Type-check
npm run typecheck

# Run compliance tests
npm test

🗺️ Roadmap

  • v1.0.0 — Initial release: 46 tools, Vercel deployment

  • v1.1.0 — Cleaner tool names (dropped telebothost_ prefix)

  • v1.2.0 — 100% API coverage: added download_bot & import_bot, compliance test suite

  • v1.3.0 — Per-request API key via X-Tbh-Api-Key header (HTTP mode)

  • v1.4.0Pivot to stdio (local run) — removed Vercel/Render as primary options due to Cloudflare bot detection blocking datacenter IPs

  • v1.5.0 — Publish to npm, Docker support, GitHub Actions CI

  • v2.0.0 — Cloudflare Workers transport (whitelisted by Cloudflare)


🤝 Contributing

Contributions welcome! See CONTRIBUTING.md for setup, conventions, and PR guidelines.


📄 License

MIT © Cyber X



Built with ❤️ for the TeleBotHost community

Available Tools

48 tools
clear_bot_storageA

Permanently delete all sync and async props for the bot and its user props. Irreversible. Requires sk_* key.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description fully carries the burden, disclosing irreversibility, key requirement, and what is deleted (sync, async, user props). No contradictions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, front-loaded with action and constraints. Every part is essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, no output schema, and destructive nature, the description adequately covers key aspects. Could mention return value or confirmation, but not required. Slightly above adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Only one parameter (botid) with schema coverage 100%. The description adds no extra meaning beyond the schema's 'The numeric bot ID.' Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (delete), the resource (bot storage props: sync, async, user props), and key constraints (irreversible, requires sk_* key). It distinguishes from siblings like get_bot_storage_keys and migrate_bot_storage by emphasizing permanent deletion.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies caution (irreversible, key required) but does not explicitly state when to use versus alternatives like migrate_bot_storage or delete_bots. No direct guidance on context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

clone_botA

Clone an owned bot or a public template bot under your account. Subject to cloning rate limits (1/sec, 5/min, 20/hr). Requires sk_* key.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID to clone.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses rate limits (1/sec, 5/min, 20/hr) and required key type (sk_*), which add behavioral context beyond the input schema. No annotation contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with purpose followed by constraints. No extraneous text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple single-parameter tool with no output schema, description covers purpose, constraints, and key requirement. Could mention cloning behavior (e.g., new bot ID) but sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (botid described in schema). Description adds no extra meaning beyond schema; 'numeric bot ID' is redundant.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Clone an owned bot or a public template bot') and distinguishes from sibling 'clone_bot_as_child' by specifying 'under your account'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides context on when to use (for owned bots or public templates) and mentions rate limits, but no explicit when-not or alternatives beyond the sibling name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

clone_bot_as_childA

Clone a bot as a child bot. Child bots dynamically inherit environment variables and commands/folders from the parent without copying. Requires sk_* key. Subject to cloning rate limits.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric parent bot ID.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description adds value by disclosing dynamic inheritance, auth key requirement, and rate limits. Missing returns info but sufficient for a simple clone operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise sentences with the action front-loaded. Every sentence adds essential information without any filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description covers purpose, behavior, and constraints. Slightly incomplete on return value, but adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already describes botid as 'The numeric parent bot ID.' Description adds no additional meaning beyond this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Clone' and the specific resource 'a bot as a child bot', distinguishing it from the sibling 'clone_bot' which likely performs a full copy.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions requirements (sk_* key) and rate limits, and the child bot nature implies when to use over clone_bot. Could be more explicit about when not to use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_commandA

Create a new bot command. Subject to creation rate limits (10/sec, 30/min, 200/hr) and bot capacity cap (1000 commands, 10MB total).

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNoJavaScript code (max 100K chars).
nameYesCommand trigger, e.g. /start
botidYesThe numeric bot ID.
answerNoStatic reply text (max 10K chars).
folderNoOptional folder name (must exist).
is_webNo
aliasesNoAlternative triggers.
keyboardNoKeyboard identifier, e.g. main_menu
need_replyNo
parse_modeNoTelegram parse mode: Markdown, HTML, etc.
allow_only_groupNo

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description partially covers behavioral aspects: it discloses rate limits and capacity caps. However, it does not mention authorization requirements, whether the operation is reversible, or what happens on failure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loading the core purpose and then providing constraints. It is concise without wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters and no output schema, the description could include what the tool returns (e.g., the created command). It covers creation constraints but misses return value information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 73% and the description adds no additional meaning to parameters beyond what the schema provides. The description is generic, so it does not improve parameter understanding.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Create a new bot command' clearly states the verb (create) and resource (bot command). It is distinct from siblings like delete_commands, list_commands, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions rate limits and capacity caps, giving constraints for usage. However, it provides no explicit guidance on when to use this tool versus alternatives or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_botsA

Soft-delete one or more bots (moved to 10-day backup during which they can be recovered). Requires sk_* key.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesA single bot ID or an array of bot IDs to delete.

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses that deletion is reversible with a 10-day backup and requires a specific key. However, it does not mention any side effects (e.g., impact on dependent resources like commands or storage) or what happens if the key is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence conveys all essential information without superfluous words. It is front-loaded with the action and key constraint.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a deletion tool with one parameter and no output schema, the description covers the core behavior (soft-delete, recovery window, key requirement). However, it lacks details on the response format or any side effects on associated resources, leaving some ambiguity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a clear description for the only parameter (ids). The tool description adds minimal extra meaning beyond stating it can take a single ID or array. The parameter is simple, so this is adequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (soft-delete) and the resource (one or more bots), and distinguishes it from permanent deletion or recovery by mentioning the 10-day backup window. Sibling tools like purge_deleted_bot and recover_deleted_bot are clearly different.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly requires an sk_* key, which is a necessary prerequisite. It implies the tool is for soft-deletion with recovery options, but does not explicitly state when not to use it or name alternatives like purge_deleted_bot for permanent deletion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_broadcastC

Delete a completed or stopped broadcast tracking record and clean Redis keys.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYes
broadcastIdYes

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Since no annotations are provided, the description carries the full burden. It indicates a destructive action ('delete' and 'clean Redis keys') but does not disclose reversibility, scope of cleanup, or behavior if the broadcast is active or already deleted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no wasted words. Front-loaded with the key action. However, it could benefit from a brief note on required state.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and minimal parameter information, the description is insufficient for a destructive tool. It lacks details on error conditions, idempotency, and what 'clean Redis keys' entails. Sibling tools suggest related operations but no differentiation is provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does not explain the meaning or source of 'botid' or 'broadcastId' beyond the parameter names. No additional semantics are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (delete) and the resource (broadcast tracking record) with an additional detail about cleaning Redis keys. It distinguishes from siblings like stop_broadcast and modify_broadcast by specifying 'completed or stopped' broadcasts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use or when not to use this tool vs alternatives. It does not mention that broadcasts must be completed or stopped before deletion, nor does it exclude active broadcasts. No context about prerequisites or side effects.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_commandsB

Delete one or more commands from a bot in a single batch operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesArray of command database IDs to delete.
botidYesThe numeric bot ID.

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears full responsibility for behavioral disclosure. It confirms the deletion action but does not specify if deletion is permanent, what happens on partial success, or any side effects. The presence of 'recover_deleted_command' implies soft deletion, but this is not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-formed sentence that conveys the essential action and scope. No unnecessary words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a deletion tool with no output schema or annotations, the description could be more complete by mentioning return behavior, error states, or reversibility. It covers the basic purpose but lacks operational context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for both parameters, so the schema already documents their purpose. The description adds the 'batch' nuance but does not provide additional formatting or usage constraints beyond what the schema offers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'delete', the resource 'commands from a bot', and specifies 'one or more in a single batch operation'. It effectively distinguishes from sibling tools like 'delete_bots' and 'delete_broadcast' by specifying the target resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention when to batch delete vs single delete, or that deletion might be reversible (given sibling 'recover_deleted_command'). Prerequisites or limitations are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

download_botA

Download a bot configuration ZIP package (bot.yaml, .env, commands/) using a temporary JWT token from export_bot. Returns the ZIP as base64-encoded binary. Save the base64 field to a file and decode it to get the ZIP. No API key required (uses JWT).

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesThe temporary download JWT token (from export_bot response).
filenameNoOptional filename to include in the response metadata.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description provides good transparency: it discloses the output format (base64-encoded ZIP), instructs how to process the result (save and decode), and notes authentication (JWT). It could mention potential issues like token expiration, but covers key behaviors.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences: first states purpose and contents, second explains return format, third gives usage instructions. No unnecessary words, information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple download tool with no output schema, the description covers input, process, and output handling. It does not cover error scenarios (e.g., expired token) but is sufficient for typical usage given the sibling tools and context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Both parameters are described in the input schema (100% coverage). The description reinforces that 'token' comes from export_bot and 'filename' is for metadata, but adds no new meaning beyond the schema descriptions themselves.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool downloads a bot configuration ZIP package, specifies contents (bot.yaml, .env, commands/), and mentions prerequisite token from export_bot. It distinguishes from siblings by explicitly referencing export_bot as a prerequisite, clarifying its role in a two-step process.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description specifies when to use this tool (after obtaining a token from export_bot) and notes authentication method (JWT, no API key). It does not explicitly state when not to use it or list alternatives, but the prerequisite guidance is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

export_botA

Generate a temporary JWT token and download URL for exporting a bot configuration as ZIP (bot.yaml, .env, commands/). The URL is time-limited. Use download_bot with the returned token to fetch the actual ZIP.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It discloses that the token/URL are temporary and time-limited. However, it does not state whether the operation is read-only or if it modifies the bot (though export generally doesn't), nor does it mention authorization needs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action verb 'Generate.' No redundant words; every sentence adds necessary information including the ZIP contents and the follow-up tool usage.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with one parameter and no output schema, the description adequately explains the purpose, output (token and URL), and next step. It could be improved by specifying the output format or validity duration explicitly, but the reference to download_bot fills the gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with a single parameter 'botid' described as 'The numeric bot ID.' The description adds value by explaining that this parameter identifies the bot to export and what the export contains, giving context beyond the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool generates a temporary JWT token and download URL for exporting a bot configuration as a ZIP file, specifying the exact contents (bot.yaml, .env, commands/). It distinguishes itself from sibling tool download_bot by describing the sequential workflow.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly tells the agent to use download_bot with the returned token to fetch the actual ZIP, providing clear sequential guidance. It also notes the time-limited nature of the URL, setting proper expectations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_botB

Get detailed profile of a specific bot by ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, auth requirements, or error handling. The name 'get' hints at read-only, but the description adds minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no wasted words. It is front-loaded and immediately communicates the core function.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one parameter and no output schema, the description provides the basic function but lacks details on what 'detailed profile' includes or any expected response structure, leaving some gaps for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% (one parameter with description), but the tool description ('by ID') adds no meaningful information beyond the schema. It does not explain format, constraints, or relationship to other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'detailed profile of a specific bot', and the method 'by ID', distinguishing it from sibling tools like list_bots and get_bot_readme.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use for retrieving a single bot by ID but does not explicitly state when to use this tool vs alternatives like list_bots or get_bot_readme.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bot_readmeA

Get the description and README markdown for a bot (owner-only).

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description only states it retrieves data with no side effects or constraints beyond ownership. Adequate for a simple read operation but could detail auth requirements or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, well-structured sentence that conveys purpose and restriction without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read operation with one parameter and no output schema, the description is adequate. Could mention that README is in markdown format, but not essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with clear descriptions. The tool description adds no additional context beyond the schema for the single parameter 'botid'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('Get'), resource ('description and README markdown for a bot'), and a key restriction ('owner-only'). It distinguishes from sibling tools like get_public_user_bot_readme.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'owner-only' qualifier implies usage context, but explicit guidance on when to use this vs. alternatives (e.g., get_public_user_bot_readme) is lacking.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bot_storage_keysA

List bot storage keys (without values) for sync and async storage.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.
refreshNoBypass cache if true.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It indicates a read-only list operation (no values returned) and mentions both storage types. However, it does not address caching, rate limits, or the effect of the refresh parameter beyond what the schema states.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that conveys the core functionality with zero wasted words. It is appropriately front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with complete schema coverage, the description effectively states what is returned (keys without values). However, since there is no output schema, it could be more explicit about the return format (e.g., list of strings). Still, it is largely sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents both parameters. The description adds no additional meaning or context to them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'List' and resource 'bot storage keys', explicitly states it returns keys without values, and names both sync and async storage, clearly distinguishing it from similar tools like get_bot_storage_stats or clear_bot_storage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like get_bot_storage_stats or clear_bot_storage. The description does not mention any prerequisites, exclusions, or typical use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bot_storage_statsA

Get sync and async storage size and key metrics for a bot and its users.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.
refreshNoBypass cache if true.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It implies a read-only operation but doesn't explicitly state non-destructiveness, auth requirements, rate limits, or caching behavior beyond what the `refresh` parameter suggests. Adequate but not comprehensive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence that is front-loaded with the action and resource. No redundant or extraneous information; every word contributes meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should hint at return structure. It mentions 'size and key metrics' but does not specify format or fields. Could be improved with clarification of what 'key metrics' entails.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema's parameter descriptions (bot ID is numeric, refresh bypasses cache). No additional context provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly specifies the action ('Get'), resource ('sync and async storage size and key metrics'), and scope ('for a bot and its users'). It distinguishes from siblings like `get_bot_storage_keys` which retrieves keys rather than metrics.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus related storage siblings such as `clear_bot_storage`, `migrate_bot_storage`, or `get_bot_storage_keys`. No explicit context or exclusion criteria provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_broadcast_statsB

Get real-time progress metrics and status of a broadcast job.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYes
broadcastIdYesThe broadcast job ID.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears the full burden. It implies a read operation ('Get') but does not explicitly state that it is non-destructive, safe for repeated calls, or any required permissions. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no fluff. Front-loaded with the action and resource. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description should explain the return value in more detail. 'Progress metrics and status' is vague. Also, the description doesn't mention that the stats are for a specific broadcast identified by botid and broadcastId.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (only broadcastId has a description). The tool description does not add any parameter meaning; it doesn't explain what botid is. Should at least clarify that botid is the bot identifier.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'broadcast job', and what it returns ('real-time progress metrics and status'), distinguishing it from siblings like list_broadcasts, start_broadcast, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. For example, it doesn't specify that this should be used after starting a broadcast to monitor progress, nor does it mention related tools like list_broadcasts for listing all jobs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_public_store_botA

Get one community store listing by its store meta ID. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
botMetaIdYesThe store listing _id.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses that no authentication is required, but does not mention other behavioral aspects like rate limits, data freshness, error handling (e.g., when ID not found), or return format. Given no annotations, description carries moderate burden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short sentence, front-loaded with purpose, no superfluous content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple get-by-id tool with one parameter, but lacks mention of return value shape since no output schema is provided. Could be slightly more comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3 applies. Description does not add meaning beyond the schema's 'The store listing _id.' for the single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves one community store listing by its store meta ID, with verb 'Get' and specific resource. It distinguishes from sibling 'list_public_store_bots' which retrieves multiple listings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when to use vs alternatives. The phrase 'No authentication required' implies public access, but does not specify when to prefer this over other get tools like 'get_public_user_bot' or 'get_bot'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_public_userA

Get a user's public profile (fullname, username, location, bio, avatar). No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesThe user's public username.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, but the description discloses that the tool requires no authentication, which is a key behavioral trait. It lists the returned fields but does not mention error handling, rate limits, or what happens if the username does not exist.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and front-loaded with the core purpose. Every word adds value, and there is no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with one parameter and no output schema. The description lists the expected return fields, which compensates for the missing output schema. It provides sufficient context for an agent to understand the tool's functionality, though error scenarios are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with one parameter ('username') having a description. The tool description adds context that it is a public profile, but does not significantly enhance the parameter's meaning beyond the schema. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'get' and resource 'user's public profile' with a list of fields (fullname, username, location, bio, avatar). It distinguishes from siblings like 'get_public_user_bot' by focusing on the user profile itself, but does not explicitly differentiate from other user-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'No authentication required,' providing a clear usage context. However, it does not explicitly state when to prefer this over sibling tools like 'get_public_user_bot' or mention any prerequisites or restrictions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_public_user_botA

Get full details for one published bot by its Telegram username. Includes description, README, commands, and env placeholders. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYesThe owner's username.
botUsernameYesTelegram bot username without @.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Discloses that no auth is needed but does not mention other behavioral traits (e.g., idempotency, rate limits, side effects). Adequately describes it as a read operation but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two efficient sentences with no wasted words. Front-loaded with core purpose and deliverables, followed by authentication note. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, description adequately explains return content. However, it does not specify the format (e.g., single object) or mention pagination/limitations, leaving some ambiguity. Still strong for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. Description adds minor clarification ('without @' for botUsername) but essentially repeats schema. No additional meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States specific verb 'Get', resource 'published bot', and lists included fields (description, README, commands, env placeholders). Clearly distinguishes from siblings like get_public_user_bot_readme and get_public_store_bot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly notes 'No authentication required', clarifying usage context. However, does not provide explicit when-to-use vs alternatives or exclusions, leaving it implied by the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_public_user_bot_readmeA

Get only the description and README markdown for a published bot. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
usernameYes
botUsernameYesTelegram bot username without @.

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the read-only nature and auth requirement, but lacks details on error behavior, rate limits, or response format. Adequate for a simple public read, but basic.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences contain all essential information with no redundancy. Extremely efficient for the information conveyed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple public read tool with 2 params and no output schema, the description covers core behavior and auth. However, it omits error scenarios and does not leverage sibling context to differentiate itself more clearly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema describes botUsername but not username. The tool description adds no parameter clarification, leaving the relationship between username and botUsername ambiguous. Schema coverage is 50%, and description does not compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it retrieves 'description and README markdown for a published bot' and notes 'No authentication required,' making it distinct from sibling tools like get_bot_readme (likely auth-required) and get_public_user_bot (full info).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides a key usage condition ('No authentication required') but does not explicitly state when to use this tool versus alternatives like get_bot_readme or get_public_user_bot. More explicit guidance would improve selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_quotaA

Check your current rate-limit quota (daily, per-minute, monthly). Makes a lightweight GET /bot call and returns the X-RateLimit-* headers from the response.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It fully discloses the HTTP method (GET), the endpoint (/bot), and the return format (X-RateLimit-* headers), leaving no ambiguity about the tool's behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, zero fluff. Every word serves a purpose: identifying the resource, specifying granularity, describing the call, and stating the output. Efficient and front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 0 parameters and no output schema, the description is complete. It explains both the input (none needed) and the output (header interpretation), covering all necessary context for correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so baseline is 4. The description adds additional meaning by explaining what is returned, which is valuable beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Check' and the resource 'rate-limit quota' with specific granularity (daily, per-minute, monthly). It distinguishes itself from all sibling tools, none of which mention quotas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly defines when to use (to check quota) and provides context with 'lightweight GET /bot call'. It does not explicitly state when not to use or name alternatives, but the purpose is unique among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_statusA

Get TeleBotHost API health and status. Returns version, health status, and active environment. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description fully carries the burden. It discloses that no authentication is needed and specifies the return fields (version, health status, active environment). There are no side effects, and the read-only nature is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with two sentences, no unnecessary words, and delivers all essential information upfront.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (no parameters, no output schema), the description is complete. It covers purpose, output fields, and authentication requirement. No additional context is needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100%. The description adds full meaning by explaining what the tool returns. Baseline score of 4 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves API health and status, including version, health status, and active environment. It uses a specific verb and resource, and is easily distinguishable from siblings which focus on bots, storage, or broadcasts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'No authentication required,' which guides when to use it (anyone can call it). However, it does not provide explicit when-not-to-use guidance or alternatives, though given its uniqueness among siblings, this is acceptable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_templateA

Get one shareable bot template by ID, including description, README, commands, and env placeholders. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that no authentication is required, which is an important behavioral trait. However, it does not mention error behavior (e.g., invalid botid), rate limits, or that the tool is read-only. With no annotations, more behavioral context would be beneficial.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the main purpose and return contents, followed by the critical auth trait. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple retrieval tool with one parameter and no output schema, the description adequately explains the return structure and auth requirement. It could mention error handling or that the ID must be valid, but overall it is fairly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides 100% coverage with a description for botid. The description adds no additional meaning beyond stating 'by ID', which is already implied by the action. Baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (get), the resource (shareable bot template), and specific contents (description, README, commands, env placeholders). It distinguishes from siblings like get_template_readme (which gets only the readme) and list_templates (which lists templates).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing a full template by ID, but does not explicitly state when to use this tool over alternatives (e.g., get_template_readme) or when not to use it. No when-not or alternative names are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_template_readmeA

Get the public description and README markdown for a template bot. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It correctly indicates a read operation and public access, but lacks details on error behavior, rate limits, or constraints (e.g., botid must exist and be a template).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence, no redundancy, perfectly front-loaded with the action and key details.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with one parameter and no output schema, the description is mostly complete: it specifies what is returned and the auth requirement. It could mention the return format (e.g., 'Returns a string') but this is implied.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond the schema's 'The numeric bot ID.'

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Get', the resource 'public description and README markdown for a template bot', and specifies it's public. It is distinct from sibling tools like get_bot_readme and get_public_user_bot_readme by focusing on template bots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides the context that no authentication is required and that it is for a template bot. However, it does not explicitly differentiate from similar tools or state when not to use it, leaving some ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

import_botA

Import a bot from a ZIP package. The ZIP must contain bot.yaml, .env, and commands/ directory (same structure as exported by export_bot/download_bot). Provide the ZIP as base64-encoded string. Requires sk_* key. Subject to plan-based creation rate limits (e.g. 1 request per 5 min on FREE).

ParametersJSON Schema
NameRequiredDescriptionDefault
base64YesBase64-encoded ZIP file content (the bot configuration package).
filenameNoFilename for the upload (default: bot-import.zip).bot-import.zip

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description fully shoulders transparency. Discloses required file format, encoding method, authentication key, and plan-based rate limits. No omissions noted.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two focused sentences. First sentence states core purpose, second sentence details requirements and constraints. No extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, so description should hint at return value or success/failure indication. It does not, leaving a gap for a creation tool. Otherwise, covers input and constraints well.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 100%, but description adds value: clarifies base64 is 'the bot configuration package' and states the filename default. Goes beyond schema repetition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb 'import' and resource 'bot from a ZIP package'. Explicitly references sibling tools (export_bot/download_bot) for context on the expected ZIP structure, distinguishing it from other bot-related tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States prerequisites (ZIP structure, base64 encoding, sk_* key, rate limits). Does not include when not to use or explicit alternatives, but the context is clear and covers usage constraints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

install_store_botA

Install a community store bot into your account. Environment values are cleared and must be configured after install. Subject to store install rate limits (1/sec, 5/min, 20/hr). Requires sk_* key.

ParametersJSON Schema
NameRequiredDescriptionDefault
botMetaIdYesThe store listing _id from the list endpoint.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Given no annotations, the description discloses side effects (env cleared), rate limits, and authentication, which is good coverage for an install action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three concise, front-loaded sentences with no redundancy, each sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool, the description covers action, prerequisites, side effects, and constraints, making it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description does not add extra meaning beyond what the schema already provides for the single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (install) and resource (community store bot), distinguishing it from sibling tools like clone_bot or import_bot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It provides important context: environment values are cleared, rate limits, and required key type. However, it does not explicitly compare to alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_bot_childrenA

List all child bots registered under the specified parent bot.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric parent bot ID.

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It does not indicate the operation is read-only, nor does it mention pagination, sorting, or side effects. The description is too sparse for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no unnecessary words. It is front-loaded and to the point.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with high schema coverage and no output schema, the description is adequate but lacks details like return format or pagination. It could be more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with the botid parameter described as 'The numeric parent bot ID.' The description adds no additional meaning beyond 'specified parent bot', which is redundant. Baseline score of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list', the resource 'child bots', and the condition 'under the specified parent bot'. It effectively distinguishes from sibling tools like list_bots and list_deleted_bots by specifying 'child bots' and requiring a parent bot ID.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when needing children of a parent bot, but does not explicitly state when to use this tool versus alternatives (e.g., list_bots for all bots). No when-not or exclusion criteria are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_botsA

List all bots belonging to the authenticated user, with statistics. Requires API key.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the burden. It mentions authentication and that results include statistics, which adds some behavioral context. However, it does not specify whether the operation is read-only or the exact output structure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. Essential information is front-loaded: action, resource, scope, and authentication.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and no output schema, the description is sufficient. It covers scope, authentication, and that statistics are included. Could optionally mention response format, but not essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so schema coverage is 100% trivially. Per rule, baseline is 4 for 0 parameters. The description does not need to add parameter info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'all bots belonging to the authenticated user, with statistics'. It distinguishes from sibling tools like list_bot_children (children of a specific bot) and list_deleted_bots (deleted bots).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context (user's own bots, requires API key) but does not explicitly state when not to use or mention alternatives. The sibling tool names imply other list operations, but no direct exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_broadcastsA

List all broadcasts queued or run for a specific bot. Optional status filter.

ParametersJSON Schema
NameRequiredDescriptionDefault
allNoSet to 'true' to retrieve broadcasts across all statuses.
botidYes
statusNoComma-separated statuses: pending,processing,completed,failed,stopped

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description is the sole source. It states the tool lists broadcasts but does not disclose pagination, rate limits, or return format. It is adequate but lacks deeper behavioral context beyond listing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence of 10 words. It is appropriately front-loaded and contains no extraneous information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple listing tool, the description covers the basic purpose and parameters. However, it lacks details about output format, pagination, or any limits, which would be helpful given the absence of an output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 67% (botid undocumented). The description adds context for botid (required) and status (optional filter) but does not explain the 'all' parameter beyond the schema. It provides minimal added meaning over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb (list), resource (broadcasts), and scope (for a specific bot, with optional status filter). It effectively distinguishes from sibling tools like delete_broadcast or get_broadcast_stats.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides when to use (listing broadcasts for a bot) but does not explicitly exclude alternative tools (e.g., get_broadcast_stats for statistics) or mention when not to use. It implies usage context but lacks direct guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_commandsB

List all commands and command folders registered for a bot.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full disclosure burden. It only restates the tool's function without revealing behavioral traits (e.g., authentication needs, scope of listing, ordering, or pagination).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence with no wasted words. It is appropriately sized but could benefit from slight structuring (e.g., separating concerns).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the absence of an output schema, the description should clarify what is returned (e.g., structure of the list). It also lacks details on pagination, sorting, or scope. The tool is a listing operation and leaves the agent guessing about the response format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single parameter ('botid') is already described as 'The numeric bot ID.' The description adds no extra semantic value beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('List'), identifies the resource ('commands and command folders'), and provides context ('registered for a bot'). It clearly distinguishes this tool from sibling tools like create_command, delete_commands, and other list tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus alternatives. It does not specify prerequisites, exclusions, or any conditions that would affect selection among the extensive sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_deleted_botsA

List all soft-deleted bots in your 10-day backup window.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It identifies the operation (read) and scope (soft-deleted, user-specific, time window) but lacks details on pagination, limits, output format, or whether results are restricted to the authenticated user.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, well-structured sentence that immediately conveys the action and scope with no redundancy. Front-loaded with verb 'List'.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description should clarify what information is returned (e.g., bot IDs, names, deletion dates). It does not, leaving the agent to infer. The 10-day window and 'your' provide some context, but completeness is average.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100% (no parameters to describe). The description adds no param info, which is acceptable per the baseline rule for parameterless tools.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists soft-deleted bots with a specific time window ('10-day backup window'), distinguishing it from sibling tools like 'list_bots' (active bots) and 'list_deleted_commands'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies use before recovery of deleted bots, but does not explicitly state when to use it or when alternatives (e.g., 'list_bots' for active bots) are better. No when-not guidance is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_deleted_commandsA

List all soft-deleted commands for a bot (recoverable for 7 days).

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses that commands are soft-deleted and recoverable for 7 days, providing useful behavioral context. However, it lacks details on return format or pagination, which is acceptable for a simple list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no waste, front-loaded with the action and core information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, no output schema, and no annotations, the description is fairly complete. It conveys the purpose and key behavioral trait (recovery window). Missing details about output structure are minor.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description adds no additional meaning to the 'botid' parameter beyond what the schema already provides ('The numeric bot ID.'). Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('List'), resource ('soft-deleted commands'), and context ('for a bot', 'recoverable for 7 days'), distinguishing it from siblings like 'list_commands' and 'recover_deleted_command'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for viewing deleted commands but does not provide explicit guidance on when to use versus alternatives like 'list_commands' or 'recover_deleted_command'. No exclusions or when-not scenarios are given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_public_store_botsA

Browse the community bot store (public). Same data as the authenticated store list but requires no login. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNoMax 50.
searchNoSearch name, description, username, or tags (2-64 chars).
categoryNo

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden but only states basic behavior (public browsing, no auth). No information on rate limits, pagination, data freshness, or other behavioral traits is provided.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and contains no redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool (list with optional params, no output schema), the description provides essential context but omits details on pagination, search, and category usage, and does not hint at the return format.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% (only limit and search have descriptions). The description does not add any parameter context beyond the schema, failing to compensate for the missing parameter information for page and category.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'browse' and the resource 'community bot store (public)'. It distinguishes from siblings by noting it's the same data as the authenticated store list but requires no login.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says 'Same data as the authenticated store list but requires no login' and 'No authentication required', providing clear context for when to use this tool over alternatives like list_store_bots.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_public_user_botsA

List a user's published bots (bot templates + community store listings). Each item includes listing_type to distinguish them. No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number (default 1).
limitNoResults per page.
usernameYesThe owner's username.
listing_typeNoFilter: bot_template (shareable blueprint) or community_store (store listing).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, description carries full burden. Clearly states no authentication needed, which is a key behavioral trait for a read-only public tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, direct and front-loaded, no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers purpose, items returned, and key behavioral note. Lacks pagination details but schema provides page/limit; no output schema needed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 100% so baseline 3. Description adds context for listing_type (distinguishes items) and enum meanings ('bot_template (shareable blueprint) or community_store (store listing)') beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Describes listing a user's published bots with types (bot templates + community store), distinguishing from sibling tools like list_public_store_bots and get_public_user_bot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States 'No authentication required', implying when to use (public access). Does not explicitly exclude use cases but provides clear context for a public read operation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_store_botsB

List bots in the community store, sorted by popularity (install count). Authenticated endpoint.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo1
limitNoResults per page (default 20, max 50).
searchNoSearch name, description, username, or tags (2-64 chars).
categoryNoFilter by store category.

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds behavioral context beyond the tool name: sorting by popularity and authentication requirement. However, it does not disclose pagination behavior, rate limits, or output structure. With no annotations, it partially fulfills transparency but lacks comprehensive detail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that conveys the essential purpose. Every word is necessary and there is no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 4 parameters and no output schema or annotations, the description is too minimal. It does not explain return format, pagination mechanics (e.g., what 'page' string means), or authentication specifics. More detail is needed for a complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 75%, with three out of four parameters described in the schema. The tool description does not add any additional meaning to parameters. The 'page' parameter lacks a schema description and is not addressed in the tool description, so the description fails to compensate for this gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and resource 'bots in the community store', and distinguishes by specifying 'sorted by popularity (install count)'. It differentiates from siblings like 'list_public_store_bots' by noting it is an authenticated endpoint.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description mentions 'authenticated endpoint' which implies context, but does not specify when not to use or compare to similar tools like 'list_public_store_bots'. Siblings suggest multiple list tools, but no differentiation is provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_templatesB

Browse shareable bot blueprints (listing_type: bot_template). No authentication required.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
searchNoSearch term for template name or description.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It only states no authentication, but omits pagination behavior (e.g., default limit, max page), read-only nature, and what the response contains. This is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no fluff. Every word adds value. It is efficiently front-loaded with the key purpose and a notable behavioral trait.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given three parameters, no output schema, and no annotations, the description is too sparse. It does not explain pagination, response format, or what constitutes a 'bot blueprint'. An agent would lack critical context to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is only 33% (only 'search' has a description). The tool description does not clarify what 'page' and 'limit' mean or their constraints. It fails to compensate for the missing parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Browse', the resource 'shareable bot blueprints', and specifies the listing type as 'bot_template'. It effectively distinguishes from sibling tools like list_bots or list_public_store_bots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions 'No authentication required', which provides some guidance, but lacks explicit when-to-use vs alternatives or when-not-to-use scenarios. It does not contrast with sibling tools like list_public_store_bots.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

migrate_bot_storageA

Migrate sync Bot.setProp data to async db.xx storage. Supports dry-run preview. Options: scope (bot|user|both), dryRun, overwrite, deleteSource.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.
scopeNoboth
dryRunNoPreview without making changes.
overwriteNo
deleteSourceNoDelete source data after migration.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses dry-run capability and the existence of options like overwrite and deleteSource, but omits side effects, permissions required, or irreversibility. It adds some context beyond the schema but not enough for a complete behavioral picture.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences: purpose, dry-run support, and option list. No wasted words, front-loaded with key action.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 5-parameter migration tool with no output schema, the description lacks detail on what 'db.xx storage' is, the migration process's effects on existing data, and expected return value. It covers the basics but leaves gaps that could confuse an AI agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description lists all parameters but does not add semantic meaning beyond the schema. Schema coverage is 60% (bowser?, overwrite undocumented). The enumeration helps but does not explain purposes or constraints like the meaning of 'scope' values or 'overwrite' behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Migrate' and identifies the specific resource transition ('sync Bot.setProp data to async db.xx storage'). It also lists key options, distinguishing it from siblings like clear_bot_storage or get_bot_storage_keys.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description does not provide explicit guidance on when to use this tool versus alternatives. It mentions dry-run preview but offers no when-not or context for choosing migration over other operations like clearing or reading storage.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

modify_broadcastA

Modify the message body for pending batches of an active broadcast mid-run.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesUpdated message body.
botidYes
broadcastIdYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It mentions 'pending batches' and 'active broadcast', implying it does not affect already sent messages. However, it does not disclose what happens to batches in flight or required preconditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, efficient sentence with no redundant words. Front-loads the action and resource clearly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, no annotations, and only 3 parameters. Description omits return values, error conditions, and prerequisites like whether the broadcast must be active. Incomplete for a tool that modifies a running broadcast mid-run.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 33% (only 'body' has a description). The description does not add semantics for 'botid' or 'broadcastId', and the existing schema description for 'body' is minimal. Description fails to compensate for low schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'Modify', the resource 'message body for pending batches of an active broadcast', and the context 'mid-run'. It distinguishes from sibling tools like 'delete_broadcast' and 'stop_broadcast' by specifying what is modified.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage context (mid-run, pending batches, active broadcast) but does not explicitly state when to use vs. alternatives like 'stop_broadcast' or 'delete_broadcast'. No when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pin_botsC

Pin or unpin one or more bots. Requires sk_* key.

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesBot ID(s) to pin/unpin.
pinYesTrue to pin, false to unpin.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears full responsibility for disclosing behavioral traits. It only specifies the authentication requirement, omitting details about reversibility, side effects, or what happens during pinning/unpinning. This leaves significant gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise: one sentence plus an authentication note. It is front-loaded with the purpose and avoids verbosity, though it could be slightly more informative without being longer.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (2 required params, no output schema), the description is minimally adequate. However, it lacks context on what pinning means (e.g., UI effect, ordering) and does not explain the return value or behavior. It meets the baseline but leaves room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema describes both parameters ('ids' and 'pin') with 100% coverage. The description adds no additional meaning beyond what the schema already provides, so a baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (pin or unpin) and the resource (bots). It uses a specific verb and resource, making the purpose evident. However, it does not explicitly differentiate from sibling tools like update_bot or delete_bots, though pinning is a distinct action.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the required authentication key (sk_*) but provides no guidance on when to use this tool versus alternatives or when not to use it. No context about prerequisites or exclusions is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

purge_deleted_botA

Permanently delete a soft-deleted bot and all associated logs, users, and session records from backup. Irreversible.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID to permanently delete.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Describes permanence ('irreversible') and lists deleted entities (bot, logs, users, session records). Could add prerequisites like bot status or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with action and scope. No redundant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given one parameter, no output schema, and no annotations, the description adequately covers purpose, scope, and irreversibility. Could mention that the bot must already be soft-deleted.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear description for 'botid' ('The numeric bot ID to permanently delete'). Description adds no extra meaning beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the action ('permanently delete'), the specific resource ('soft-deleted bot'), and includes what is affected ('all associated logs, users, and session records'). It distinguishes from siblings like 'delete_bots' and 'recover_deleted_bot'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies the bot must be soft-deleted but does not explicitly state when to use this tool versus alternatives like 'delete_bots' or 'recover_deleted_bot'. No explicit exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recover_deleted_botA

Restore a soft-deleted bot from backup. The bot is recovered with status 0 (disabled) for safety.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID to recover.

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the recovery with status 0 (disabled), which is a key behavioral trait. However, lacks details on idempotency, permissions, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no fluff. First sentence conveys action and scope, second adds critical behavioral nuance. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-param tool, the description covers the action and a key outcome. However, it doesn't explain soft-deletion, error handling, or recovery prerequisites. Could be more complete given no annotations or output schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The main description does not add additional parameter meaning beyond the schema's description of botid as 'numeric bot ID'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action 'Restore a soft-deleted bot' and includes a key behavioral detail (recovered as disabled). It distinguishes from siblings like purge_deleted_bot and list_deleted_bots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (for soft-deleted bots) but does not explicitly state when not to use or mention alternatives like purge_deleted_bot. No prerequisites or context for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

recover_deleted_commandB

Restore a soft-deleted command by its deletion record ID back into the bot's active commands.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.
deletedidYesThe ObjectId of the soft-deleted command record.

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must cover behavioral traits. It only states the action 'restore' which implies mutation, but it does not disclose potential side effects, failure conditions, permissions required, or idempotency. This leaves the agent underinformed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single 14-word sentence that delivers the core purpose concisely with no fluff. It is front-loaded and earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite low complexity and full schema coverage, the description omits the return value, success/failure indicators, and error conditions. Without an output schema, the agent lacks critical information about what happens after a restore.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description adds no additional meaning beyond what the schema already provides for 'botid' and 'deletedid'. The phrase 'by its deletion record ID' is redundant. Thus, no extra value is added.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'restore' and clearly identifies the resource 'soft-deleted command' and the context 'back into the bot's active commands'. It distinguishes from siblings like 'recover_deleted_bot' and 'delete_commands' by focusing on command recovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for restoring soft-deleted commands but does not explicitly state when to use this tool over alternatives or mention any prerequisites. No exclusions or context boundaries are provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_botA

Register a new bot under your account. Requires sk_* (write) key. Subject to plan-based creation rate limits (e.g. 1 request per 5 min on FREE).

ParametersJSON Schema
NameRequiredDescriptionDefault
run_nowNoWhether to start the bot immediately.
bot_nameNoOptional bot name. Defaults to the Telegram bot first name.
bot_tokenYesTelegram bot token from @BotFather, e.g. 123456789:ABCdef...

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses behavioral traits beyond the schema: key requirements and rate limits. No annotations are present, so no contradiction. It appropriately indicates a write operation, though it does not detail error cases like duplicate bot tokens.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: first states purpose, second provides requirements. It is front-loaded and concise with no wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a creation tool with no output schema, the description omits what the tool returns (e.g., the created bot object) and does not address potential errors like invalid tokens. However, given the low complexity, it is minimally adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning to parameters beyond what is in the schema. It mentions key and rate limits, but these are not parameter-specific.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Register a new bot under your account,' using a specific verb and resource. It clearly distinguishes from sibling tools like clone_bot, delete_bots, and update_bot, which perform different operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear prerequisites (requires sk_* write key) and constraints (plan-based rate limits, e.g., 1 request per 5 min on FREE). It does not explicitly state when not to use the tool or name alternatives, but the context of siblings makes the usage obvious.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

reset_botA

Reset bot logs, sessions, and flag all bot users as just-created. Requires sk_* key.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses destructive behavior (reset logs, sessions, flag users) and the authentication requirement. This is transparent for a reset operation, though it does not detail reversibility or side effects on other bot components.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise with two sentences. The first sentence front-loads the action, the second provides the requirement. No superfluous words or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive reset tool with no output schema, the description covers the core action and authentication. However, it omits details about the impact on other bot data (e.g., commands, broadcasts) or the exact behavior of flagging users, leaving some contextual gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single parameter (botid). The description does not add any additional information beyond what the schema already provides, so it meets the baseline without enhancement.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool resets bot logs, sessions, and flags users as just-created. This is a specific verb+resource action that distinguishes it from siblings like clear_bot_storage or delete_bots.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides the authentication requirement (sk_* key) but lacks guidance on when to use this reset vs alternative tools like clear_bot_storage or delete_bots. The description implies usage but does not explicitly state context or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

start_broadcastA

Start a broadcast job that sends a message to all bot subscribers matching the given filters. ⚠️ This sends real Telegram messages to many users — use with caution.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesMessage body sent to each subscriber.
botidYesThe numeric bot ID.
methodNoTelegram API method, e.g. sendMessage.sendMessage
confirmYesMust be true to actually send. Safety gate to prevent accidental broadcasts.
filtersNo

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description warns that it sends real Telegram messages to many users, implying side effects. However, with no annotations, more detail on auth needs, rate limits, or irreversible consequences would improve transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, one conveying purpose and one warning, with no redundant information. Efficient and appropriate length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks mention of return value (e.g., broadcast ID) and permissions, given no output schema. Adequate for basic understanding but incomplete for a complex tool with side effects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is high (80%), so the baseline is 3. The description mentions 'matching the given filters' but adds no extra meaning beyond schema definitions for filters, body, or confirm.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool starts a broadcast job sending a message to matching subscribers, using specific verbs and resource. It distinguishes from siblings like stop_broadcast and modify_broadcast.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives (e.g., modify_broadcast, stop_broadcast). The warning 'use with caution' hints at careful use but doesn't set prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stop_broadcastA

Stop an actively processing broadcast job immediately.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYes
broadcastIdYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It states the action is immediate but does not mention side effects, permissions, or state after stopping. Adequate for a simple stop action, but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, front-loaded, no wasted words. Every word is essential and the structure is clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an action with two required parameters and no output schema, the description is nearly complete. It could mention the result or behavior if the broadcast is not active, but overall it suffices.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds no parameter details. The parameter names 'botid' and 'broadcastId' are somewhat self-explanatory, but the description does not compensate for the lack of schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'stop' and the resource 'actively processing broadcast job', with the adverb 'immediately' adding precision. It distinguishes from sibling tools like 'delete_broadcast' or 'modify_broadcast'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The description implies usage when a broadcast is actively processing, but does not differentiate from 'delete_broadcast' or advise against using it on non-active jobs.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

toggle_bot_templateA

Toggle the is_template flag for a bot. Templates can be shared publicly and cloned by others.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.
is_templateYesTrue to mark as template, false to unmark.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries the burden. It explains the effect (toggling is_template) and implications (public sharing, cloning), but does not disclose any side effects, required permissions, or behavior when toggling off a template that has clones.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, directly stating the action and the key implication. No unnecessary words; front-loaded with the core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple toggle with two parameters and no output schema, the description covers the essential context. Could be improved by mentioning any restrictions or irreversible consequences, but overall adequate.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers both parameters with descriptions, and the description adds meaning to the 'is_template' parameter by explaining the consequences of marking a bot as a template (public sharing, cloning).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the action ('Toggle the is_template flag for a bot') and adds context about templates being shareable and cloneable. However, does not explicitly differentiate from sibling tools like clone_bot or list_templates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives, nor any conditions or prerequisites. The description only states what it does, not when it should be used.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transfer_botA

Transfer a bot to another user (by email or user ID). The bot is actually cloned into the target's account with blank credentials and reset env vars; the original is preserved.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.
targetYesThe target user's email or user ID.

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It explicitly discloses that the bot is cloned, credentials are blanked, env vars reset, and the original is preserved. This goes beyond the basic 'transfer' verb and provides critical behavioral insight.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the core purpose, and every sentence adds value. No unnecessary words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity and lack of output schema, the description is fairly complete. It explains the key behavioral nuance and the parameters. Minor omissions like potential side effects or prerequisites prevent a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description does not add additional meaning to the parameters beyond what is in the schema; it merely restates 'by email or user ID' which matches the parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (transfer), the resource (bot), and the target (another user by email or ID). It distinguishes this tool from siblings by explaining that the bot is actually cloned with reset credentials, while the original is preserved.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use this tool by explaining the cloning behavior, which helps distinguish it from alternative tools like 'clone_bot'. However, it does not explicitly state when not to use it or mention specific prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_botC

Update bot configuration (name, token, pin, status). Requires sk_* key.

ParametersJSON Schema
NameRequiredDescriptionDefault
pinNo
nameNo
botidYesThe numeric bot ID.
statusNo0 = disabled, 1 = enabled.
bot_tokenNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description mentions required key (behavioral constraint) but lacks details on mutability, partial vs full update, or potential side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence, no wasted words, but could benefit from structuring for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no output schema, and no annotations, the description is minimal. Missing return value, error scenarios, and update behavior details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage 40%, but description only lists 4 of 5 params without adding meaning beyond schema. No description for botid or additional semantics for pin/status beyond schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clear verb+resource: 'Update bot configuration' with listed fields (name, token, pin, status). However, no differentiation from siblings like clone_bot or reset_bot.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

States prerequisite 'Requires sk_* key' but provides no guidance on when to use vs alternatives or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_bot_readmeA

Update bot description and README markdown. Only allowed if the bot is marked as a template. Description max 500 chars, README max 50000 chars.

ParametersJSON Schema
NameRequiredDescriptionDefault
botidYesThe numeric bot ID.
readmeNoREADME markdown (max 50000 chars).
descriptionNoShort description (max 500 chars).

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It reveals max character limits but omits other behavioral traits like idempotency, failure modes, or whether updates are incremental or full replacement. Adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences front-load purpose and immediately add the critical precondition. Every word serves a purpose; no fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple update tool with no output schema and full parameter coverage, the description covers the key constraint (template requirement) and limits. It lacks details on return values or error handling but is largely sufficient for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema already describes all three parameters with max lengths, achieving 100% coverage. The description's mention of max lengths adds no new semantic value beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it updates both bot description and README markdown, using specific verbs 'Update' and naming the resources. It distinguishes from sibling 'update_bot' by specifying the template precondition, making its scope unique.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the tool can only be used if the bot is marked as a template, providing a clear when-to-use condition. It does not explicitly mention when not to use or alternative tools, but the constraint is sufficient for guided selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 48 tool updatesv1.4.0
    • First observedclear_bot_storage
    • First observedclone_bot
    • First observedclone_bot_as_child
    • First observedcreate_command
    • First observeddelete_bots
    • First observeddelete_broadcast
    • First observeddelete_commands
    • First observeddownload_bot
    • First observedexport_bot
    • First observedget_bot
    • First observedget_bot_readme
    • First observedget_bot_storage_keys
    • First observedget_bot_storage_stats
    • First observedget_broadcast_stats
    • First observedget_public_store_bot
    • First observedget_public_user
    • First observedget_public_user_bot
    • First observedget_public_user_bot_readme
    • First observedget_quota
    • First observedget_status
    • First observedget_template
    • First observedget_template_readme
    • First observedimport_bot
    • First observedinstall_store_bot
    • First observedlist_bot_children
    • First observedlist_bots
    • First observedlist_broadcasts
    • First observedlist_commands
    • First observedlist_deleted_bots
    • First observedlist_deleted_commands
    • First observedlist_public_store_bots
    • First observedlist_public_user_bots
    • First observedlist_store_bots
    • First observedlist_templates
    • First observedmigrate_bot_storage
    • First observedmodify_broadcast
    • First observedpin_bots
    • First observedpurge_deleted_bot
    • First observedrecover_deleted_bot
    • First observedrecover_deleted_command
    • First observedregister_bot
    • First observedreset_bot
    • First observedstart_broadcast
    • First observedstop_broadcast
    • First observedtoggle_bot_template
    • First observedtransfer_bot
    • First observedupdate_bot
    • First observedupdate_bot_readme

TDQS

A3.6/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, but some overlap exists (e.g., clone_bot vs. clone_bot_as_child, import_bot vs. install_store_bot). Descriptions help differentiate, but a few could cause confusion.

Naming Consistency5/5

All tools follow a consistent verb_noun snake_case pattern (e.g., list_bots, create_command). Verbs like get_, list_, delete_, update_ are used uniformly, making the set highly predictable.

Tool Count3/5

48 tools is on the high side, but the server covers a broad domain (bots, commands, broadcasts, storage, etc.). The count is borderline heavy but still justified by the scope.

Completeness4/5

The tool set covers most major operations (CRUD for bots, commands, broadcasts, storage), but lacks tools for updating commands or modifying storage values directly (only clear/migrate). Minor gaps.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/animexteam/telebothost-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server