Skip to main content
Glama

Webex MCP Server

A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to Cisco Webex messaging capabilities.

Listed on Spark Install via Spark

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/apikey

Codex 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 video

You 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, fetch won't be present. Tools use fetch to make HTTP calls. To work around this, you can modify the tools to use node-fetch instead. Make sure that node-fetch is installed as a dependency and then import it as fetch into 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:

  1. Visit: https://developer.webex.com/messaging/docs/api/v1/rooms/list-rooms

  2. Login with your email

  3. Copy the new bearer token from your profile

  4. Update environment variable "WEBEX_PUBLIC_WORKSPACE_API_KEY" with new token (remove "Bearer " prefix)

Installation

  1. Clone and install dependencies:

    git clone <repository-url>
    cd webex-messaging-mcp-server
    npm install
  2. Configure environment:

    cp .env.example .env
    # Edit .env with your Webex API token
  3. Test 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 -- --help

Tool 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

  1. Build and run:

    docker build -t webex-mcp-server .
    docker run -i --rm --env-file .env webex-mcp-server
  2. Using docker-compose:

    docker-compose up webex-mcp-server

Configuration

Environment Variables

Variable

Required

Description

Default

WEBEX_PUBLIC_WORKSPACE_API_KEY

Yes

Webex API token (without "Bearer " prefix)

-

WEBEX_API_BASE_URL

No

Webex API base URL

https://webexapis.com/v1

WEBEX_USER_EMAIL

No

Your Webex email (for reference)

-

PORT

No

Port for HTTP mode

3001

MCP_MODE

No

Transport mode (stdio or http)

stdio

Getting a Webex API Token

  1. Visit developer.webex.com

  2. Sign in with your Cisco/Webex account

  3. Copy the bearer token from the API documentation

  4. Important: Remove the "Bearer " prefix when adding to your .env file

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/mcp

The server supports MCP 2025-11-25 protocol with StreamableHTTP transport, including:

  • Proper CORS configuration with mcp-session-id header exposure

  • Session 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-server

For HTTP mode:

docker run -p 3001:3001 --rm --env-file .env webex-mcp-server --http

Available Tools

Core Messaging

  • create_message - Send messages to rooms

  • list_messages - Retrieve message history

  • edit_message - Modify existing messages

  • delete_message - Remove messages

  • get_message_details - Get specific message information

Room Management

  • create_room - Create new Webex spaces

  • list_rooms - Browse available rooms

  • get_room_details - Get room information

  • update_room - Modify room settings

  • delete_room - Remove rooms

Team Operations

  • create_team - Create teams

  • list_teams - Browse teams

  • get_team_details - Get team information

  • update_team - Modify team settings

  • delete_team - Remove teams

Membership Management

  • create_membership - Add people to rooms

  • list_memberships - View room members

  • update_membership - Change member roles

  • delete_membership - Remove members

  • create_team_membership - Add team members

  • list_team_memberships - View team members

People & Directory

  • get_my_own_details - Get your profile

  • list_people - Search for users

  • get_person_details - Get user information

  • create_person - Add new users (admin only)

  • update_person - Modify user details

  • delete_person - Remove users (admin only)

Webhooks & Events

  • create_webhook - Set up event notifications

  • list_webhooks - Manage webhooks

  • get_webhook_details - Get webhook information

  • update_webhook - Modify webhooks

  • delete_webhook - Remove webhooks

  • list_events - Get activity logs

  • get_event_details - Get specific event information

Enterprise Features

  • create_room_tab - Add tabs to rooms

  • list_room_tabs - View room tabs

  • get_room_tab_details - Get tab information

  • update_room_tab - Modify tabs

  • delete_room_tab - Remove tabs

  • create_attachment_action - Handle form submissions

  • get_attachment_action_details - Get attachment details

  • list_ecm_folder - Enterprise content management

  • get_ecm_folder_details - Get ECM folder details

  • create_ecm_folder - Create ECM configurations

  • update_ecm_linked_folder - Modify ECM folders

  • unlink_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 start

