Webex Bot MCP
Enables automated messaging, room management, membership management, and people search via Webex APIs using a Webex bot.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Webex Bot MCPsend a welcome message to the #general room"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Webex Bot MCP
A comprehensive Model Context Protocol (MCP) server that provides tools, resources, and prompts for interacting with Webex APIs using a Webex bot. This server enables automated messaging, room management, and team collaboration through the Webex platform.
Powered by: This MCP server is built on top of the excellent Webex Python SDK by the Webex Community. The SDK provides the robust foundation for all Webex API interactions in this project.
Features
🛠️ Tools (31 available)
Room Management: Create, update, list, and manage Webex rooms/spaces
Message Operations: Send messages with text, markdown, HTML, files, and mentions
Membership Management: Add, remove, and update room memberships
People Management: Search and manage organization users
Dual Terminology: Full support for both "room" and "space" terminology
📚 Resources (10 available)
Getting Started Guide: Dynamic setup and authentication status
Message Formatting: Comprehensive formatting examples and best practices
Current Configuration: Live bot status and capabilities
Troubleshooting Guide: Common issues and solutions
Security Best Practices: Production deployment security guidelines
Use Cases & Examples: Real-world implementation patterns
🎯 Prompts (7 available)
Send Announcement: Professional announcement templates
Create Team Room: Guided room setup with member management
Bulk Message Campaign: Multi-target messaging with rate limiting
Room Management Workflow: Comprehensive room audit and maintenance
Incident Response Setup: Emergency response coordination
Bot Health Check: Comprehensive bot assessment
Compliance Audit: Governance and policy compliance checking
🚀 Production Features
Health Monitoring: Built-in health check endpoints
Configuration Management: Environment-based configuration
Container Support: Docker and Kubernetes deployment ready
Security: Token management, rate limiting, audit logging
Observability: Structured logging and metrics support
Related MCP server: Webex Messaging MCP Server
Prerequisites
Before setting up this MCP server, you'll need to create a Webex bot and obtain its access token.
Creating a Webex Bot
Go to the Webex Developer Portal:
Sign in with your Webex account (create one if you don't have it)
Create a New Bot:
Click on "My Webex Apps" in the top navigation
Click "Create a New App"
Select "Create a Bot"
Configure Your Bot:
Bot Name: Choose a descriptive name (e.g., "Notification Bot", "Alert Bot")
Bot Username: This will be the bot's unique identifier (e.g., "notificationbot")
Icon: Upload an icon for your bot (optional but recommended)
Description: Describe what your bot does
Click "Add Bot"
Get Your Bot Access Token:
After creating the bot, you'll see the bot details page
Important: Copy the "Bot Access Token" immediately - this won't be shown again
The token starts with something like
Y2lzY29zcGFyazovL3VzL0FQUExJQ0FUSU9O...Store this token securely - you'll use it as your
WEBEX_ACCESS_TOKEN
Bot Limitations to Know:
Bots can only see messages in rooms where they are explicitly added
To send messages to a room, the bot must be a member of that room
Bots cannot see messages in 1:1 spaces unless the other person messages the bot first
Bots have rate limits (typically 10 messages per second)
Adding Your Bot to Rooms
For your bot to send messages to rooms, it must be added as a member:
For Group Rooms:
Go to the Webex app
Open the room where you want the bot to send messages
Click the room name at the top
Click "People"
Click "Add People"
Search for your bot's username (e.g., "@notificationbot")
Add the bot to the room
For Direct Messages:
Users can start a 1:1 conversation with your bot by searching for its username
Or you can send direct messages using the user's email address
Installation
From PyPI (recommended)
pip install webex-bot-mcpOr with uv:
uv tool install webex-bot-mcpOnce installed, the webex-bot-mcp command is available system-wide.
From source
Clone the repository and install with uv:
git clone https://github.com/WebexCommunity/webex-bot-mcp.git
cd webex-bot-mcp
uv syncInstalling uv
This project uses uv for Python package management. You'll need to install uv first.
Install uv
macOS and Linux:
curl -LsSf https://astral.sh/uv/install.sh | shWindows:
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"Alternative installation methods:
Homebrew (macOS):
brew install uvpip:
pip install uvpipx:
pipx install uv
Find uv Path for Claude Desktop
For Claude Desktop configuration, you may need the full path to uv. You can find it using:
which uvThis will return something like:
macOS/Linux:
/Users/username/.cargo/bin/uvor/usr/local/bin/uvWindows:
C:\Users\username\.cargo\bin\uv.exe
If which uv doesn't work, try:
whereis uvNote: If you installed uv via the official installer, it's typically located at:
macOS/Linux:
~/.cargo/bin/uvWindows:
%USERPROFILE%\.cargo\bin\uv.exe
You can use either the full path or just uv in your Claude Desktop configuration if uv is in your system PATH.
Setup
Install dependencies:
uv syncConfigure environment variables:
cp .env.example .envEdit
.envand add your Webex bot access token:WEBEX_ACCESS_TOKEN=your_bot_access_token_hereTest Your Bot Token: You can verify your bot token works by testing it:
curl -H "Authorization: Bearer YOUR_BOT_TOKEN" \ https://webexapis.com/v1/people/meThis should return your bot's information.
Common Use Cases for Bot Notifications
This MCP server is particularly useful for:
System Monitoring & Alerts
Send server status updates to operations teams
Alert on system failures or performance issues
Notify about backup completion or failures
Monitor application health and send alerts
CI/CD Pipeline Notifications
Notify teams about build successes/failures
Alert on deployment completions
Send code review reminders
Report test results
Business Process Notifications
Customer support ticket alerts
Sales pipeline updates
Meeting reminders and follow-ups
Report generation completion
Integration Examples
Connect to monitoring tools (Prometheus, Grafana)
Integrate with ticketing systems (Jira, ServiceNow)
Hook into CI/CD platforms (Jenkins, GitHub Actions)
Connect to business applications (Salesforce, HubSpot)
Best Practices
Use markdown formatting for better message readability
Include relevant context and action items in notifications
Use threaded replies to keep conversations organized
Set up different bots for different types of notifications
Test your bot in a dedicated testing room first
Running the MCP Server
The server supports two transport types: stdio (default) and streamable-http.
Stdio Transport (Default)
webex-bot-mcpStreamable HTTP Transport
webex-bot-mcp --transport streamable-httpYou can also customize the host and port for HTTP transport:
webex-bot-mcp --transport streamable-http --host 0.0.0.0 --port 9000Command Line Options
--transport: Choose transport type (stdioorstreamable-http, default:stdio)--host: Host to bind to for streamable-http transport (default:localhost)--port: Port to bind to for streamable-http transport (default:8000)
Use --help to see all available options:
webex-bot-mcp --helpA standalone health check command is also available:
webex-bot-mcp-health
webex-bot-mcp-health --output text
webex-bot-mcp-health --skip-api # environment check onlyClaude Desktop Integration
To use this MCP server with Claude Desktop, you'll need to add the server configuration to your Claude Desktop config file.
Configuration File Location
The Claude Desktop configuration file is located at:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Standard Configuration (Stdio Transport)
If installed from PyPI (recommended), add this to your claude_desktop_config.json:
{
"mcpServers": {
"webex-bot-mcp": {
"command": "webex-bot-mcp",
"env": {
"WEBEX_ACCESS_TOKEN": "your_webex_bot_access_token_here"
}
}
}
}If running from a source checkout, use uv to run the CLI:
{
"mcpServers": {
"webex-bot-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/your/webex-bot-mcp",
"run",
"webex-bot-mcp"
],
"env": {
"WEBEX_ACCESS_TOKEN": "your_webex_bot_access_token_here"
}
}
}
}Note: If uv or webex-bot-mcp are not in your system PATH, use the full path to the binary. See the Installing uv section above for how to find the full path.
Setup Steps
Replace the placeholder: Change
your_webex_bot_access_token_hereto your actual Webex bot access tokenUpdate the path (source checkout only): Change
/path/to/your/webex-bot-mcpto match your actual project directoryCopy the configuration: Add the configuration to your Claude Desktop config file
Restart Claude Desktop: Close and reopen Claude Desktop to load the new configuration
Test the MCP server: You can now use the MCP server in Claude Desktop to interact with Webex rooms and send messages
Sample Prompts for AI Agents
This MCP server enables AI agents to interact with Webex messaging through natural language prompts. Here are practical examples of how agents can utilize the Webex bot:
Incident Management & Operations
"Create an incident room and notify the on-call team"
Create a new Webex room called "INCIDENT-2025-001-Database-Outage" and send a message to it with:
- Incident severity: P1
- Affected service: Customer Database
- Initial symptoms: Connection timeouts
- Next steps: Investigating root cause
Then send direct messages to the on-call engineers:
- john.doe@company.com
- jane.smith@company.com
- ops-lead@company.com
Alert them about the new incident room and ask them to join immediately."Send maintenance notifications to multiple teams"
Send a maintenance notification to the following Webex rooms:
- "Engineering Team"
- "Customer Support"
- "Operations"
- "QA Team"
Message should include:
- Maintenance window: Tonight 11 PM - 2 AM EST
- Affected services: Payment processing, user authentication
- Expected downtime: 15 minutes
- Contact person: DevOps team for questionsAutomated Monitoring & Alerts
"Send system health updates to operations rooms"
Check our monitoring dashboard and send a daily health summary to the "Operations" room including:
- Server uptime status
- Database performance metrics
- API response times
- Any alerts or warnings from the last 24 hours
Format it nicely with markdown for easy reading."Alert about CI/CD pipeline failures"
The build pipeline for project "customer-portal" just failed on the main branch.
Send an alert to the "Engineering Team" room with:
- Build ID: #2045
- Failed stage: Integration Tests
- Error summary: Database connection timeout
- Assigned to: @backend-team
- Link to build logs: [provide the link]Customer Support & Communication
"Escalate support tickets to engineering"
We have a P1 customer issue that needs engineering attention.
Create a room called "CUSTOMER-ISSUE-Netflix-Streaming" and invite:
- support-manager@company.com
- engineering-lead@company.com
- customer-success@company.com
Send the initial context:
- Customer: Netflix
- Issue: Streaming service integration failing
- Impact: 50,000+ users affected
- Ticket ID: SUP-12345
- Customer contact: tech-contact@netflix.com"Send release notes to stakeholders"
We just deployed version 3.2.1 to production. Send release notes to:
- "Product Team" room
- "Customer Success" room
- "Executive Updates" room
Include:
- New features: Advanced analytics dashboard, mobile push notifications
- Bug fixes: 12 critical issues resolved
- Performance improvements: 30% faster page load times
- Breaking changes: None
- Rollback plan: Available if neededTeam Coordination & Project Management
"Coordinate cross-team project updates"
Send a weekly project status update to the "Project Alpha" room and individual updates to:
- engineering-manager@company.com
- product-owner@company.com
- design-lead@company.com
Status should include:
- Completed this week: User authentication module
- In progress: Payment integration
- Blocked: Waiting for security review
- Next week's goals: Complete checkout flow
- Risks: Potential delay in third-party API integration"Schedule and announce team meetings"
Send meeting invitations to the "Architecture Review" room for next Tuesday at 2 PM EST.
Agenda:
- Review microservices communication patterns
- Discuss database sharding strategy
- Plan for Q3 scalability improvements
- Action items from last meeting
Also send individual reminders to:
- senior-architect@company.com
- database-admin@company.com
- platform-engineer@company.comCompliance & Security Alerts
"Send security incident notifications"
We detected a potential security incident. Send immediate alerts to:
- "Security Team" room
- "IT Leadership" room
- Direct messages to CISO and IT Director
Include:
- Incident type: Unusual login patterns detected
- Affected systems: Customer portal
- Action taken: Accounts temporarily locked
- Investigation status: In progress
- Next steps: Full security audit initiated"Compliance audit reminders"
Send SOC 2 audit preparation reminders to compliance stakeholders:
- "Compliance Team" room
- "Engineering Leadership" room
- Individual messages to department heads
Reminder should include:
- Audit date: Next Friday
- Required documentation: Security policies, access logs, change management records
- Point of contact: compliance-officer@company.com
- Preparation checklist: [attach file]Integration & Automation Examples
"Multi-channel deployment notifications"
After a successful production deployment, automatically send notifications to:
1. "Engineering Team" room - Technical details and metrics
2. "Product Team" room - Feature summary and user impact
3. "Customer Support" room - What to expect and how to help customers
4. Direct message to release manager with detailed deployment log"Escalation workflows"
If a P1 incident isn't acknowledged within 15 minutes:
1. Send escalation alert to "Critical Incidents" room
2. Page the on-call manager directly
3. Create a conference bridge and share details
4. Notify executive team if incident exceeds 1 hour
5. Update incident status in all relevant roomsThese examples demonstrate how AI agents can use natural language to orchestrate complex Webex messaging workflows, making incident response, team coordination, and operational communications more efficient and automated.
Available Tools
42 toolsadd_webex_membershipC
Add a person to a Webex room.
Args: room_id: Room ID to add person to (required) person_id: Person ID to add (use this OR person_email) person_email: Person email to add (use this OR person_id) is_moderator: Whether to make the person a moderator (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| room_id | Yes | ||
| person_id | No | ||
| is_moderator | No | ||
| person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It mentions a return format but does not disclose behavioral traits such as idempotency, permission requirements, rate limits, or side effects like what happens if the membership already exists. The note about success/error is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with an Args/Returns docstring, which is clear but slightly verbose. The essential information is presented upfront, but the list format could be more concise. Every sentence contributes, but the return description is generic.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, no annotations, and 4 parameters with zero schema coverage, the description should be more complete. It misses important details like error handling, idempotency, and whether the operation is reversible. The return format description is too vague to be fully useful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description adds value by explaining each parameter, including the mutual exclusivity of person_id and person_email, and the optional is_moderator. However, it lacks format constraints or examples that could further aid understanding.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Add a person to a Webex room,' which clearly states the action and resource. It distinguishes from sibling tools like 'create_webex_room' but does not differentiate from 'add_webex_space_membership' or 'add_webex_team_membership', though the mention of 'room' provides some context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. There is no mention of prerequisites, exclusions, or when not to use it. The description only lists parameters without usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_webex_space_membershipA
Add a person to a Webex space. Note: This is an alias for add_webex_membership — "room" and "space" are synonymous in Webex.
Args: space_id: Space ID to add person to (required) person_id: Person ID to add (use this OR person_email) person_email: Person email to add (use this OR person_id) is_moderator: Whether to make the person a moderator (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| space_id | Yes | ||
| person_id | No | ||
| is_moderator | No | ||
| person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It describes the action, parameters, and return format but lacks details on permissions, idempotency, or error handling. Basic behavioral info is present but not deep.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with clear sections (Note, Args, Returns). Every sentence serves a purpose with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the main functionality, parameter relationships, and return format. Given no output schema or annotations, it is fairly complete for a simple tool, though it could mention prerequisites or error scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds significant meaning beyond the input schema, explaining that person_id and person_email are mutually exclusive and describing each parameter's purpose. Schema coverage is 0%, so the description fully compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Add a person to a Webex space' and notes that this is an alias for add_webex_membership, distinguishing it from sibling tools like add_webex_team_membership and create_webex_space.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the alias but does not provide explicit guidance on when to use this tool versus alternatives or when not to use it. No when-to-use or when-not-to-use guidance is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
add_webex_team_membershipA
Add a person to a Webex team.
Bot access note: the bot must be a team moderator to add members. If the bot is only a regular member, this operation will fail with a forbidden error.
Args: team_id: Team ID to add person to (required) person_id: Person ID to add (use this OR person_email) person_email: Person email to add (use this OR person_id) is_moderator: Whether to make the person a team moderator (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | Yes | ||
| person_id | No | ||
| is_moderator | No | ||
| person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility. It discloses the bot moderator requirement and addition action, but lacks details on rate limits, idempotency, or potential side effects of adding a membership.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a front-loaded purpose statement and a separate bot note. The Args/Returns section adds detail without unnecessary verbosity. Every sentence serves a purpose, though the formatting could be slightly tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential parameter usage and a key behavioral constraint (bot moderator). However, without an output schema, more detail on the return format would improve completeness, especially for error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema description coverage is 0%, the description's Args section compensates by explaining the purpose of each parameter, including the alternative between person_id and person_email and the optional is_moderator flag.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Add a person to a Webex team') and the specific resource (team membership). It distinguishes from sibling tools like add_webex_membership and add_webex_space_membership by explicitly mentioning 'team'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for usage, including the bot moderator requirement and the alternative use of person_id or person_email. However, it does not explicitly compare with sibling tools or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_webex_adaptive_cardA
Build an Adaptive Card from high-level inputs without hand-crafting the schema.
Returns card_body and card_actions ready to pass directly to send_webex_adaptive_card. Makes no API calls — pure construction only.
Args: title: Card title displayed as bold text (required) body_text: Optional body paragraph displayed below the title/subtitle subtitle: Optional subtitle displayed below the title in muted text image_url: Optional image URL displayed in the card facts: Optional list of {"title": "...", "value": "..."} key-value pairs displayed as a FactSet table actions: Optional list of action dicts. Each must have "type" ("url" or "submit") and "title". URL actions also need "url"; submit actions accept optional "data". Example: [{"type": "url", "title": "Open", "url": "https://example.com"}] style: Container accent color — "default", "emphasis", "good", "warning", or "attention"
Returns: Dict with "card_body" and "card_actions" keys ready for send_webex_adaptive_card, or a standardized error response dict if validation fails.
Examples: card = build_webex_adaptive_card( title="Deployment Complete", subtitle="Production • v2.3.1", body_text="All health checks passed.", facts=[{"title": "Region", "value": "us-east-1"}, {"title": "Duration", "value": "4m 12s"}], actions=[{"type": "url", "title": "View Dashboard", "url": "https://dash.example.com"}], style="good", ) result = send_webex_adaptive_card(room_id="...", fallback_text="Deployment Complete", **card)
| Name | Required | Description | Default |
|---|---|---|---|
| facts | No | ||
| style | No | default | |
| title | Yes | ||
| actions | No | ||
| subtitle | No | ||
| body_text | No | ||
| image_url | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses key behavioral traits: no API calls (pure construction), returns dict with card_body and card_actions, or an error response on validation failure. It lacks details on authentication or side effects, but for a construction tool this is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: summary, return info, args list, returns, and example. It is informative without being verbose, though there is slight redundancy in stating the return type twice. Overall efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and no enums in schema, the description provides a complete picture: parameter meanings, return format, error handling, and a full example. It even lists allowed values for style, acting as an enum. This is sufficient for an agent to use the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description provides detailed explanations for all parameters, including types, optionality, and examples for complex ones like actions and facts. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Build an Adaptive Card from high-level inputs without hand-crafting the schema.' It distinguishes itself from siblings like send_webex_adaptive_card by specifying it returns card_body and card_actions ready to pass to that sending tool, indicating it is a construction-only tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Makes no API calls — pure construction only' and that output is ready for send_webex_adaptive_card, telling agents when to use this (to build a card) and when to use alternatives (sending). It also provides examples showing integration with the sending tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webex_roomB
Create a new Webex room.
Args: title: Title of the room (required) team_id: Team ID to create room in (optional) classification_id: Classification for the room (optional) is_locked: Whether the room is locked (optional; same property as is_moderated) is_moderated: Whether the room is moderated (optional; same property as is_locked) is_public: Whether the room is public (optional) is_announcement_only: Whether only moderators can post (optional) description: Description of the room (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| team_id | No | ||
| is_locked | No | ||
| is_public | No | ||
| description | No | ||
| is_moderated | No | ||
| classification_id | No | ||
| is_announcement_only | No |
TDQS
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 only states it creates a room but does not mention permissions (e.g., user must have rights), idempotency (if duplicate title), rate limits, or side effects (e.g., events triggered). This is insufficient for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args and Returns sections. Each parameter gets a line, making it readable. However, it is somewhat verbose (e.g., repeating '(optional)' for each). Could be slightly more concise without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no annotations, the description provides adequate parameter info and a brief return description. However, it lacks context on when to use, typical usage patterns, or error scenarios. It is minimally complete but not comprehensive.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explains each parameter's meaning and role. It clarifies that is_locked and is_moderated are synonymous, which is not evident from the schema. However, it does not provide format constraints (e.g., title length).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Create a new Webex room.' which is a specific verb+resource. It clearly distinguishes from sibling tools like create_webex_space by using 'room' and not 'space'. The title also reinforces the purpose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any guidance on when to use this tool versus alternatives (e.g., update_webex_room, create_webex_space). It also lacks information on prerequisites or scenarios where this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webex_spaceA
Create a new Webex space. Note: This is an alias for create_webex_room — "room" and "space" are synonymous in Webex.
Args: title: Title of the space (required) team_id: Team ID to create space in (optional) classification_id: Classification for the space (optional) is_locked: Whether the space is locked (optional; same property as is_moderated) is_moderated: Whether the space is moderated (optional; same property as is_locked) is_public: Whether the space is public (optional) is_announcement_only: Whether only moderators can post (optional) description: Description of the space (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | ||
| team_id | No | ||
| is_locked | No | ||
| is_public | No | ||
| description | No | ||
| is_moderated | No | ||
| classification_id | No | ||
| is_announcement_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral transparency. It discloses that is_locked and is_moderated are the same property and lists the return type, but it does not mention required permissions, rate limits, or potential side effects of creating a space. This is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a clear main sentence, an alias note, a detailed argument list, and a return value statement. Every sentence contributes valuable information. It is appropriately sized for the complexity of the tool, though the argument list could be slightly more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters (1 required), no output schema, and no annotations, the description covers the basics but lacks deeper contextual completeness. It explains parameters and the alias, but does not describe what a 'space' is, the effects of parameters like is_locked or is_public, or how to interpret the return dictionary. This leaves some gaps for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 0%, so the description must compensate. It provides a brief explanation for each parameter (e.g., 'title of the space (required)', 'team_id to create space in (optional)'), and clarifies the relationship between is_locked and is_moderated. This adds significant meaning beyond the schema names, though it could elaborate on the effects of parameters like is_public or classification_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a new Webex space' and notes it is an alias for create_webex_room, making the action and resource unambiguous. It also distinguishes the tool from its sibling by explaining the synonymy of 'room' and 'space'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states this is an alias for create_webex_room, providing clear guidance on when to use this tool versus its direct sibling. However, it does not offer guidance on when to use this tool over other creation tools like create_webex_webhook or create_webex_team, limiting context for alternative choices.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webex_webhookA
Register a new webhook with the Webex API.
Args: name: A user-friendly name for the webhook (required) target_url: The URL that receives POST requests from Webex (required). Must be a publicly reachable HTTPS endpoint. resource: The Webex resource type to watch (required). Valid values: - "messages" — message events in a room - "rooms" — room created/updated/deleted - "memberships" — room membership changes - "attachmentActions" — Adaptive Card form submissions - "meetings" — meeting lifecycle events event: The event type to listen for (required). Valid values: - "created" — resource was created - "updated" — resource was updated - "deleted" — resource was deleted - "all" — all event types for the resource filter: Optional filter expression to narrow the events received, e.g. "roomId=" for message events in a specific room secret: Optional secret used by Webex to sign webhook payloads (X-Spark-Signature header). Use this to verify authenticity.
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| event | Yes | ||
| filter | No | ||
| secret | No | ||
| resource | Yes | ||
| target_url | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that target_url must be HTTPS and publicly reachable, explains the secret for verification, and lists valid resource/event values. It does not mention potential side effects like duplicate handling or rate limits, but is fairly transparent for a creation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args and Returns sections, using line breaks for readability. It is informative without being overly verbose. A slight trim of the 'Args:' label could improve conciseness, but it's already efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 6 parameters (4 required) and no output schema, the description covers return type ('standardized response dictionary') and parameter details. It could mention authentication prerequisites or what happens on success (e.g., returns webhook details), but overall is complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by explaining each parameter: name, target_url (with requirement), resource and event (with valid values), filter (with example), and secret (with purpose). This adds significant meaning beyond the schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Register a new webhook with the Webex API', which is a specific verb and resource. It distinguishes from sibling tools that handle listing, updating, or deleting webhooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use (to create a webhook) but does not provide explicit when-not-to-use guidance or compare to alternatives like update_webex_webhook. No mention of prerequisites or context for using filter or secret.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webex_membershipA
Remove a person from a Webex room by deleting their membership.
Args: membership_id: Membership ID to delete (required). Use list_webex_memberships to find the membership ID for a person in a room.
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| membership_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It states the destructive action but lacks details on side effects, permissions required, or error conditions. The return value is vaguely described as 'Standardized response dictionary,' which does not compensate for the lack of behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a clear structure: purpose, args, returns. Every sentence serves a purpose and adds value, with no redundant information. It is front-loaded with the main action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool without annotations or output schema, the description covers the essential aspects: what the tool does, how to get the parameter, and the return format. It could provide more detail on the response structure, but overall it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the tool description adds meaningful context for the single parameter: 'Membership ID to delete (required). Use list_webex_memberships to find the membership ID for a person in a room.' This goes beyond the schema's bare title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Remove a person from a Webex room by deleting their membership,' which specifies the verb (remove) and resource (person from a room). It effectively distinguishes from sibling tools like delete_webex_team_membership and delete_webex_room.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description instructs to use list_webex_memberships to find the membership ID, providing clear context for obtaining the required parameter. However, it does not explicitly state when not to use this tool or list direct alternatives like delete_webex_team_membership.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webex_messageA
Delete a Webex message.
Args: message_id: ID of the message to delete (required)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| message_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must carry the full burden. It only states the basic mutation behavior without disclosing irreversibility, permission requirements, or effects on threads.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and well-organized with separate sections for purpose, arguments, and returns, containing no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one required param, no output schema), the description covers the essential aspects, though it could mention potential failure reasons like authorization.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explains the sole parameter 'message_id' with its requirement, adding significant meaning beyond the schema's type and title.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
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 'Webex message', and it is distinct from sibling delete tools for other Webex entities.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 (e.g., update_webex_message) or whether certain prerequisites (like being the message author) are required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webex_roomA
Delete a Webex room.
Args: room_id: Room ID to delete (required)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| room_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, and the description only says 'Delete'. No details on permanence, required permissions, cascading effects on messages or memberships, or error cases. Minimal behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise: two sentences plus a parameter list. Every piece of information serves a purpose with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for a simple delete operation with one parameter and no output schema. Covers purpose, parameter, return type. Lacks behavioral details (e.g., permanence, side effects) which are important for a destructive tool, but overall functional.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no description in schema). The description adds 'Room ID to delete (required)', clarifying the parameter's nature. While concise, it provides essential context beyond the schema's title. Could include format or source hints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'Delete a Webex room', using a specific verb and resource. The sibling tools delete different resources (membership, message, space, team), making this tool's purpose distinct and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for deleting a room but provides no explicit when-to-use or when-not-to-use guidance. No alternative tools mentioned, though sibling names make it inferable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webex_spaceA
Delete a Webex space. Note: This is an alias for delete_webex_room — "room" and "space" are synonymous in Webex.
Args: space_id: Space ID to delete (required)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| space_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It states the tool deletes a space (destructive action) and returns a standardized response dictionary. It lacks details on side effects (e.g., memberships, messages), permissions required, or whether the space must be empty. This is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a one-line purpose, a brief alias note, a structured Args section, and a Returns line. Every sentence adds value, and the structure is front-loaded with the most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has only one parameter, no output schema, and no annotations, the description covers the essential aspects: action, synonym clarification, required argument, and return type. It is mostly complete, though it could mention error scenarios or behavior on non-existent spaces.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, meaning the schema only provides the parameter name and title. The description adds 'Space ID to delete (required)', which reiterates the requirement already in the schema and offers minimal extra meaning. It does not specify format, length, or validation rules, so it only marginally compensates for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a Webex space' and notes it is an alias for delete_webex_room, which distinguishes it from the sibling tool delete_webex_room. The verb 'delete' and the resource 'Webex space' are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly explains that this tool is an alias for delete_webex_room and that 'room' and 'space' are synonymous, providing clear guidance on when to use this tool versus its sibling. It also mentions the required argument. However, it does not specify when not to use it or any preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webex_teamA
Delete a Webex team.
Bot access note: the bot must be a team moderator. If the bot is only a regular member, this operation will fail with a forbidden error.
Args: team_id: Team ID to delete (required)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses that the operation can fail with a forbidden error if the bot lacks moderation rights, and mentions the return format. However, it does not discuss side effects such as whether cascading deletion of memberships occurs or if the operation is reversible. Still, it adds value beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise, starting with the primary action, immediately followed by critical usage note, then parameter and return information. Each sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the single parameter, no output schema, and no annotations, the description covers purpose, usage constraints, parameter documentation, and return format. It is mostly complete but could add more detail about potential side effects or data persistence.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description explicitly documents the parameter: 'team_id: Team ID to delete (required)'. This adds meaning beyond the schema which only provides type and title. The description compensates well for the lack of schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a Webex team.' as the main action, specifying both verb and resource. Among sibling tools, it is the only one dedicated to deleting a team, so it is easily distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'Bot access note' that explicitly states the bot must be a team moderator, and warns that if the bot is only a regular member, the operation will fail. This provides clear guidance on when to use the tool and potential pitfalls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webex_team_membershipA
Remove a person from a Webex team by deleting their team membership.
Bot access note: the bot must be a team moderator to remove members. If the bot is only a regular member, this operation will fail with a forbidden error. Use list_webex_team_memberships to find the membership ID for a person.
Args: membership_id: Team membership ID to delete (required)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| membership_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses destructive nature ('Remove'), authorization requirement (bot must be moderator), and return format (success/error). Missing explicit mention of irreversibility or side effects, but sufficient for a simple delete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with a brief description, bot access note, and args/returns. The bot note is slightly lengthy but necessary; overall efficient with minimal redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers what the tool does, prerequisites, how to obtain the required ID, and return type. No output schema, but explains returns. Lacks error handling specifics, but adequate for a single-parameter deletion tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'membership_id' is described as 'Team membership ID to delete (required),' adding context beyond the schema. The usage note points to list_webex_team_memberships for obtaining the ID, though no example or format is provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Describes the tool as 'Remove a person from a Webex team by deleting their team membership,' which is a clear verb+resource. It distinguishes from siblings like delete_webex_membership by specifying 'team' context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Includes a 'Bot access note' specifying that the bot must be a team moderator, else operation fails. Explicitly advises using list_webex_team_memberships to find the membership ID, providing a clear alternative and preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webex_webhookA
Delete a webhook by ID.
Args: webhook_id: The webhook ID to delete (required). Use list_webex_webhooks to find the webhook ID.
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_id | Yes |
TDQS
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 that the operation is a deletion but lacks details on permissions, reversibility, or side effects. The minimal disclosure is insufficient for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: one sentence for purpose, two lines for args, one for returns. It is front-loaded with the main action and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete with one parameter and no output schema, the description covers purpose, parameter, and return type. However, it lacks information on error handling or behavior when webhook doesn't exist. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains the 'webhook_id' parameter, noting it is required and providing guidance on how to find it. This adds meaning beyond the schema's type string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Delete a webhook by ID', which is a specific verb and resource. It distinguishes from sibling tools like create, list, get, and update webhooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Use list_webex_webhooks to find the webhook ID', providing guidance on how to obtain the required parameter. It does not discuss when not to use, but the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webex_attachment_actionA
Retrieve the form data submitted when a user clicks an Adaptive Card button.
This MCP server makes outbound calls to Webex — it does NOT receive inbound webhook events. The action_id must be obtained externally: your own bot application (a separate HTTP server with a public HTTPS endpoint) receives the webhook POST from Webex, extracts the "id" field from the payload, and then supplies that action_id here so this tool can fetch the full submission.
Flow: 1. User clicks a card button in Webex. 2. Webex POSTs the event to your bot's registered webhook endpoint. 3. Your bot extracts action_id from payload["data"]["id"]. 4. Your bot (or an AI agent) calls this tool with that action_id. 5. This tool calls GET /attachment/actions/{id} and returns the inputs.
A webhook must be registered via create_webex_webhook with resource="attachmentActions" and event="created" for step 2 to occur — without it, card submissions are silently dropped by Webex.
Args: action_id: ID of the attachment action to retrieve (required). Comes from payload["data"]["id"] in the webhook POST your bot application receives from Webex.
Returns: Standardized response dictionary with success/error information. The data dict contains the submitted form inputs under the "inputs" key, along with the associated messageId, roomId, and personId.
| Name | Required | Description | Default |
|---|---|---|---|
| action_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It discloses that the tool makes outbound calls to Webex (not receiving inbound events), explains the return format with keys like inputs, messageId, etc., and mentions the silent failure if no webhook is registered. Slight deduction for not addressing rate limits or authentication details, but overall very transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively long but well-structured with clear sections (intro, flow, details, args, returns). Every sentence adds value, with no filler. Could be slightly more concise, but the structure aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (retrieving card submissions dependent on external webhooks), the description covers the entire process: prerequisite, parameter source, execution flow, and return structure. No output schema is provided, but the description lists the key return fields (inputs, messageId, roomId, personId), making the tool self-contained.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% for the action_id parameter (only type and required defined). However, the description extensively explains the parameter: required, its source (payload["data"]["id"] from the webhook POST), and how to obtain it. This adds significant meaning beyond the schema's minimal definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly states the tool retrieves form data from Adaptive Card button clicks, clearly distinguishing it from sibling tools that handle other Webex operations (e.g., messages, rooms, webhooks). The verb 'retrieve' and resource 'attachment action' are specific and non-ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a detailed 5-step flow explaining when to use the tool (after a webhook event), including the prerequisite of registering a webhook via create_webex_webhook. It explicitly describes how to obtain the action_id from an external bot application and notes that without a webhook, card submissions are dropped. This is excellent guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webex_meA
Get information about the authenticated Webex bot.
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It merely states 'Get information' and 'Standardized response dictionary', without detailing what information is returned (e.g., display name, email) or any side effects. The description is insufficient for understanding the tool's exact behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise at two sentences with no fluff. Every word contributes to the purpose and return format.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and no parameters, the description is minimally adequate. However, it does not specify the fields of the response (e.g., what 'information' is included), which could help an agent decide if this tool meets its needs. Sibling tools show a rich Webex API context, so a bit more detail on the response would improve completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no parameters, so schema coverage is 100%. The description adds no parameter-specific meaning, but the baseline for 0 parameters is 4. It does not need to elaborate on non-existent parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get information about the authenticated Webex bot', using a specific verb and resource. It differentiates from sibling tools like get_webex_room or list_webex_people by focusing on the bot itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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. While it's obvious for retrieving bot info, the description lacks context such as prerequisites (e.g., authentication already established) or when to avoid it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webex_roomA
Get detailed information about a specific Webex room.
Args: room_id: Room ID to get details for (required)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| room_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description indicates it returns detailed info and a standardized response dictionary, but lacks specifics on behavior like idempotency, error handling, or authentication needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences with clear sections for description, args, and returns. No unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
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, the description covers core functionality. Could mention that the operation is read-only or specify the return format structure, but sufficient for basic use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds meaning to the only parameter 'room_id' by stating it's required and its purpose, compensating for the schema's lack of descriptions (0% coverage).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description explicitly states the tool retrieves detailed information for a specific Webex room, clearly distinguishing it from listing or mutation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 siblings like list_webex_rooms (for multiple rooms) or update_webex_room (for modifications).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webex_spaceB
Get detailed information about a specific Webex space. Note: This is an alias for get_webex_room — "room" and "space" are synonymous in Webex.
Args: space_id: Space ID to get details for (required)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| space_id | Yes |
TDQS
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 it returns a standardized response dictionary, failing to explicitly confirm it is read-only, safe, or describe any side effects, permissions, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and functional, including an alias note and an Args section, with no wasted sentences; structure is clear for this simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input schema (1 required param, no nested objects) and no output schema, the description covers the core purpose and parameter but lacks details on what 'detailed information' includes or error handling, leaving gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage; the description adds 'space_id: Space ID to get details for (required)', which largely repeats schema info (required, type string) without adding format or context beyond the obvious.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'get' and the resource 'Webex space', and explicitly notes it is an alias for get_webex_room, distinguishing it from siblings by clarifying synonymy.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions the tool is an alias for get_webex_room, implying they are interchangeable, but provides no additional guidance on when to use this over 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.
get_webex_teamA
Get detailed information about a specific Webex team.
Bot access note: the bot must be a member of the team. If the team exists but the bot has not been added to it, this will return a not-found error.
Args: team_id: Team ID to get details for (required)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description does well to note the not-found error for unauthorized bots. It implies a read-only operation but does not disclose any further behavioral traits like rate limits or authentication details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using three sentences plus structured Args/Returns. It is front-loaded with the main purpose and contains no extraneous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get operation with one parameter and no output schema, the description covers the essential: purpose, parameter, and a critical error condition. It lacks detail on return format but this is acceptable given the tool's simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter team_id is described as 'Team ID to get details for (required)', which adds some meaning beyond the schema's type and title. With schema description coverage at 0%, this provides the necessary clarification but is minimal.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get detailed information about a specific Webex team,' which is a specific verb+resource combination that distinguishes it from sibling tools like delete_webex_team or list_webex_teams.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bot access note provides important context about when the tool will fail (if bot not a team member), guiding proper usage. However, it doesn't explicitly state when to use this over alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_webex_webhookB
Get details for a specific webhook.
Args: webhook_id: The webhook ID to retrieve (required)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description bears full burden. It states it returns a 'standardized response dictionary' but does not detail read-only nature, error behavior, or authentication needs. Minimal but not misleading.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Short and structured with Args and Returns sections. Every sentence is relevant, though the Returns description is vague. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple get-by-ID tool with one parameter and no output schema, the description is partly adequate. It lacks details on what fields are in 'details' or error conditions, but covers the basic purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description only repeats the parameter name with a generic explanation ('The webhook ID to retrieve (required)'), adding little beyond the schema's field name.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Get details for a specific webhook,' with a specific verb and resource. It distinguishes from sibling tools like list_webex_webhooks (list all) and create/update/delete.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. For example, it does not mention that list_webex_webhooks should be used to fetch all webhooks or that create/update/delete are for other operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_membershipsC
List memberships for a room or person.
Args: room_id: Room ID to get memberships for person_id: Person ID to get memberships for person_email: Person email to get memberships for max_results: Maximum number of memberships to return (default 100, max 1000)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| room_id | No | ||
| person_id | No | ||
| max_results | No | ||
| person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavioral traits. It mentions it returns a 'Standardized response dictionary' but does not explain pagination, what happens if no parameters are given, authentication requirements, or rate limits. The behavior around optional parameters (room_id, person_id, person_email) is unclear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear first sentence stating purpose. It uses a structured Args/Returns format, making it easy to parse. Every sentence provides value, though the Returns section could be more detailed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of annotations, output schema, and 0% schema coverage, the description should be more thorough. It does not explain return format details, pagination, or which parameters (if any) are required. The description is adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds minimal explanations for each parameter (e.g., 'Room ID to get memberships for') and gives default and max for max_results. However, this does not add significant meaning beyond the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists memberships for a room or person, which is a specific verb+resource. It distinguishes from add/delete/update membership tools, but does not explicitly differentiate from list_webex_space_memberships or list_webex_team_memberships, which are siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like list_webex_space_memberships or list_webex_team_memberships. The description only lists arguments without context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_messagesB
List messages from a Webex room.
Args: room_id: Room ID to get messages from (required) mentioned_people: Person ID to filter messages that mention them before: Get messages before this date (ISO 8601 format) before_message: Get messages before this message ID max_results: Maximum number of messages to return (default 50, max 1000)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| before | No | ||
| room_id | Yes | ||
| max_results | No | ||
| before_message | No | ||
| mentioned_people | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden for behavioral disclosure. It states it lists messages but does not cover pagination behavior, rate limits, error handling, or potential performance implications. The return format is vague.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with a clear one-line purpose followed by a structured parameter list. No unnecessary words, though the parameter descriptions could be more terse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description only vaguely mentions a 'Standardized response dictionary with success/error information' without specifying the message structure. Parameter details are adequate, but the tool's moderate complexity (5 parameters) and lack of annotations leave gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description explains all 5 parameters including defaults and filters (e.g., max_results default/max, before date format). This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists messages from a Webex room, specifying the resource (messages) and action (list). However, it does not differentiate from the sibling tool list_webex_space_messages, which likely has similar functionality.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides parameter details but lacks guidance on when to use this tool versus alternatives like list_webex_space_messages. No explicit when-to-use or when-not-to-use information is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_peopleA
List people in the organization or search for specific people.
Args: email: Email address to search for display_name: Display name to search for person_id: Person ID to look up a specific person org_id: Organization ID to filter by calling_data: Include calling data in response location_id: Location ID to filter by max_results: Maximum number of people to return (default 100, max 1000)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| No | |||
| org_id | No | ||
| person_id | No | ||
| location_id | No | ||
| max_results | No | ||
| calling_data | No | ||
| display_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden. It mentions max_results bounds but lacks disclosure of pagination behavior, authentication needs, rate limits, or side effects. The return format is vaguely described as 'standardized response dictionary.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured with Args and Returns sections, is fairly concise with about 10 lines, and front-loads the purpose. Minor redundancy exists (e.g., 'max_results' default mentioned twice). No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 7 parameters and no output schema, the description covers parameter semantics and mentions return type but omits details like pagination beyond max_results, error handling, or response structure. Adequate but not thorough for a list operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% (no descriptions in schema), but the description adds clear, concise explanations for each parameter (e.g., 'Email address to search for'). This compensates significantly, though it lacks advanced details like format constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List people in the organization or search for specific people,' with a specific verb and resource. It distinguishes from sibling tools like list_webex_memberships by focusing on people rather than memberships or rooms.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing or searching people but provides no explicit guidance on when to use this tool vs alternatives (e.g., list_webex_memberships). No exclusions or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_roomsA
List Webex rooms that the authenticated bot belongs to.
Args: team_id: Optional team ID to filter rooms by team room_type: Optional room type filter ('direct' or 'group') sort_by: Optional sort order ('id', 'lastactivity', 'created') max_results: Optional maximum number of rooms to return (default 100, max 1000)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| sort_by | No | ||
| team_id | No | ||
| room_type | No | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It discloses default and max for max_results and mentions a standardized response, but does not detail pagination, rate limits, or sorting defaults.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with Args and Returns sections, but includes some redundancy (e.g., 'List Webex rooms' in both title and description). Could be slightly more concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple listing tool with 4 optional parameters and no output schema or annotations, the description provides adequate context: purpose, parameters, and return format. Minor gaps in pagination details and error handling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description provides clear, detailed explanations for each of the 4 parameters, including defaults and filtering options, adding significant value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List Webex rooms that the authenticated bot belongs to', using a specific verb and resource. It distinguishes from sibling tools like list_webex_spaces by specifying 'rooms'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains parameters but provides no explicit guidance on when to use this tool versus alternatives (e.g., list_webex_spaces, list_webex_teams). Usage context is implied but no exclusions or when-not-to-use advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_space_membershipsA
List memberships for a space or person. Note: This is an alias for list_webex_memberships — "room" and "space" are synonymous in Webex.
Args: space_id: Space ID to get memberships for person_id: Person ID to get memberships for person_email: Person email to get memberships for max_results: Maximum number of memberships to return (default 100, max 1000)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| space_id | No | ||
| person_id | No | ||
| max_results | No | ||
| person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions the return type and lists max_results limits, but does not explicitly state the tool is read-only, which is implied but not confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is brief and to the point, starting with the purpose, then a note about the alias, followed by a clear list of parameters and return type. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema and four parameters, the description covers the basics but lacks details on parameter interaction (e.g., combining filters) and does not address potential errors or edge cases. The alias note is helpful but incomplete without further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description explains all four parameters: space_id, person_id, person_email, and max_results (with default and max). It adds context not in the schema, though it omits whether filters can be combined.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List memberships for a space or person' with a specific verb and resource. It also clarifies it is an alias for list_webex_memberships, distinguishing it from 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes it is an alias for list_webex_memberships, indicating they are interchangeable. However, it does not explicitly state when to prefer this tool over other membership list tools (e.g., list_webex_team_memberships).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_space_messagesA
List messages from a Webex space. Note: This is an alias for list_webex_messages — "room" and "space" are synonymous in Webex.
Args: space_id: Space ID to get messages from (required) mentioned_people: Person ID to filter messages that mention them before: Get messages before this date (ISO 8601 format) before_message: Get messages before this message ID max_results: Maximum number of messages to return (default 50, max 1000)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| before | No | ||
| space_id | Yes | ||
| max_results | No | ||
| before_message | No | ||
| mentioned_people | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description should disclose behavioral traits. It indicates read-only listing and alias behavior, but does not discuss rate limits, authorization, error handling, or pagination details beyond max_results. 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured with separate sections for purpose, alias note, args, and returns. It is front-loaded with the main action. Slight verbosity in the alias explanation, but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations or output schema, the description covers the essential: parameter details, return format, and alias relationship. It lacks details on error responses, sorting, or pagination behavior beyond max_results, but is mostly complete for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description carries full burden. It explains each parameter: space_id (required), mentioned_people (filter), before/before_message (date/message ID), max_results (default 50, max 1000). This adds significant meaning beyond the schema's basic type info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List messages from a Webex space') and specifies the resource (messages) and container (space). It also clarifies this is an alias for list_webex_messages, distinguishing it from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes it's an alias for list_webex_messages, implying interchangeability, but does not explicitly state when to use this tool versus alternatives or provide exclusion criteria. No guidance on prerequisites or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_spacesA
List Webex spaces that the authenticated bot belongs to. Note: This is an alias for list_webex_rooms — "room" and "space" are synonymous in Webex.
Args: team_id: Optional team ID to filter spaces by team space_type: Optional space type filter ('direct' or 'group') sort_by: Optional sort order ('id', 'lastactivity', 'created') max_results: Optional maximum number of spaces to return (default 100, max 1000)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| sort_by | No | ||
| team_id | No | ||
| space_type | No | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It mentions the bot must be authenticated and lists parameters with defaults (max_results). However, it lacks details on pagination behavior, rate limits, or potential errors. The return type is vaguely described as 'Standardized response dictionary.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is succinct: one sentence introducing the tool, a note about the alias, a bullet-list style parameter description, and a return type statement. No unnecessary words, well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose, parameters, and return type adequately. Given the tool's simplicity (list with optional filters), it is mostly complete. However, it could mention if the list is paginated or any default ordering, but the max_results parameter implies pagination support.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description compensates by explaining each parameter: team_id (filter by team), space_type (with enum values 'direct' or 'group'), sort_by (with sort options), and max_results (default 100, max 1000). This adds significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List Webex spaces that the authenticated bot belongs to,' providing a specific verb and resource. The note about being an alias for list_webex_rooms differentiates it from similar tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly notes it's an alias for list_webex_rooms, helping the agent choose between synonyms. It also lists optional parameters for filtering, but does not provide explicit when-not-to-use scenarios or compare with other listing tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_team_membershipsA
List members of a Webex team.
Bot access note: the bot must be a member of the team. If the bot has not been added to the team, this will return a not-found error.
Args: team_id: Team ID to list members for (required) max_results: Maximum number of memberships to return (default 100, max 1000)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| team_id | Yes | ||
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the bot membership requirement and error condition, and mentions the return format as a standardized dictionary. However, it does not discuss other behavioral aspects like rate limits or read-only nature, leaving some gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise: two short paragraphs with clear sections (main description, bot note, args, returns). Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with 2 parameters and no output schema, the description covers all necessary context: purpose, prerequisites, parameter details with defaults, error conditions, and return format. It is complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. The Args section clearly explains both parameters: team_id as required, and max_results with default (100) and max (1000). This adds significant meaning beyond the schema's basic titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List members of a Webex team' using a specific verb and resource. It distinguishes itself from sibling tools like list_webex_memberships (general membership list) and add_webex_team_membership (add action) explicitly by focusing on team scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description includes a 'Bot access note' that explains the prerequisite of bot membership and the error behavior if not met. This provides context for when the tool can be used. It does not explicitly mention alternatives or when not to use, but the note is valuable enough to warrant a high score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_teamsA
List Webex teams the bot belongs to.
Bot access note: only teams the bot has been explicitly added to are returned. If the list is empty, a human user must invite the bot to one or more teams first. Teams cannot be created by a bot — use a user/integration token for that.
Args: display_name: Filter teams by display name (optional) max_results: Maximum number of teams to return (default 100, max 1000)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No | ||
| display_name | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description handles behavioral disclosure. It states the bot-only membership restriction and the need for human invitation when empty. Missing details on pagination or rate limits, but adequate for a read operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is well-structured with paragraphs and a bulleted argument list. It is concise without extraneous details, though the argument list could be integrated into the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description provides a generic return type. It covers key behavioral context (bot access, parameter constraints) and differentiates from related tools. Adequate for a list tool with two optional parameters.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the tool description adds meaningful explanations: display_name as a filter and max_results with default and maximum. This compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the verb 'List' and the resource 'Webex teams the bot belongs to'. It is distinct from sibling tools like list_webex_rooms or list_webex_spaces, which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The bot access note explains when to use (bot added to teams) and what to do if empty (human must invite). It also notes that teams cannot be created by a bot, steering users to alternative tokens. However, it does not explicitly compare to other list tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_webex_webhooksC
List all webhooks registered to the bot.
Args: max_results: Maximum number of webhooks to return (default 100, max 100)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| max_results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that returns are a 'Standardized response dictionary with success/error information,' but it does not clarify behavioral aspects like pagination, rate limits, or the fact that max_results actually imposes a limit (contradicting 'list all'). With no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with a single sentence for purpose and a brief Args/Returns section. It avoids unnecessary verbosity and is easy to parse, though the main description could be more precise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list operation with one parameter, the description covers the basic functionality and parameter. However, it lacks details about the response structure (e.g., format of each webhook) and could be more complete for an agent to understand the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds information about max_results (default 100, max 100) beyond the schema's minimal definition, but it contradicts the schema default of null. This discrepancy reduces clarity and reliability.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List all webhooks registered to the bot', which is a specific verb-resource combination. However, the mention of 'all' is slightly inconsistent with the max_results parameter that limits results, causing minor ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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_webex_webhook for a single webhook or create_webex_webhook for creation. The description lacks any context about prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_webex_adaptive_cardA
Send an Adaptive Card message to a Webex room or person.
Adaptive Cards are rich, interactive message attachments. Clients that do not support cards will display fallback_text instead.
IMPORTANT — Webhook limitation: Card action submissions (Action.Submit) are delivered to the bot only if a webhook is registered for the "attachmentActions" resource on the Webex platform. Without that webhook, submissions are silently dropped and the bot never receives them. Inform the user of this limitation whenever the card includes interactive actions. To receive submissions, a webhook must be created at developer.webex.com or via the Webex Webhooks API targeting the bot's public HTTPS endpoint.
Args: room_id: Room ID to send the card to (use this OR to_person_id/to_person_email) to_person_id: Person ID to send a direct card to to_person_email: Person email to send a direct card to card_body: List of Adaptive Card body elements (required, non-empty). Each element must have a "type" field (e.g. "TextBlock", "Image", "ColumnSet"). Use build_webex_adaptive_card to generate this from high-level inputs. fallback_text: Plain-text fallback shown to clients that do not support cards (required) card_actions: Optional list of action objects (Action.OpenUrl, Action.Submit, etc.) card_version: Adaptive Card schema version — one of "1.0", "1.1", "1.2", "1.3" (default "1.3") parent_id: Parent message ID for threaded replies
Returns: Standardized response dictionary with success/error information
Examples: result = send_webex_adaptive_card( room_id="Y2lzY29zcGFyazovL3VzL1JPT00v...", fallback_text="Build passed", card_body=[ {"type": "TextBlock", "text": "Build Passed", "weight": "Bolder", "size": "Medium"}, {"type": "TextBlock", "text": "All 42 tests green", "color": "Good"}, ], card_actions=[ {"type": "Action.OpenUrl", "title": "View Logs", "url": "https://ci.example.com"} ], )
| Name | Required | Description | Default |
|---|---|---|---|
| room_id | No | ||
| card_body | No | ||
| parent_id | No | ||
| card_actions | No | ||
| card_version | No | 1.3 | |
| to_person_id | No | ||
| fallback_text | No | ||
| to_person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses that clients without card support will show fallback_text, and warns about silent dropping of Action.Submit submissions if a webhook is missing. It does not cover rate limits, permissions, or side effects, but the key behavioral traits are addressed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections (IMPORTANT, Args, Returns, Examples) and front-loaded with the purpose. It is slightly lengthy but every sentence adds value, and the format aids readability. A minor reduction in redundancy could improve conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the card structure, fallback, actions, and version, and provides examples. It does not detail error responses or output format beyond 'standardized response dictionary,' but given the tool's complexity and lack of output schema, it is adequately complete. A note on success/error details would enhance completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description's Args section adds crucial meaning beyond the input schema (which has 0% coverage). It explains mutual exclusivity of room_id/to_person_id/to_person_email, the required nature of card_body and fallback_text, the requirement for a 'type' field in card_body elements, and the purpose of optional parameters. This fully compensates for the schema's lack of descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Send an Adaptive Card message to a Webex room or person,' specifying the verb (send), resource (Adaptive Card message), and target (room or person). This distinguishes it from sibling tools like send_webex_message (plain text) and send_webex_space_adaptive_card (space-only).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use this tool (sending adaptive cards) and includes a critical limitation about webhook registration for Action.Submit. However, it does not explicitly contrast with other message-sending tools or provide clear when-not-to-use guidance, leaving room for improvement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_webex_messageB
Send a message to a Webex room or person.
Args: room_id: Room ID to send the message to (use this OR to_person_id/to_person_email) to_person_id: Person ID to send a direct message to to_person_email: Person email to send a direct message to text: Plain text message content markdown: Markdown formatted message content html: HTML formatted message content (for buttons/cards) files: URL to attach (single file URL as a string) parent_id: Parent message ID for threaded replies
Returns: Standardized response dictionary with success/error information
Examples: # Send to room result = send_webex_message( room_id="Y2lzY29zcGFyazovL3VzL1JPT00vYmJjZWIx", text="Hello team!" )
# Send direct message
result = send_webex_message(
to_person_email="user@company.com",
markdown="**Important update:** Please review the report"
)| Name | Required | Description | Default |
|---|---|---|---|
| html | No | ||
| text | No | ||
| files | No | ||
| room_id | No | ||
| markdown | No | ||
| parent_id | No | ||
| to_person_id | No | ||
| to_person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It mentions the return type and parameter details but lacks information on rate limits, synchronous behavior, or error conditions. The description is basic and does not go beyond functional parameter descriptions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a concise opening sentence, a clear parameter list, a return value note, and examples. It is not overly verbose, though the parameter list in text format could be slightly cleaner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the 8 parameters, no output schema, and absence of annotations, the description covers the main functionality and parameters well. However, it lacks guidance on combining content types (e.g., text vs. markdown) and does not differentiate from sibling tools that handle similar tasks with specific features.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, so the description compensates by explaining each parameter's purpose, including mutual exclusivity of targeting parameters and specific use cases (e.g., 'parent_id' for threaded replies). Examples further clarify usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Send a message to a Webex room or person' with a specific verb and resource. It covers the main parameters but does not explicitly differentiate from sibling tools like send_webex_adaptive_card or send_webex_message_with_mentions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by noting the mutual exclusivity of room_id versus to_person_id/to_person_email and provides examples. However, it does not explicitly state when to use this tool over alternatives like send_webex_adaptive_card or send_webex_message_with_mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_webex_message_with_mentionsA
Send a message to a Webex room or person with proper mention support.
Args: room_id: Room ID to send the message to (use this OR to_person_id/to_person_email) to_person_id: Person ID to send a direct message to to_person_email: Person email to send a direct message to text: Plain text message content markdown: Markdown formatted message content html: HTML formatted message content (for buttons/cards) files: URL to attach (single file URL as a string) parent_id: Parent message ID for threaded replies mentions: List of mention dicts with keys: - type: "email", "person_id", or "all" - value: email address or person ID (not needed for "all") - display_name: optional display name
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | ||
| text | No | ||
| files | No | ||
| room_id | No | ||
| markdown | No | ||
| mentions | No | ||
| parent_id | No | ||
| to_person_id | No | ||
| to_person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must disclose behavior. It states it sends a message and returns a standardized response, but does not specify precedence among text/markdown/html, error handling, or idempotency. Basic behavior is clear, but more depth is needed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear first sentence and organized into Args and Returns sections. While a bit verbose, every sentence adds value. Could be tightened, but structure aids readability.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no schema descriptions, no output schema, and no annotations, the description covers the main use case with parameter explanations and return type. It misses content type precedence and error responses, but is complete enough for typical usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description fully compensates. Each parameter is explained with purpose, constraints (e.g., OR condition), and the mentions structure is detailed with keys and allowed values. This adds significant meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with 'Send a message to a Webex room or person with proper mention support,' which clearly states the action and resource. It distinguishes from sibling tools like 'send_webex_message' by focusing on mention support.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains parameter usage, e.g., 'use this OR to_person_id/to_person_email' and details the mentions structure. However, it does not explicitly compare to alternatives like send_webex_message or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_webex_space_adaptive_cardA
Send an Adaptive Card to a Webex space or person. Note: This is an alias for send_webex_adaptive_card — "room" and "space" are synonymous in Webex.
IMPORTANT — Webhook limitation: Card action submissions (Action.Submit) are delivered to the bot only if a webhook is registered for the "attachmentActions" resource on the Webex platform. Without that webhook, submissions are silently dropped and the bot never receives them. Inform the user of this limitation whenever the card includes interactive actions.
Args: space_id: Space ID to send the card to (use this OR to_person_id/to_person_email) to_person_id: Person ID to send a direct card to to_person_email: Person email to send a direct card to card_body: List of Adaptive Card body elements (required, non-empty) fallback_text: Plain-text fallback for clients that do not support cards (required) card_actions: Optional list of action objects card_version: Adaptive Card schema version — "1.0", "1.1", "1.2", or "1.3" (default "1.3") parent_id: Parent message ID for threaded replies
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| space_id | No | ||
| card_body | No | ||
| parent_id | No | ||
| card_actions | No | ||
| card_version | No | 1.3 | |
| to_person_id | No | ||
| fallback_text | No | ||
| to_person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries full burden. It discloses the critical webhook limitation for interactive cards, warns about silent drop of submissions, and specifies that fallback_text is required. It also mentions the return type. However, it omits other behavioral traits like rate limits, queuing, or error handling. The disclosure is strong for the key risk but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a clear purpose sentence, an alias note, an explicit behavioral warning, then parameter descriptions. Every section serves a purpose. However, the parameter descriptions are somewhat lengthy and could be more compact (e.g., combining space_id/person parameters). The alias note is somewhat redundant, but overall it front-loads critical info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description covers the purpose, alias, key behavioral risk, and parameter semantics. However, it lacks guidance on mutual exclusivity of space_id vs person fields, what happens on errors, or examples. The requirement for non-empty card_body is noted but not enforced in schema. The description is functional but not fully complete for all scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description adds substantial meaning beyond the input schema. It explains the OR relationship between space_id and to_person_id/to_person_email, clarifies that fallback_text and card_body are required, and lists valid card_version values. However, it does not detail the structure of card_body or card_actions objects, which are complex and nested. The addition of a 'required' tag for fallback_text contradicts the schema's nullable default, which could confuse.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Send an Adaptive Card to a Webex space or person' and immediately clarifies the alias relationship with send_webex_adaptive_card. It distinguishes the tool from sibling tools like send_webex_message by specifying the card-specific functionality. The synonym note ('room' and 'space' are synonymous) further resolves potential confusion.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for sending adaptive cards but does not explicitly contrast with alternatives (e.g., when to use send_webex_message vs this). The alias explanation acknowledges the naming overlap, but no when-not or exclusion criteria are provided. The webhook limitation is critical but stands alone without guiding the agent on interactive card handling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_webex_space_messageA
Send a message to a Webex space or person. Note: This is an alias for send_webex_message — "room" and "space" are synonymous in Webex.
Args: space_id: Space ID to send the message to (use this OR to_person_id/to_person_email) to_person_id: Person ID to send a direct message to to_person_email: Person email to send a direct message to text: Plain text message content markdown: Markdown formatted message content html: HTML formatted message content (for buttons/cards) files: URL to attach (single file URL as a string) parent_id: Parent message ID for threaded replies
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| html | No | ||
| text | No | ||
| files | No | ||
| markdown | No | ||
| space_id | No | ||
| parent_id | No | ||
| to_person_id | No | ||
| to_person_email | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the alias behavior, explains target parameter exclusivity, and lists all message content options. However, it does not disclose rate limits, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with a summary, note, args list, and returns section. It is concise but packs necessary details. Could be slightly tighter but overall efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 8 parameters, no output schema, and no annotations, the description covers key aspects: target selection, content formats, returns. It could add more about file URL format or HTML usage, but is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explains all 8 parameters in plain language, including their purpose, usage patterns (mutual exclusivity), and optionality, adding significant meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool sends a message to a Webex space or person, with specific verb 'send' and resource 'message'. It distinguishes itself from siblings by noting it is an alias for send_webex_message and lists all message variants among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly guides when to use space_id vs to_person_id/to_person_email, and mentions the alias relationship. It lacks explicit 'when-not-to-use' but provides sufficient context for correct selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webex_membershipA
Update an existing Webex membership (change moderator/monitor status).
Args: membership_id: Membership ID to update (required) is_moderator: Whether the person should be a moderator (optional) is_monitor: Whether the person should be a monitor (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| is_monitor | No | ||
| is_moderator | No | ||
| membership_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It states the tool updates membership and returns a standardized response with success/error information. However, it does not disclose side effects, permissions, idempotency, or error handling specifics, leaving gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise: a one-line summary followed by a structured docstring explaining parameters and return value. Every sentence is informative; no redundant or missing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (3 parameters, no output schema), the description covers purpose, parameters, and return value adequately. It lacks example usage or detailed error information, but is sufficient for an AI agent to understand and invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage, but the description's docstring explains each parameter's purpose (e.g., is_moderator: whether the person should be a moderator). This adds meaning beyond the schema's type and title, clearly linking parameters to their effect.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates an existing Webex membership, specifying it changes moderator/monitor status. The verb 'update' with resource 'Webex membership' is specific, and the scope (moderator/monitor roles) distinguishes it from sibling tools like add, delete, list, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 implies usage by stating 'update an existing membership,' but lacks mention of prerequisites or when not to use it. Sibling tools are present but not referenced in the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webex_messageA
Edit an existing Webex message.
Only the bot or user that sent the original message may edit it. At least one of text or markdown must be provided.
Args: message_id: ID of the message to edit (required) text: New plain text content markdown: New markdown content
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| markdown | No | ||
| message_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It discloses the sender restriction and the requirement for at least one content field, but does not discuss idempotency, rate limits, or potential error states. The mention of a standardized response dictionary is useful but lacks detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured: a short summary, a constraint sentence, a requirement line, a bulleted Args list, and a Returns note. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core functionality and basic constraints, but given no output schema, it could be more complete by describing the response dictionary fields (e.g., success flag, error details). Also, it does not mention whether edits are limited to a certain time window or if the message ID must belong to a specific room.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the tool description must compensate. The Args section clearly defines each parameter: message_id as required ID, text as plain text, markdown as markdown content. This adds meaning beyond the schema's bare property names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Edit an existing Webex message,' providing a specific verb ('Edit') and resource ('existing Webex message'), which distinguishes it from sibling tools like send_webex_message or delete_webex_message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description specifies that only the bot or user who sent the original message may edit it, and that at least one of text or markdown must be provided. This provides clear context for when to use the tool, though it does not explicitly exclude other scenarios or name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webex_roomA
Update an existing Webex room.
Args: room_id: Room ID to update (required) title: New title for the room (optional) classification_id: New classification for the room (optional) is_locked: Whether the room should be locked (optional; same property as is_moderated) is_moderated: Whether the room should be moderated (optional; same property as is_locked) is_public: Whether the room should be public (optional) is_announcement_only: Whether only moderators can post (optional) description: New description for the room (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| room_id | Yes | ||
| is_locked | No | ||
| is_public | No | ||
| description | No | ||
| is_moderated | No | ||
| classification_id | No | ||
| is_announcement_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description discloses parameter aliasing (is_locked/is_moderated) and optionality. However, does not cover permissions, side effects, or whether updates are atomic. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is front-loaded with purpose, then parameter list. Slightly verbose due to docstring format, but efficient and easy to scan. No wasted sentences.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, description states return type. All parameters explained. Lacks mention that room must exist before update. Nearly complete for a mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description compensates well. Each parameter explained with notes (e.g., 'same property as is_locked'). Adds meaning beyond schema, but could include constraints like format or limits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Update an existing Webex room.' Specific verb+resource. Distinct from siblings like create, delete, get, list for rooms. No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage: modify room properties. No explicit when-not or alternatives, but sibling tools for creating, deleting, getting rooms provide context. Lacks explicit guidance on when to avoid this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webex_spaceA
Update an existing Webex space. Note: This is an alias for update_webex_room — "room" and "space" are synonymous in Webex.
Args: space_id: Space ID to update (required) title: New title for the space (optional) classification_id: New classification for the space (optional) is_locked: Whether the space should be locked (optional; same property as is_moderated) is_moderated: Whether the space should be moderated (optional; same property as is_locked) is_public: Whether the space should be public (optional) is_announcement_only: Whether only moderators can post (optional) description: New description for the space (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| title | No | ||
| space_id | Yes | ||
| is_locked | No | ||
| is_public | No | ||
| description | No | ||
| is_moderated | No | ||
| classification_id | No | ||
| is_announcement_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses that is_locked and is_moderated are the same property. No annotations; misses side effects, permissions, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and alias note. Parameter list is clear but could be more structured. Efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Good parameter coverage but lacks behavioral context like idempotency, error handling, or output details. Adequate for an update tool with no output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Provides descriptions for all 8 parameters, adding meaning beyond schema titles. Clarifies locked/moderated synonym. Schema coverage 0% makes this valuable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb 'update' and resource 'existing Webex space'; distinguishes from sibling by noting it's an alias for update_webex_room.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states it's an alias for update_webex_room, clarifying equivalent purpose. Lacks when-not or alternatives to other tools like create or delete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webex_teamA
Update an existing Webex team's name and/or description.
Bot access note: the bot must be a team moderator. If the bot is only a regular member, this operation will fail with a forbidden error.
Args: team_id: Team ID to update (required) name: New name for the team (optional) description: New description for the team (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| team_id | Yes | ||
| description | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries the burden. It discloses that the tool modifies team attributes, requires moderator role, and returns a standardized response. Lacks detail on whether the update is idempotent or any side effects beyond the forbidden error.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Concise: first sentence states purpose, followed by a critical access note, then parameter documentation. Front-loaded with essential information. Slightly verbose in Arg formatting but acceptable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, usage condition, parameters, and return type. Given no output schema, the return description is adequate. For a simple update tool, this is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description lists each parameter with its purpose (team_id required, name/description optional). This adds meaning beyond the schema which only provides types and titles. The Args section compensates for the 0% schema description coverage indicated in context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it updates a Webex team's name and/or description. The verb 'update' and resource 'team' are specific. Among sibling tools, it is distinct as the only update for teams.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the bot must be a team moderator, otherwise the operation fails with a forbidden error. This provides clear when-to-use and 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.
update_webex_webhookA
Update an existing webhook.
The Webex API requires both name and target_url on every update, even when only one field is changing.
Args: webhook_id: The webhook ID to update (required) name: Updated display name for the webhook (required by Webex API) target_url: Updated HTTPS target URL (required by Webex API) secret: Updated signing secret (optional); pass an empty string to clear it status: Updated status — "active" to re-enable or "inactive" to disable (optional)
Returns: Standardized response dictionary with success/error information
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| secret | No | ||
| status | No | ||
| target_url | Yes | ||
| webhook_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It discloses that both name and target_url are required by the Webex API even when only one field is changing, and explains that passing an empty string clears the optional secret. It also describes the return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with sections for Args and Returns, and uses clear bullet points. However, it is slightly verbose for a tool description; could be more concise without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description adequately explains the return value. All parameters are documented, and the behavioral quirks are covered. Complete for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description thoroughly explains each parameter: webhook_id as required, name and target_url as required by API, secret as optional with clearing behavior, and status as optional with allowed values. This adds significant meaning beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Update an existing webhook.' and distinguishes itself from siblings like create_webex_webhook, delete_webex_webhook, get_webex_webhook, and list_webex_webhooks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context on when to use (updating a webhook) and mentions required fields by the API, but does not explicitly state when not to use or mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
webex_health_checkA
Validate Webex connectivity and return a structured diagnostic status.
Checks the bot token (identity + API reachability) and, optionally, lists visible rooms to confirm room-access permissions. Designed for agents that need to self-diagnose before starting a workflow.
Args: include_rooms: When True (default), also verify room-list access.
Returns:
Standardized success response whose data contains:
- overall_status: "healthy", "degraded", or "unhealthy"
- checks: per-check result dicts keyed by check name
- duration_ms: total wall-clock time for all checks
- server_version: running MCP server version
- python_version: Python interpreter version string
``overall_status`` is "healthy" when all checks pass, "unhealthy" when
the token check fails, and "degraded" when the token is valid but a
secondary check (e.g. rooms) errors.| Name | Required | Description | Default |
|---|---|---|---|
| include_rooms | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations, but description thoroughly explains checks (token, API, optional rooms) and return status conditions (healthy, degraded, unhealthy).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Well-structured with Args and Returns sections. Every sentence adds value; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema, but return structure is fully described. All relevant info is present for agent decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single parameter `include_rooms` explained with default behavior. Schema has 0% coverage; description fully compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it validates Webex connectivity and returns structured diagnostic status. Distinct from sibling tools like list_webex_rooms or send_webex_message.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says it's for agents that need to self-diagnose workflow preconditions. Doesn't directly state when not to use, but context makes it clear.
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.
42 tool updates
v0.3.0- First observed
add_webex_membership - First observed
add_webex_space_membership - First observed
add_webex_team_membership - First observed
build_webex_adaptive_card - First observed
create_webex_room - First observed
create_webex_space - First observed
create_webex_webhook - First observed
delete_webex_membership - First observed
delete_webex_message - First observed
delete_webex_room - First observed
delete_webex_space - First observed
delete_webex_team - First observed
delete_webex_team_membership - First observed
delete_webex_webhook - First observed
get_webex_attachment_action - First observed
get_webex_me - First observed
get_webex_room - First observed
get_webex_space - First observed
get_webex_team - First observed
get_webex_webhook - First observed
list_webex_memberships - First observed
list_webex_messages - First observed
list_webex_people - First observed
list_webex_rooms - First observed
list_webex_space_memberships - First observed
list_webex_space_messages - First observed
list_webex_spaces - First observed
list_webex_team_memberships - First observed
list_webex_teams - First observed
list_webex_webhooks - First observed
send_webex_adaptive_card - First observed
send_webex_message - First observed
send_webex_message_with_mentions - First observed
send_webex_space_adaptive_card - First observed
send_webex_space_message - First observed
update_webex_membership - First observed
update_webex_message - First observed
update_webex_room - First observed
update_webex_space - First observed
update_webex_team - First observed
update_webex_webhook - First observed
webex_health_check
TDQS
There are many duplicate tools due to the room/space synonym aliases (e.g., add_webex_membership and add_webex_space_membership are functionally identical with different parameter names). Also, send_webex_message and send_webex_message_with_mentions are very similar, causing potential confusion for agents.
The naming follows a consistent 'verb_webex_noun' pattern with underscores, but the duplication of 'room' and 'space' for the same underlying resource introduces inconsistency. The pattern is recognizable but the aliases break uniformity.
With 42 tools, the count is excessive for a Webex bot server, largely due to many explicit aliases. Unique functionality would likely be under 30 tools. The server attempts to cover a broad domain, but the duplication inflates the number unnecessarily.
The server covers CRUD for rooms, spaces, teams, memberships, messages, and webhooks, plus adaptive card building/sending, health check, and attachment actions. Only minor gaps exist, such as limited file attachment support or lack of meeting-related tools.
Maintenance
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
Connect a Discord bot (bot token from the developer portal) to read/send messages, list guilds and c
Create voice-agent scenarios, pull session analytics, place SIP calls, schedule meeting bots.
Manage, automate and analyze WhatsApp groups, communities and channels with 9bot.
Enable interaction with Slack workspaces. Supports subscribing to Slack events through Resources.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables managing AI meeting bots that can join, record, transcribe meetings, speak, send messages, and display media across platforms like Zoom, Google Meet, and Microsoft Teams.12MIT
- AlicenseNot gradedqualityFmaintenanceEnables AI assistants to interact with Cisco Webex messaging through 52 comprehensive tools covering messages, rooms, teams, people management, webhooks, and enterprise features. Supports both personal and enterprise Webex environments with complete API coverage for messaging operations.4MIT
- AlicenseNot gradedqualityCmaintenanceEnables posting text messages to Google Chat spaces through webhook-based integration, providing simple and secure message delivery without OAuth setup requirements.MIT
- AlicenseBqualityFmaintenanceEnables interaction with Discord channels through a bot, allowing users to send messages and files, retrieve messages with advanced filtering, and download attachments of any type.5184MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/WebexCommunity/webex-bot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server