Back to MCP Servers

Webex MCP Server

Official Webex MCP server with 52 tools for messages, rooms, teams, people, memberships, webhooks, and enterprise content management.

Collaboration by Cisco Webex OAuth2 (Bearer Token) active
Overview

The Webex MCP Server is Cisco Webex's official Model Context Protocol bridge between AI agents and the Webex collaboration platform. It exposes 52 tools that let an AI assistant send messages, manage rooms (spaces) and teams, administer memberships, look up people, configure webhooks, and work with enterprise features like room tabs, attachment actions, and ECM (Enterprise Content Management) linked folders. The goal is to let natural language agents control Webex without learning the REST API surface directly.

Cisco offers two ways to consume the server. A hosted remote server is available at https://mcp.webexapis.com/mcp/webex-messaging for clients that support remote MCP via OAuth (VS Code, OpenAI Codex, Amazon Q, and others). For local development or self hosting, the WebexSamples organization publishes an open source reference implementation in Node.js that can run in STDIO mode for Claude Desktop or HTTP mode for streamable clients. Both implementations expose the same tool surface and authenticate against Webex APIs with a bearer token.

The server organizes tools into seven groups: Messages (6), Rooms (6), Teams (5), Memberships (10), People (6), Webhooks (7), and Enterprise (12). It supports the full lifecycle of each resource (create, list, read, update, delete) plus event enumeration for webhook driven workflows.

Tools

Tool Description
create_message Post a message to a room or as a direct message to a person.
list_messages List messages in a room, with paging and date filters.
edit_message Edit the text or markdown of a previously sent message.
delete_message Delete a message by ID.
get_message_details Retrieve details for a single message.
create_room Create a new Webex room (space).
list_rooms List rooms the authenticated user belongs to.
get_room_details Get metadata for a room.
update_room Rename or update a room.
delete_room Delete a room.
create_team Create a new team.
list_teams List teams the user belongs to.
get_team_details Get team metadata.
update_team Update team properties.
delete_team Delete a team.
create_membership Add a person to a room.
list_memberships List room memberships.
update_membership Update moderator status on a membership.
delete_membership Remove a person from a room.
create_team_membership Add a person to a team.
list_team_memberships List members of a team.
get_my_own_details Return profile for the authenticated user.
list_people Search the people directory.
get_person_details Get a person by ID.
create_person Create a user (admin scope required).
update_person Update a user's profile.
delete_person Delete a user (admin scope required).
create_webhook Register a webhook for Webex events.
list_webhooks List webhooks owned by the user.
get_webhook_details Fetch a webhook by ID.
update_webhook Update a webhook.
delete_webhook Delete a webhook.
list_events List recent events for the org.
get_event_details Get details for one event.
create_room_tab Pin a URL tab into a room.
list_room_tabs List tabs pinned in a room.
get_room_tab_details Get details of a single room tab.
update_room_tab Update a room tab.
delete_room_tab Delete a room tab.
create_attachment_action Submit an Adaptive Card attachment action.
get_attachment_action_details Get an attachment action by ID.
list_ecm_folder List ECM linked folders in a room.
get_ecm_folder_details Get an ECM linked folder.
create_ecm_folder Link an ECM folder into a room.
update_ecm_linked_folder Update an ECM linked folder.
unlink_ecm_linked_folder Unlink an ECM folder from a room.
Setup Guide

Option A: Hosted remote server (recommended)

Point your MCP client at the hosted endpoint and authenticate with an OAuth bearer token from a Webex integration.

  • Server URL: https://mcp.webexapis.com/mcp/webex-messaging
  • Auth: Authorization: Bearer <WEBEX_ACCESS_TOKEN>

Example VS Code config (.vscode/mcp.json) using mcp-remote:

{
  "servers": {
    "webex-messaging": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://mcp.webexapis.com/mcp/webex-messaging",
        "--header",
        "Authorization: Bearer ${WEBEX_ACCESS_TOKEN}"
      ]
    }
  }
}

Prerequisites:

  • A Webex account at developer.webex.com
  • A personal access token (12 hour expiry) or a registered Webex Integration with OAuth2 client_id and client_secret. Authorization URL: https://webexapis.com/v1/authorize, Token URL: https://webexapis.com/v1/access_token.

Option B: Self host the open source reference implementation

Clone the WebexSamples repo and run it locally with Node.js 18+ (20+ recommended) or Docker.

git clone https://github.com/WebexSamples/webex-messaging-mcp-server.git
cd webex-messaging-mcp-server
npm install
cp .env.example .env
# Edit .env and set WEBEX_PUBLIC_WORKSPACE_API_KEY
node mcpServer.js          # STDIO mode
npm run start:http         # HTTP mode on PORT 3001

Claude Desktop config (Docker, STDIO mode):

{
  "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"
      }
    }
  }
}

Environment variables:

  • WEBEX_PUBLIC_WORKSPACE_API_KEY (required): Webex API token, without the Bearer prefix
  • WEBEX_API_BASE_URL (optional): defaults to https://webexapis.com/v1
  • WEBEX_USER_EMAIL (optional): reference field for your account
  • PORT (optional): HTTP mode port, default 3001
  • MCP_MODE (optional): stdio or http, default stdio

Tokens copied from the developer portal expire in 12 hours. Use an OAuth integration for production deployments.

Use Cases
  • Have an AI assistant post status updates, release notes, or incident summaries into specific Webex spaces by name
  • Search and summarize recent messages in a team space, for example "summarize what the platform team discussed about the migration this week"
  • Programmatically create a Webex room when a Jira ticket or PagerDuty incident is opened, add the right people via memberships, and post a kickoff message
  • Manage the people directory at admin scope: provision new users, update roles and licenses, or deactivate accounts
  • Register and manage webhooks so downstream automations receive events when messages or memberships change
  • Pin reference dashboards or ECM folders as room tabs for an ongoing project
Example Prompts
  • "Create a Webex room called 'Q3 launch war room', add alice@acme.com and bob@acme.com, and post the launch checklist."
  • "List the last 50 messages in the #platform-oncall room and summarize the active incidents."
  • "Find the person named Sarah Chen in our org and DM her the meeting notes."
  • "Register a webhook that posts to https://hooks.example.com/webex when any message mentions me."
  • "Pin our Grafana dashboard URL as a tab in the SRE room."
Pros
  • Official Cisco Webex implementation with a hosted remote endpoint, no self hosting required for basic use
  • Broad coverage with 52 tools spanning messaging, spaces, teams, directory, webhooks, and ECM
  • Open source reference implementation available under MIT, supports both STDIO and HTTP transports plus Docker
  • Standard OAuth2 with Webex Integrations for production grade auth and granular scopes
Limitations
  • Personal access tokens from the developer portal expire after 12 hours, requiring OAuth setup for anything beyond quick tests
  • Scope of the messaging server does not include meetings, recordings, or admin analytics; those live in separate Webex MCP servers (for example the Meetings MCP server)
  • The reference repository is published under WebexSamples and is positioned as sample code rather than a versioned product release, so production users may want to fork and pin
Alternatives