HTTP Mode (StreamableHTTP)

HTTP-based transport supporting MCP 2025-11-25 protocol:

# Start in HTTP mode
npm run start:http
# or
node mcpServer.js --http

HTTP Mode Features:

  • Health Check: GET http://localhost:3001/health

  • MCP Endpoint: POST http://localhost:3001/mcp

  • Session 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 mode

  • PORT=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 setup

Adding New Tools

  1. Create a new tool file in tools/webex-public-workspace/webex-messaging/

  2. Follow the existing tool pattern with proper imports

  3. Add the tool path to tools/paths.js

  4. Test 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

  1. Fork the repository

  2. Create a feature branch

  3. Make your changes

  4. Tests run automatically on commit via pre-commit hooks

  5. Ensure all 118 tests pass

  6. 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 tools
create_attachment_actionC

Create a new attachment action in Webex.

NameRequiredDescriptionDefault
inputsYes
messageIdYesThe ID of the message to which the attachment is related.
typeYesThe type of the action (e.g., "submit").
create_ecm_folderC

Create an ECM folder configuration in Webex.

NameRequiredDescriptionDefault
contentUrlYesThe URL of the content associated with the folder.
defaultFolderNoWhether this folder is the default folder.
displayNameYesThe display name for the folder.
driveIdYesThe ID of the drive where the folder is located.
itemIdYesThe ID of the item (folder) to be linked.
roomIdYesThe ID of the room where the folder will be linked.
create_membershipC

Create a membership in a Webex room.

NameRequiredDescriptionDefault
isModeratorNoWhether the person should be a moderator in the room.
personEmailYesThe email of the person to be added to the room.
personIdYesThe ID of the person to be added to the room.
roomIdYesThe ID of the room to which the member is being added.
create_messageC

Create a message in a Webex room.

NameRequiredDescriptionDefault
attachmentsNoAn array of attachment objects.
filesNoAn array of file URLs to attach to the message.
markdownNoThe message in markdown format.
parentIdNoThe ID of the parent message (if this is a reply).
roomIdYesThe ID of the room where the message will be sent.
textYesThe plain text message to send.
toPersonEmailNoThe email of the person to whom the message is directed.
toPersonIdNoThe ID of the person to whom the message is directed.
create_personC

Create a new person in Webex.

NameRequiredDescriptionDefault
addressesNoThe addresses associated with the person.
avatarNoThe avatar URL for the person.
departmentNoThe department of the person.
displayNameNoThe display name of the person.
emailsYesThe email addresses associated with the person.
extensionNoThe extension number for the person.
firstNameYesThe first name of the person.
lastNameYesThe last name of the person.
licensesNoThe licenses associated with the person.
locationIdNoThe location ID for the person.
managerNoThe name of the manager for the person.
managerIdNoThe manager ID for the person.
orgIdNoThe organization ID for the person.
phoneNumbersNoThe phone numbers associated with the person.
rolesNoThe roles assigned to the person.
siteUrlsNoThe site URLs associated with the person.
titleNoThe title of the person.
create_roomC

Create a room in Webex.

NameRequiredDescriptionDefault
classificationIdYesThe classification ID for the room.
descriptionNoThe description of the room.
isAnnouncementOnlyNoWhether the room is announcement only.
isLockedNoWhether the room is locked.
isPublicNoWhether the room is public.
teamIdYesThe ID of the team to which the room belongs.
titleYesThe title of the room.
create_room_tabC

Create a tab in a specified room.

NameRequiredDescriptionDefault
contentUrlYesThe URL to be displayed in the tab.
displayNameYesThe name to be displayed for the tab.
roomIdYesThe ID of the room where the tab will be added.
create_teamC

Create a team in Webex.

NameRequiredDescriptionDefault
descriptionYesA description of the team.
nameYesThe name of the team.
create_team_membershipC

Create a team membership in Webex.

