Webex MCP Server
The Webex MCP Server enables AI assistants to comprehensively interact with Cisco Webex messaging and collaboration features through 52 different tools across various domains:
Message Management: Send, edit, delete, and retrieve messages in Webex rooms
Room/Space Management: Create, manage, and delete Webex rooms/spaces
Team Operations: Create, list, update, and delete Webex teams
Membership Management: Add, remove, and update members in rooms and teams
People and Directory Operations: Manage user profiles and access directory information
Webhook and Event Management: Set up and manage webhooks for event notifications
Enterprise Features: Handle ECM folders, room tabs, attachments, and meeting details
This server supports integration with AI assistants via MCP client in both STDIO and SSE modes.
Enables AI assistants to interact with Cisco enterprise authentication and Webex messaging ecosystem, supporting enterprise content management, team collaboration, and messaging operations.
Provides comprehensive access to Cisco Webex messaging capabilities through 52 different tools covering messages, rooms, teams, people management, webhooks, and enterprise features like ECM folders and room tabs.
Click on "Deploy 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 MCP Serversend a message to the project team room saying the meeting starts in 10 minutes"
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 MCP Server
A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to Cisco Webex messaging capabilities.
From business intent to Webex action
AI agents can use this server as a collaboration action layer: translate a business goal into a sequence of Webex operations, choose the relevant capabilities, and carry the workflow through to completion. That can mean notifying customers, assembling incident-response rooms, maintaining customer teams and spaces, governing people and memberships, reacting to Webex events, or connecting enterprise content and approval interactions.
Because the server exposes messages, rooms, teams, memberships, people, webhooks, events, tabs, attachment actions, and ECM folders as composable MCP tools, agents can build workflows around the business need instead of being limited to one hard-coded automation.
Create launch-ready media from Claude or Codex
This explainer was created from a plain-language request using the Agentic Media Harness. Its agentic-media plugin turns Claude Code or Codex into a production media workflow: it reads your repository, enhances the prompt, generates images or videos, checks motion and script accuracy, iterates on quality, and records every prompt, score, and dollar spent.
Install the plugin once, then create repository-aware product videos, hero images, infographics, and launch assets without leaving your coding agent.
Claude Code
pip install "git+ssh://git@github.com/Kashyap-AI-ML-Solutions/agentic-media-harness.git#subdirectory=packages/amh"
claude plugin marketplace add Kashyap-AI-ML-Solutions/agentic-media-harness
claude plugin install agentic-media@agentic-media-harness
export GEMINI_API_KEY=your_key_here # create + enable billing: https://aistudio.google.com/apikeyCodex CLI
pip install "git+ssh://git@github.com/Kashyap-AI-ML-Solutions/agentic-media-harness.git#subdirectory=packages/amh"
codex plugin marketplace add Kashyap-AI-ML-Solutions/agentic-media-harness
codex plugin add agentic-media@agentic-media-harness
export GEMINI_API_KEY=your_key_here # optional for images; required for videoYou can put GEMINI_API_KEY=your_key in the repository's .env file instead. Never commit that file.
Then open any repository and ask:
Use the media-video skill to create a short explainer video for this repository. Read the README first. My budget is $2.50.
Related MCP server: Glean MCP Server
Overview
This MCP server enables AI assistants to interact with Webex messaging through 52 different tools covering:
Messages: Send, edit, delete, and retrieve messages
Rooms: Create and manage Webex spaces
Teams: Team creation and membership management
People: User management and directory operations
Webhooks: Event notifications and integrations
Enterprise Features: ECM folders, room tabs, and attachments
Features
✅ Complete Webex API Coverage: 52 tools covering all major messaging operations
✅ Docker Support: Production-ready containerization
✅ Dual Transport: Both STDIO and HTTP (StreamableHTTP) modes
✅ Enterprise Ready: Supports Cisco enterprise authentication
✅ Type Safe: Full TypeScript/JavaScript implementation with proper error handling
✅ Centralized Configuration: Easy token and endpoint management
Quick Start
Prerequisites
Node.js 18+ (20+ recommended). Warning: if you run with a lower version of Node,
fetchwon't be present. Tools usefetchto make HTTP calls. To work around this, you can modify the tools to usenode-fetchinstead. Make sure thatnode-fetchis installed as a dependency and then import it asfetchinto each tool file.Docker (optional, for containerized deployment)
Webex API token from developer.webex.com
Token Renewal
Webex Bearer tokens are short-lived. Your current token expires in 12 hours. To renew:
Visit: https://developer.webex.com/messaging/docs/api/v1/rooms/list-rooms
Login with your email
Copy the new bearer token from your profile
Update environment variable "WEBEX_PUBLIC_WORKSPACE_API_KEY" with new token (remove "Bearer " prefix)
Installation
Clone and install dependencies:
git clone <repository-url> cd webex-messaging-mcp-server npm installConfigure environment:
cp .env.example .env # Edit .env with your Webex API tokenTest the server:
# List available tools node index.js tools # Discover tools with detailed analysis npm run discover-tools # Start MCP server (STDIO mode - default) node mcpServer.js # Start MCP server (HTTP mode) npm run start:http
🔍 Tool Discovery
The server includes comprehensive tool discovery capabilities:
Tool Discovery Commands
# Human-readable tool analysis
npm run discover-tools
# JSON output for programmatic use
npm run discover-tools -- --json
# Filter tools by category
ENABLED_TOOLS=create_message,list_rooms npm run discover-tools
# Get help
npm run discover-tools -- --helpTool Manifest
The tools-manifest.json file provides:
Tool Categories: Messages, Rooms, Teams, Memberships, People, Webhooks, Enterprise
52 Total Tools: Complete Webex messaging API coverage
Environment Configuration: Required and optional variables
Testing Information: Coverage and validation details
Migration History: MCP protocol upgrade documentation
Tool Organization
Tools are organized by functionality:
Messages (6 tools): Create, list, edit, delete messages
Rooms (6 tools): Room management and configuration
Teams (5 tools): Team creation and management
Memberships (10 tools): Room and team membership operations
People (6 tools): User profile and directory management
Webhooks (7 tools): Event notifications and webhook management
Enterprise (12 tools): ECM folders, room tabs, attachments
Tool selection and behavior metadata
All 52 tools publish MCP annotations plus compact selection and behavior
guidance through tools/list. The original purpose sentence and input schema
remain unchanged; the appended guidance identifies the closest sibling tool,
whether the operation reads or changes Webex state, and how API errors and
rate limits are returned.
Annotations are descriptive hints for MCP clients, not authorization controls. The Webex access token and organization policies remain authoritative.
Docker Usage
Build and run:
docker build -t webex-mcp-server . docker run -i --rm --env-file .env webex-mcp-serverUsing docker-compose:
docker-compose up webex-mcp-server
Configuration
Environment Variables
Variable | Required | Description | Default |
| Yes | Webex API token (without "Bearer " prefix) | - |
| No | Webex API base URL |
|
| No | Your Webex email (for reference) | - |
| No | Port for HTTP mode |
|
| No | Transport mode ( |
|
Getting a Webex API Token
Visit developer.webex.com
Sign in with your Cisco/Webex account
Copy the bearer token from the API documentation
Important: Remove the "Bearer " prefix when adding to your
.envfile
MCP Client Integration
Claude Desktop (STDIO Mode)
Add to your Claude Desktop configuration:
{
"mcpServers": {
"webex-messaging": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"WEBEX_PUBLIC_WORKSPACE_API_KEY",
"-e",
"WEBEX_USER_EMAIL",
"-e",
"WEBEX_API_BASE_URL",
"webex-mcp-server"
],
"env": {
"WEBEX_USER_EMAIL": "your.email@company.com",
"WEBEX_API_BASE_URL": "https://webexapis.com/v1",
"WEBEX_PUBLIC_WORKSPACE_API_KEY": "your_token_here"
}
}
}
}HTTP Mode Integration
For HTTP-based MCP clients, start the server in HTTP mode:
# Start HTTP server
npm run start:http
# Server endpoints:
# Health check: http://localhost:3001/health
# MCP endpoint: http://localhost:3001/mcpThe server supports MCP 2025-11-25 protocol with StreamableHTTP transport, including:
Proper CORS configuration with
mcp-session-idheader exposureSession management for stateful connections
Server-Sent Events (SSE) response format
Other MCP Clients
For STDIO mode:
docker run -i --rm --env-file .env webex-mcp-serverFor HTTP mode:
docker run -p 3001:3001 --rm --env-file .env webex-mcp-server --httpAvailable Tools
Core Messaging
create_message- Send messages to roomslist_messages- Retrieve message historyedit_message- Modify existing messagesdelete_message- Remove messagesget_message_details- Get specific message information
Room Management
create_room- Create new Webex spaceslist_rooms- Browse available roomsget_room_details- Get room informationupdate_room- Modify room settingsdelete_room- Remove rooms
Team Operations
create_team- Create teamslist_teams- Browse teamsget_team_details- Get team informationupdate_team- Modify team settingsdelete_team- Remove teams
Membership Management
create_membership- Add people to roomslist_memberships- View room membersupdate_membership- Change member rolesdelete_membership- Remove memberscreate_team_membership- Add team memberslist_team_memberships- View team members
People & Directory
get_my_own_details- Get your profilelist_people- Search for usersget_person_details- Get user informationcreate_person- Add new users (admin only)update_person- Modify user detailsdelete_person- Remove users (admin only)
Webhooks & Events
create_webhook- Set up event notificationslist_webhooks- Manage webhooksget_webhook_details- Get webhook informationupdate_webhook- Modify webhooksdelete_webhook- Remove webhookslist_events- Get activity logsget_event_details- Get specific event information
Enterprise Features
create_room_tab- Add tabs to roomslist_room_tabs- View room tabsget_room_tab_details- Get tab informationupdate_room_tab- Modify tabsdelete_room_tab- Remove tabscreate_attachment_action- Handle form submissionsget_attachment_action_details- Get attachment detailslist_ecm_folder- Enterprise content managementget_ecm_folder_details- Get ECM folder detailscreate_ecm_folder- Create ECM configurationsupdate_ecm_linked_folder- Modify ECM foldersunlink_ecm_linked_folder- Remove ECM links
Transport Modes
STDIO Mode (Default)
The default transport mode for MCP clients like Claude Desktop:
# Start in STDIO mode
node mcpServer.js
# or
npm startHTTP Mode (StreamableHTTP)
HTTP-based transport supporting MCP 2025-11-25 protocol:
# Start in HTTP mode
npm run start:http
# or
node mcpServer.js --httpHTTP Mode Features:
Health Check:
GET http://localhost:3001/healthMCP Endpoint:
POST http://localhost:3001/mcpSession Management: Automatic session ID handling
CORS Support: Proper cross-origin configuration
Protocol: MCP 2025-11-25 with StreamableHTTP transport
Environment Variables:
MCP_MODE=http- Force HTTP modePORT=3001- Custom port (default: 3001)
Smithery Integration
The server is configured for automatic deployment via Smithery with HTTP runtime:
# smithery.yaml
runtime: "nodejs"
main: "mcpServer.js"
envMapping:
webexApiKey: "WEBEX_PUBLIC_WORKSPACE_API_KEY"
webexApiBaseUrl: "WEBEX_API_BASE_URL"Deploy with: smithery deploy
Development
Project Structure
├── lib/
│ ├── tools.js # Tool discovery and loading
│ └── webex-config.js # Centralized API configuration
├── tools/
│ └── webex-public-workspace/webex-messaging/
│ ├── create-a-message.js
│ ├── list-messages.js
│ └── ... (50 more tools)
├── scripts/
│ └── update-webex-tools.js # Automated tool updates
├── mcpServer.js # Main MCP server
├── index.js # CLI interface
├── Dockerfile # Container configuration
└── docker-compose.yml # Multi-container setupAdding New Tools
Create a new tool file in
tools/webex-public-workspace/webex-messaging/Follow the existing tool pattern with proper imports
Add the tool path to
tools/paths.jsTest with
node index.js tools
Security
Non-root container: Runs as user
mcp(UID 1001)Multi-stage build: Optimized production image
Environment isolation: Secrets passed via environment variables
Health checks: Container monitoring support
Testing
🧪 Comprehensive Test Suite
118 unit tests across 53 test suites
100% pass rate with comprehensive coverage
50+ API endpoints tested end-to-end
20+ critical bug fixes validated
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Run tests locally (same as npm test)
npm run test:local
# Validate code quality + tests
npm run validate🔒 Pre-Commit Quality Gates
Automatic quality assurance using Husky pre-commit hooks:
# Automatically runs on git commit:
🚀 Running pre-commit validation...
🔍 Checking code quality and running 118 unit tests...
✅ All validations passed! Commit proceeding...What's validated:
JavaScript syntax checking
All 118 unit tests must pass
Code quality standards
API implementation correctness
See tests/README.md for detailed testing documentation.
Contributing
Fork the repository
Create a feature branch
Make your changes
Tests run automatically on commit via pre-commit hooks
Ensure all 118 tests pass
Submit a pull request
License
MIT License - see LICENSE file for details
Support
Issues: Report bugs and feature requests via GitHub issues
Documentation: See SETUP-COMPLETE.md for detailed setup instructions
Community: Join discussions in the MCP community channels
Available Tools
52 toolscreate_attachment_actionC
Create a new attachment action in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | Yes | ||
| messageId | Yes | The ID of the message to which the attachment is related. | |
| type | Yes | The type of the action (e.g., "submit"). |
create_ecm_folderC
Create an ECM folder configuration in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| contentUrl | Yes | The URL of the content associated with the folder. | |
| defaultFolder | No | Whether this folder is the default folder. | |
| displayName | Yes | The display name for the folder. | |
| driveId | Yes | The ID of the drive where the folder is located. | |
| itemId | Yes | The ID of the item (folder) to be linked. | |
| roomId | Yes | The ID of the room where the folder will be linked. |
create_membershipC
Create a membership in a Webex room.
| Name | Required | Description | Default |
|---|---|---|---|
| isModerator | No | Whether the person should be a moderator in the room. | |
| personEmail | Yes | The email of the person to be added to the room. | |
| personId | Yes | The ID of the person to be added to the room. | |
| roomId | Yes | The ID of the room to which the member is being added. |
create_messageC
Create a message in a Webex room.
| Name | Required | Description | Default |
|---|---|---|---|
| attachments | No | An array of attachment objects. | |
| files | No | An array of file URLs to attach to the message. | |
| markdown | No | The message in markdown format. | |
| parentId | No | The ID of the parent message (if this is a reply). | |
| roomId | Yes | The ID of the room where the message will be sent. | |
| text | Yes | The plain text message to send. | |
| toPersonEmail | No | The email of the person to whom the message is directed. | |
| toPersonId | No | The ID of the person to whom the message is directed. |
create_personC
Create a new person in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| addresses | No | The addresses associated with the person. | |
| avatar | No | The avatar URL for the person. | |
| department | No | The department of the person. | |
| displayName | No | The display name of the person. | |
| emails | Yes | The email addresses associated with the person. | |
| extension | No | The extension number for the person. | |
| firstName | Yes | The first name of the person. | |
| lastName | Yes | The last name of the person. | |
| licenses | No | The licenses associated with the person. | |
| locationId | No | The location ID for the person. | |
| manager | No | The name of the manager for the person. | |
| managerId | No | The manager ID for the person. | |
| orgId | No | The organization ID for the person. | |
| phoneNumbers | No | The phone numbers associated with the person. | |
| roles | No | The roles assigned to the person. | |
| siteUrls | No | The site URLs associated with the person. | |
| title | No | The title of the person. |
create_roomC
Create a room in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| classificationId | Yes | The classification ID for the room. | |
| description | No | The description of the room. | |
| isAnnouncementOnly | No | Whether the room is announcement only. | |
| isLocked | No | Whether the room is locked. | |
| isPublic | No | Whether the room is public. | |
| teamId | Yes | The ID of the team to which the room belongs. | |
| title | Yes | The title of the room. |
create_room_tabC
Create a tab in a specified room.
| Name | Required | Description | Default |
|---|---|---|---|
| contentUrl | Yes | The URL to be displayed in the tab. | |
| displayName | Yes | The name to be displayed for the tab. | |
| roomId | Yes | The ID of the room where the tab will be added. |
create_teamC
Create a team in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | A description of the team. | |
| name | Yes | The name of the team. |
create_team_membershipC
Create a team membership in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| isModerator | No | Indicates if the person should be a moderator. | |
| personEmail | Yes | The email address of the person to be added to the team. | |
| personId | Yes | The ID of the person to be added to the team. | |
| teamId | Yes | The ID of the team to which the person will be added. |
create_webhookC
Create a webhook in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| event | Yes | The event to trigger the webhook (e.g., created). | |
| filter | Yes | The filter for the webhook. | |
| name | Yes | The name of the webhook. | |
| ownedBy | Yes | The owner of the webhook. | |
| resource | Yes | The resource to monitor (e.g., messages). | |
| secret | Yes | The secret for the webhook. | |
| targetUrl | Yes | The target URL for the webhook. |
delete_membershipC
Delete a membership by ID in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| membershipId | Yes | The unique identifier for the membership to be deleted. |
delete_messageC
Delete a message in Webex by message ID.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | The unique identifier for the message to be deleted. |
delete_personB
Delete a person from the system.
| Name | Required | Description | Default |
|---|---|---|---|
| personId | Yes | The unique identifier for the person to be deleted. |
delete_roomC
Delete a room in Webex by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| roomId | Yes | The unique identifier for the room to be deleted. |
delete_room_tabC
Delete a Room Tab in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier for the Room Tab to delete. |
delete_teamC
Delete a team by ID in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | The unique identifier for the team to be deleted. |
delete_team_membershipC
Delete a team membership by ID in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| membershipId | Yes | The unique identifier for the team membership to be deleted. |
delete_webhookC
Delete a webhook by its ID from the Webex Messaging API.
| Name | Required | Description | Default |
|---|---|---|---|
| webhookId | Yes | The unique identifier for the webhook to be deleted. |
edit_messageC
Edit a message in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| markdown | No | The new markdown for the message (optional). | |
| messageId | Yes | The unique identifier for the message to edit. | |
| roomId | Yes | The ID of the room where the message is located. | |
| text | Yes | The new text for the message. |
get_attachment_action_detailsC
Get details for an attachment action by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier for the attachment action. |
get_ecm_folder_detailsB
Get details for a room ECM folder with the specified folder ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier for the folder. |
get_event_detailsB
Get details for a specific event by event ID.
| Name | Required | Description | Default |
|---|---|---|---|
| eventId | Yes | The unique identifier for the event. |
get_membership_detailsC
Get details for a membership by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| membershipId | Yes | The unique identifier for the membership. |
get_message_detailsC
Get details of a message by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| messageId | Yes | The unique identifier for the message. |
get_my_own_detailsC
Get profile details for the authenticated user.
| Name | Required | Description | Default |
|---|---|---|---|
| callingData | No | Include Webex Calling user details in the response. |
get_person_detailsC
Get details of a person by their ID from Webex Messaging API.
| Name | Required | Description | Default |
|---|---|---|---|
| callingData | No | Include Webex Calling user details in the response. | |
| personId | Yes | The unique identifier for the person. |
get_room_detailsC
Get details of a room by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| roomId | Yes | The unique identifier for the room. |
get_room_meeting_detailsC
Get details of a Webex meeting for a specific room.
| Name | Required | Description | Default |
|---|---|---|---|
| roomId | Yes | The unique identifier for the room. |
get_room_tab_detailsB
Get details for a Room Tab in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier for the Room Tab. |
get_team_detailsC
Get details for a team by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | The team's description. | |
| teamId | Yes | The unique identifier for the team. |
get_team_membership_detailsC
Get details for a team membership by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| membershipId | Yes | The unique identifier for the team membership. |
get_webhook_detailsC
Get details of a webhook by its ID.
| Name | Required | Description | Default |
|---|---|---|---|
| webhookId | Yes | The unique identifier for the webhook. |
list_direct_messagesC
List all messages in a 1:1 room.
| Name | Required | Description | Default |
|---|---|---|---|
| parentId | Yes | The parent ID to filter messages. | |
| personEmail | Yes | The person email to filter messages in a 1:1 room. | |
| personId | Yes | The person ID to filter messages in a 1:1 room. |
list_ecm_folderC
List the ECM folder of a specified room in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| roomId | Yes | The ID of the room for which to list the ECM folder. |
list_eventsC
List events in your organization using the Webex Messaging API.
| Name | Required | Description | Default |
|---|---|---|---|
| actorId | Yes | The ID of the actor to filter events. | |
| from | Yes | The start date to filter events. | |
| max | No | The maximum number of events to return. | |
| resource | No | The resource type to filter events. | |
| to | Yes | The end date to filter events. | |
| type | No | The type of events to list. |
list_membershipsC
List memberships in a Webex room.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | The maximum number of memberships to return. | |
| personEmail | No | The email address of the person to filter memberships by. | |
| personId | No | The ID of the person to filter memberships by. | |
| roomId | Yes | The ID of the room to list memberships for. |
list_messagesC
List messages in a Webex room.
| Name | Required | Description | Default |
|---|---|---|---|
| before | No | List messages sent before a specific date and time. | |
| beforeMessage | No | List messages sent before a specific message, by ID. | |
| max | No | Limit the maximum number of messages in the response. | |
| mentionedPeople | No | List messages with these people mentioned, by ID. | |
| parentId | No | The ID of the parent message to filter by. | |
| roomId | Yes | The ID of the room to list messages from. |
list_peopleC
List people in an organization using the Webex Messaging API.
| Name | Required | Description | Default |
|---|---|---|---|
| callingData | No | Include Webex Calling user details in the response. | |
| displayName | No | List people whose name starts with this string. For non-admin requests, either this or email are required. | |
| No | List people with this email address. For non-admin requests, either this or displayName are required. | ||
| id | No | List people by ID. Accepts up to 85 person IDs separated by commas. | |
| locationId | No | List people present in this location. | |
| max | No | Limit the maximum number of people in the response. | |
| orgId | No | List people in this organization. Only admin users of another organization may use this parameter. | |
| roles | No | List of roleIds separated by commas. |
list_roomsB
List rooms for the authenticated user in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Filters rooms made public after this time. | |
| max | No | The maximum number of rooms to return. | |
| orgPublicSpaces | No | Whether to show the org's public spaces. Cannot be used with type parameter. | |
| sortBy | No | The field to sort the results by. | |
| teamId | No | The ID of the team to list rooms for (optional - if not provided, lists all accessible rooms). | |
| to | No | Filters rooms made public before this time. | |
| type | No | The type of rooms to list. Cannot be used with orgPublicSpaces parameter. |
list_room_tabsC
List room tabs for a specified room in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| roomId | Yes | The ID of the room for which to list room tabs. |
list_team_membershipsC
List team memberships for a given team in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | The maximum number of team memberships to return. | |
| teamId | Yes | The ID of the team to list memberships for. |
list_teamsC
List teams for the authenticated user in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | The maximum number of teams to return. |
list_webhooksB
List all webhooks for the organization.
| Name | Required | Description | Default |
|---|---|---|---|
| max | No | Limit the maximum number of webhooks in the response. | |
| ownedBy | No | Limit the result list to organization-wide webhooks. |
unlink_ecm_linked_folderB
Unlink an ECM linked folder from a space in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The unique identifier for the folder to disassociate from the space. |
update_ecm_linked_folderC
Update an ECM linked folder in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| contentUrl | Yes | The URL for the content. | |
| defaultFolder | No | Whether this is the default folder. | |
| displayName | Yes | The display name for the folder. | |
| driveId | Yes | The ID of the drive. | |
| id | Yes | The unique identifier for the room folder. | |
| itemId | Yes | The ID of the item. | |
| roomId | Yes | The room ID associated with the folder. |
update_membershipC
Update a membership in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| isModerator | Yes | Indicates if the user is a moderator. | |
| isRoomHidden | Yes | Indicates if the room is hidden. | |
| membershipId | Yes | The unique identifier for the membership. |
update_personC
Update a person's details in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| personDetails | Yes | The details of the person to update. | |
| personId | Yes | The unique identifier for the person to update. |
update_roomC
Update a room in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| classificationId | No | The classification ID of the room. | |
| description | No | The description of the room. | |
| isAnnouncementOnly | No | Indicates if the room is announcement only. | |
| isLocked | No | Indicates if the room is locked. | |
| isPublic | No | Indicates if the room is public. | |
| isReadOnly | No | Indicates if the room is read-only. | |
| roomId | Yes | The unique identifier for the room. | |
| teamId | No | The team ID associated with the room. | |
| title | No | The title of the room. |
update_room_tabC
Update a Room Tab in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| contentUrl | Yes | The new content URL for the tab. | |
| displayName | Yes | The display name for the tab. | |
| id | Yes | The unique identifier for the Room Tab. | |
| roomId | Yes | The ID of the room to which the tab belongs. |
update_teamC
Update a team in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| description | Yes | The new description for the team. | |
| name | Yes | The new name for the team. | |
| teamId | Yes | The unique identifier for the team. |
update_team_membershipC
Update a team membership in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| isModerator | Yes | Indicates if the user is a moderator. | |
| membershipId | Yes | The unique identifier for the team membership. |
update_webhookC
Update a webhook in Webex.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | The name of the webhook. | |
| secret | Yes | The secret for the webhook. | |
| status | Yes | The status of the webhook (e.g., active). | |
| targetUrl | Yes | The target URL for the webhook. | |
| webhookId | Yes | The unique identifier for the webhook. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
52 tool updates
v1.0.0- First observed
create_attachment_action - First observed
create_ecm_folder - First observed
create_membership - First observed
create_message - First observed
create_person - First observed
create_room - First observed
create_room_tab - First observed
create_team - First observed
create_team_membership - First observed
create_webhook - First observed
delete_membership - First observed
delete_message - First observed
delete_person - First observed
delete_room - First observed
delete_room_tab - First observed
delete_team - First observed
delete_team_membership - First observed
delete_webhook - First observed
edit_message - First observed
get_attachment_action_details - First observed
get_ecm_folder_details - First observed
get_event_details - First observed
get_membership_details - First observed
get_message_details - First observed
get_my_own_details - First observed
get_person_details - First observed
get_room_details - First observed
get_room_meeting_details - First observed
get_room_tab_details - First observed
get_team_details - First observed
get_team_membership_details - First observed
get_webhook_details - First observed
list_direct_messages - First observed
list_ecm_folder - First observed
list_events - First observed
list_memberships - First observed
list_messages - First observed
list_people - First observed
list_room_tabs - First observed
list_rooms - First observed
list_team_memberships - First observed
list_teams - First observed
list_webhooks - First observed
unlink_ecm_linked_folder - First observed
update_ecm_linked_folder - First observed
update_membership - First observed
update_person - First observed
update_room - First observed
update_room_tab - First observed
update_team - First observed
update_team_membership - First observed
update_webhook
TDQS
Scored across 52 tools
Each tool targets a distinct resource and action. Even with 52 tools, there is no overlap—for example, list_direct_messages is specifically for 1:1 rooms, distinct from list_messages. All tools have clear, specific purposes.
All tool names follow a consistent verb_noun pattern using standard verbs (create, get, list, update, delete, edit, unlink). The naming is predictable and uniform across the entire set.
With 52 tools, this server falls into the extreme mismatch category per calibration. Even for a broad API like Webex, this number is excessive and likely overwhelms agents; it would be better split into focused servers.
The tool set covers a wide range of Webex features including people, rooms, messages, memberships, teams, webhooks, room tabs, ECM folders, attachment actions, events, and meetings. There are minor gaps (e.g., no update or list for attachment actions), but overall the surface is comprehensive.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.
MCP server that lets your AI assistant build and deploy apps, hosting each one at a live URL.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that enables AI assistants to manage meeting data, including creating meeting bots, searching transcripts, and organizing calendar events.30MIT
- AlicenseBqualityFmaintenanceA Model Context Protocol server that provides AI assistants with access to Glean's enterprise knowledge features, including content search, people directory, and AI chat capabilities.33 npm62MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides AI models with structured access to external data and services, acting as a bridge between AI assistants and applications, databases, and APIs in a standardized, secure way.2-
- AlicenseAqualityBmaintenanceA Model Context Protocol server that provides AI assistants with access to Microsoft Teams, enabling interaction with teams, channels, chats, and organizational data through Microsoft Graph APIs.191,387 npm150MIT