Provides AI assistants with comprehensive access to Cisco Webex messaging capabilities.
A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to Cisco Webex messaging capabilities.
This MCP server enables AI assistants to interact with Webex messaging through 52 different tools covering:
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.Webex Bearer tokens are short-lived. Your current token expires in 12 hours. To renew:
Clone and install dependencies:
git clone <repository-url>
cd webex-messaging-mcp-server
npm install
Configure environment:
cp .env.example .env
# Edit .env with your Webex API token
Test the server:
# List available tools
node index.js tools
# Start MCP server
node mcpServer.js
Build and run:
docker build -t webex-mcp-server .
docker run -i --rm --env-file .env webex-mcp-server
Using docker-compose:
docker-compose up webex-mcp-server
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 SSE mode | 3001 |
.env
fileAdd 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"
}
},
}
}
For STDIO mode:
docker run -i --rm --env-file .env webex-mcp-server
For SSE mode:
docker run -p 3001:3001 --rm --env-file .env webex-mcp-server --sse
create_message
- Send messages to roomslist_messages
- Retrieve message historyedit_message
- Modify existing messagesdelete_message
- Remove messagesget_message_details
- Get specific message informationcreate_room
- Create new Webex spaceslist_rooms
- Browse available roomsget_room_details
- Get room informationupdate_room
- Modify room settingsdelete_room
- Remove roomscreate_team
- Create teamslist_teams
- Browse teamsget_team_details
- Get team informationupdate_team
- Modify team settingsdelete_team
- Remove teamscreate_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 membersget_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)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 informationcreate_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├── 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
tools/webex-public-workspace/webex-messaging/
tools/paths.js
node index.js tools
mcp
(UID 1001)# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Validate code quality + tests
npm run validate
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:
See tests/README.md
for detailed testing documentation.
MIT License - see LICENSE file for details
Allows AI assistants to ask questions to humans via Discord.
Interact with Mailgun API.
A headless server to get and send emails via the Gmail API, requiring Google API credentials at runtime.
Connect to any function, any language, across network boundaries using AgentRPC.
Send Instagram DMs via your LLM
Send iMessage and SMS messages using the Sendblue API.
A unified interface for various chat AI models including OpenAI, MistralAI, Anthropic, and Google AI, requiring vendor API keys.
Post to the Bluesky social network using the AT Protocol.
An open-source messaging server for client-to-client communication using MCP HTTP Streamable messaging.
A server for interacting with WeChat, a popular messaging and social media app.