A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to Cisco Webex messaging capabilities.
Configuration
View docs{
"mcpServers": {
"kashyap-ai-ml-solutions-webex-messaging-mcp-server": {
"url": "http://localhost:3001/mcp",
"headers": {
"PORT": "3001",
"MCP_MODE": "stdio",
"WEBEX_USER_EMAIL": "[email protected]",
"WEBEX_API_BASE_URL": "https://webexapis.com/v1",
"WEBEX_PUBLIC_WORKSPACE_API_KEY": "your_token_here"
}
}
}
}You can run a complete MCP server that gives AI assistants access to Webex messaging capabilities. This server exposes a large set of tools to manage messages, rooms, teams, memberships, people, webhooks, and enterprise features, all via a standardized MCP interface. It supports both local STDIO and HTTP-based transports, making it flexible for development and production deployments.
To use the Webex MCP Server, run it in STDIO mode for a local, interactive session or start it in HTTP mode to connect from MCP clients over HTTP. In STDIO mode, your client communicates directly through the process input/output. In HTTP mode, clients send requests to a dedicated HTTP endpoint and receive responses via the MCP protocol.
# Prerequisites
node -v
# Expect Node.js 18+ (20+ recommended)
# Docker (optional)
# Install dependencies from a clean clone
git clone <repository-url>
cd webex-messaging-mcp-server
npm install
# Configure environment
cp .env.example .env
# Edit .env to include your Webex API token and related settings
# Start in STDIO mode (default)
node mcpServer.js
# Or simply
npm start
# Start in HTTP mode
npm run start:httpEnvironment variables you commonly configure include the Webex API token and API base URL. Set WEBEX_PUBLIC_WORKSPACE_API_KEY to your token (without the Bearer prefix). Optionally configure WEBEX_API_BASE_URL, WEBEX_USER_EMAIL, PORT, and MCP_MODE to control how the server runs.
If you switch to HTTP mode, the server exposes a health endpoint and an MCP endpoint you can use from clients. For example, health checks are available at the health URL and the MCP endpoint at the /mcp path on your chosen port.
The server supports both STDIO and HTTP transports. STDIO is the default and works well for local development and environments that can spawn a process and communicate through its standard streams. HTTP mode enables client applications to connect over HTTP with the MCP protocol.
In HTTP mode, you typically run the server and then connect clients to the HTTP MCP endpoint, for example http://localhost:3001/mcp, while health checks can be performed at http://localhost:3001/health.
Resulting deployments should run in a non-root context when containerized. Use environment isolation for secrets and enable health checks to monitor service availability. If you rotate Webex tokens, update the WEBEX_PUBLIC_WORKSPACE_API_KEY value in your environment and restart the server.
If you encounter missing fetch in older Node versions, upgrade Node.js to 18+ or ensure you install a fetch polyfill (or switch to a compatible http client within tools). Check that the WEBEX_API_BASE_URL is reachable and that the token in WEBEX_PUBLIC_WORKSPACE_API_KEY is valid and has not expired.
To connect a client in STDIO mode, spawn the server process and communicate through standard input and output. To connect via HTTP, point your MCP client to the HTTP endpoint and send MCP requests following the StreamableHTTP protocol. Refer to your clientβs documentation for how to format and send those requests.
Run containerized with a non-root user, enable secrets management, and keep dependencies up to date. Use version pins for Node and dependencies to avoid unexpected breaking changes.
If you need to renew a Webex token, follow the token renewal workflow and update WEBEX_PUBLIC_WORKSPACE_API_KEY in your environment. When deploying with HTTP, the server will handle MCP sessions and SSE-like response handling to ensure stateful connections are maintained properly.
Send a new message to a Webex room or space
Retrieve message history from a room or space
Edit an existing message by its ID
Delete a message by its ID
Get detailed information about a specific message
Create a new Webex room/space
List available Webex rooms/spaces
Get details for a specific room
Update settings for a room
Remove a room
Create a Webex team
List existing teams
Get details for a specific team
Update team settings
Delete a team
Add a member to a room or team
List memberships for a room or team
Change a membership's role or state
Remove a membership
Add members to a team
List members of a team
Retrieve the current user's profile details
Search and list Webex directory users
Get details for a directory person
Add a new directory person (admin only)
Update a directory person's details
Remove a directory person (admin only)
Create a webhook for event notifications
List existing webhooks
Get details for a webhook
Update a webhook
Delete a webhook
List activity events
Get details for a specific event
Add a tab to a room
List room tabs
Get details for a room tab
Update a room tab
Delete a room tab
Handle form submissions via attachments
Get details for an attachment action
List ECM folders
Get details for an ECM folder
Create an ECM folder configuration
Update ECM linked folder settings
Unlink an ECM folder