NameRequiredDescriptionDefault
isModeratorNoIndicates if the person should be a moderator.
personEmailYesThe email address of the person to be added to the team.
personIdYesThe ID of the person to be added to the team.
teamIdYesThe ID of the team to which the person will be added.
create_webhookC

Create a webhook in Webex.

NameRequiredDescriptionDefault
eventYesThe event to trigger the webhook (e.g., created).
filterYesThe filter for the webhook.
nameYesThe name of the webhook.
ownedByYesThe owner of the webhook.
resourceYesThe resource to monitor (e.g., messages).
secretYesThe secret for the webhook.
targetUrlYesThe target URL for the webhook.
delete_membershipC

Delete a membership by ID in Webex.

NameRequiredDescriptionDefault
membershipIdYesThe unique identifier for the membership to be deleted.
delete_messageC

Delete a message in Webex by message ID.

NameRequiredDescriptionDefault
messageIdYesThe unique identifier for the message to be deleted.
delete_personB

Delete a person from the system.

NameRequiredDescriptionDefault
personIdYesThe unique identifier for the person to be deleted.
delete_roomC

Delete a room in Webex by its ID.

NameRequiredDescriptionDefault
roomIdYesThe unique identifier for the room to be deleted.
delete_room_tabC

Delete a Room Tab in Webex.

NameRequiredDescriptionDefault
idYesThe unique identifier for the Room Tab to delete.
delete_teamC

Delete a team by ID in Webex.

NameRequiredDescriptionDefault
teamIdYesThe unique identifier for the team to be deleted.
delete_team_membershipC

Delete a team membership by ID in Webex.

NameRequiredDescriptionDefault
membershipIdYesThe unique identifier for the team membership to be deleted.
delete_webhookC

Delete a webhook by its ID from the Webex Messaging API.

NameRequiredDescriptionDefault
webhookIdYesThe unique identifier for the webhook to be deleted.
edit_messageC

Edit a message in Webex.

NameRequiredDescriptionDefault
markdownNoThe new markdown for the message (optional).
messageIdYesThe unique identifier for the message to edit.
roomIdYesThe ID of the room where the message is located.
textYesThe new text for the message.
get_attachment_action_detailsC

Get details for an attachment action by ID.

NameRequiredDescriptionDefault
idYesThe unique identifier for the attachment action.
get_ecm_folder_detailsB

Get details for a room ECM folder with the specified folder ID.

NameRequiredDescriptionDefault
idYesThe unique identifier for the folder.
get_event_detailsB

Get details for a specific event by event ID.

NameRequiredDescriptionDefault
eventIdYesThe unique identifier for the event.
get_membership_detailsC

Get details for a membership by ID.

NameRequiredDescriptionDefault
membershipIdYesThe unique identifier for the membership.
get_message_detailsC

Get details of a message by its ID.

NameRequiredDescriptionDefault
messageIdYesThe unique identifier for the message.
get_my_own_detailsC

Get profile details for the authenticated user.

NameRequiredDescriptionDefault
callingDataNoInclude Webex Calling user details in the response.
get_person_detailsC

Get details of a person by their ID from Webex Messaging API.

NameRequiredDescriptionDefault
callingDataNoInclude Webex Calling user details in the response.
personIdYesThe unique identifier for the person.
get_room_detailsC

Get details of a room by ID.

NameRequiredDescriptionDefault
roomIdYesThe unique identifier for the room.
get_room_meeting_detailsC

Get details of a Webex meeting for a specific room.

NameRequiredDescriptionDefault
roomIdYesThe unique identifier for the room.
get_room_tab_detailsB

Get details for a Room Tab in Webex.

NameRequiredDescriptionDefault
idYesThe unique identifier for the Room Tab.
get_team_detailsC

Get details for a team by ID.

NameRequiredDescriptionDefault
descriptionNoThe team's description.
teamIdYesThe unique identifier for the team.
get_team_membership_detailsC

Get details for a team membership by ID.

