- Home
- MCP servers
- Webex
Webex
- javascript
6
GitHub Stars
javascript
Language
6 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
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.
How to use
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.
How to install
# 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:http
Configuration and startup notes
Environment 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.
Notes on transport modes and endpoints
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.
Security and maintenance
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.
Troubleshooting tips
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.
MCP client integration examples
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.
Security best practices
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.
Advanced usage
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.
Available tools
create_message
Send a new message to a Webex room or space
list_messages
Retrieve message history from a room or space
edit_message
Edit an existing message by its ID
delete_message
Delete a message by its ID
get_message_details
Get detailed information about a specific message
create_room
Create a new Webex room/space
list_rooms
List available Webex rooms/spaces
get_room_details
Get details for a specific room
update_room
Update settings for a room
delete_room
Remove a room
create_team
Create a Webex team
list_teams
List existing teams
get_team_details
Get details for a specific team
update_team
Update team settings
delete_team
Delete a team
create_membership
Add a member to a room or team
list_memberships
List memberships for a room or team
update_membership
Change a membership's role or state
delete_membership
Remove a membership
create_team_membership
Add members to a team
list_team_memberships
List members of a team
get_my_own_details
Retrieve the current user's profile details
list_people
Search and list Webex directory users
get_person_details
Get details for a directory person
create_person
Add a new directory person (admin only)
update_person
Update a directory person's details
delete_person
Remove a directory person (admin only)
create_webhook
Create a webhook for event notifications
list_webhooks
List existing webhooks
get_webhook_details
Get details for a webhook
update_webhook
Update a webhook
delete_webhook
Delete a webhook
list_events
List activity events
get_event_details
Get details for a specific event
create_room_tab
Add a tab to a room
list_room_tabs
List room tabs
get_room_tab_details
Get details for a room tab
update_room_tab
Update a room tab
delete_room_tab
Delete a room tab
create_attachment_action
Handle form submissions via attachments
get_attachment_action_details
Get details for an attachment action
list_ecm_folder
List ECM folders
get_ecm_folder_details
Get details for an ECM folder
create_ecm_folder
Create an ECM folder configuration
update_ecm_linked_folder
Update ECM linked folder settings
unlink_ecm_linked_folder
Unlink an ECM folder