NameRequiredDescriptionDefault
membershipIdYesThe unique identifier for the team membership.
get_webhook_detailsC

Get details of a webhook by its ID.

NameRequiredDescriptionDefault
webhookIdYesThe unique identifier for the webhook.
list_direct_messagesC

List all messages in a 1:1 room.

NameRequiredDescriptionDefault
parentIdYesThe parent ID to filter messages.
personEmailYesThe person email to filter messages in a 1:1 room.
personIdYesThe person ID to filter messages in a 1:1 room.
list_ecm_folderC

List the ECM folder of a specified room in Webex.

NameRequiredDescriptionDefault
roomIdYesThe ID of the room for which to list the ECM folder.
list_eventsC

List events in your organization using the Webex Messaging API.

NameRequiredDescriptionDefault
actorIdYesThe ID of the actor to filter events.
fromYesThe start date to filter events.
maxNoThe maximum number of events to return.
resourceNoThe resource type to filter events.
toYesThe end date to filter events.
typeNoThe type of events to list.
list_membershipsC

List memberships in a Webex room.

NameRequiredDescriptionDefault
maxNoThe maximum number of memberships to return.
personEmailNoThe email address of the person to filter memberships by.
personIdNoThe ID of the person to filter memberships by.
roomIdYesThe ID of the room to list memberships for.
list_messagesC

List messages in a Webex room.

NameRequiredDescriptionDefault
beforeNoList messages sent before a specific date and time.
beforeMessageNoList messages sent before a specific message, by ID.
maxNoLimit the maximum number of messages in the response.
mentionedPeopleNoList messages with these people mentioned, by ID.
parentIdNoThe ID of the parent message to filter by.
roomIdYesThe ID of the room to list messages from.
list_peopleC

List people in an organization using the Webex Messaging API.

NameRequiredDescriptionDefault
callingDataNoInclude Webex Calling user details in the response.
displayNameNoList people whose name starts with this string. For non-admin requests, either this or email are required.
emailNoList people with this email address. For non-admin requests, either this or displayName are required.
idNoList people by ID. Accepts up to 85 person IDs separated by commas.
locationIdNoList people present in this location.
maxNoLimit the maximum number of people in the response.
orgIdNoList people in this organization. Only admin users of another organization may use this parameter.
rolesNoList of roleIds separated by commas.
list_roomsB

List rooms for the authenticated user in Webex.

NameRequiredDescriptionDefault
fromNoFilters rooms made public after this time.
maxNoThe maximum number of rooms to return.
orgPublicSpacesNoWhether to show the org's public spaces. Cannot be used with type parameter.
sortByNoThe field to sort the results by.
teamIdNoThe ID of the team to list rooms for (optional - if not provided, lists all accessible rooms).
toNoFilters rooms made public before this time.
typeNoThe type of rooms to list. Cannot be used with orgPublicSpaces parameter.
list_room_tabsC

List room tabs for a specified room in Webex.

NameRequiredDescriptionDefault
roomIdYesThe ID of the room for which to list room tabs.
list_team_membershipsC

List team memberships for a given team in Webex.

NameRequiredDescriptionDefault
maxNoThe maximum number of team memberships to return.
teamIdYesThe ID of the team to list memberships for.
list_teamsC

List teams for the authenticated user in Webex.

NameRequiredDescriptionDefault
maxNoThe maximum number of teams to return.
list_webhooksB

List all webhooks for the organization.

NameRequiredDescriptionDefault
maxNoLimit the maximum number of webhooks in the response.
ownedByNoLimit the result list to organization-wide webhooks.
update_ecm_linked_folderC

Update an ECM linked folder in Webex.

NameRequiredDescriptionDefault
contentUrlYesThe URL for the content.
defaultFolderNoWhether this is the default folder.
displayNameYesThe display name for the folder.
driveIdYesThe ID of the drive.
idYesThe unique identifier for the room folder.
itemIdYesThe ID of the item.
roomIdYesThe room ID associated with the folder.
update_membershipC

Update a membership in Webex.

NameRequiredDescriptionDefault
isModeratorYesIndicates if the user is a moderator.
isRoomHiddenYesIndicates if the room is hidden.
membershipIdYesThe unique identifier for the membership.
update_personC

Update a person's details in Webex.

NameRequiredDescriptionDefault
personDetailsYesThe details of the person to update.
personIdYesThe unique identifier for the person to update.
update_roomC

Update a room in Webex.

NameRequiredDescriptionDefault
classificationIdNoThe classification ID of the room.
descriptionNoThe description of the room.
isAnnouncementOnlyNoIndicates if the room is announcement only.
isLockedNoIndicates if the room is locked.
isPublicNoIndicates if the room is public.
isReadOnlyNoIndicates if the room is read-only.
roomIdYesThe unique identifier for the room.
teamIdNoThe team ID associated with the room.
titleNoThe title of the room.
update_room_tabC

Update a Room Tab in Webex.

NameRequiredDescriptionDefault
contentUrlYesThe new content URL for the tab.
displayNameYesThe display name for the tab.
idYesThe unique identifier for the Room Tab.
roomIdYesThe ID of the room to which the tab belongs.
update_teamC

Update a team in Webex.

NameRequiredDescriptionDefault
descriptionYesThe new description for the team.
nameYesThe new name for the team.
teamIdYesThe unique identifier for the team.
update_team_membershipC

Update a team membership in Webex.

NameRequiredDescriptionDefault
isModeratorYesIndicates if the user is a moderator.
membershipIdYesThe unique identifier for the team membership.
update_webhookC

Update a webhook in Webex.

NameRequiredDescriptionDefault
nameYesThe name of the webhook.
secretYesThe secret for the webhook.
statusYesThe status of the webhook (e.g., active).
targetUrlYesThe target URL for the webhook.
webhookIdYesThe unique identifier for the webhook.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 52 tool updatesv1.0.0
    • First observedcreate_attachment_action
    • First observedcreate_ecm_folder
    • First observedcreate_membership
    • First observedcreate_message
    • First observedcreate_person
    • First observedcreate_room
    • First observedcreate_room_tab
    • First observedcreate_team
    • First observedcreate_team_membership
    • First observedcreate_webhook
    • First observeddelete_membership
    • First observeddelete_message
    • First observeddelete_person
    • First observeddelete_room
    • First observeddelete_room_tab
    • First observeddelete_team
    • First observeddelete_team_membership
    • First observeddelete_webhook
    • First observededit_message
    • First observedget_attachment_action_details
    • First observedget_ecm_folder_details
    • First observedget_event_details
    • First observedget_membership_details
    • First observedget_message_details
    • First observedget_my_own_details
    • First observedget_person_details
    • First observedget_room_details
    • First observedget_room_meeting_details
    • First observedget_room_tab_details
    • First observedget_team_details
    • First observedget_team_membership_details
    • First observedget_webhook_details
    • First observedlist_direct_messages
    • First observedlist_ecm_folder
    • First observedlist_events
    • First observedlist_memberships
    • First observedlist_messages
    • First observedlist_people
    • First observedlist_room_tabs
    • First observedlist_rooms
    • First observedlist_team_memberships
    • First observedlist_teams
    • First observedlist_webhooks
    • First observedunlink_ecm_linked_folder
    • First observedupdate_ecm_linked_folder
    • First observedupdate_membership
    • First observedupdate_person
    • First observedupdate_room
    • First observedupdate_room_tab
    • First observedupdate_team
    • First observedupdate_team_membership
    • First observedupdate_webhook

TDQS

B3.1/5.0

Scored across 52 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count1/5

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.

Completeness4/5

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

ActivityNo data
ResponsivenessOutdated data

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    A 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.
    3
    3 npm
    62
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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
    -
  • A
    license
    A
    quality
    B
    maintenance
    A 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.
    19
    1,387 npm
    150
    MIT