Webex MCP Server

by kashyap-ai-ml-solutions

207 downloads
Not rated
GitHub

About

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

Details

Author
kashyap-ai-ml-solutions
Downloads
207
Categories
Communication, Other, Community
Tags
#cisco

- Complete Webex API coverage with 52 tools
- Docker support for production-ready containerization
- Dual transport: STDIO and SSE modes
- Enterprise ready with Cisco authentication
- Type safe TypeScript/JavaScript implementation
- Centralized configuration for easy token management

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Webex MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

The server can be run in either STDIO or SSE (Server-Sent Events) transport mode and is packaged for production-ready containerization via Docker. Configuration is centralized, and the full TypeScript/JavaScript implementation ensures type safety and proper error handling.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "webex mcp server": {
            "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"
                }
            }
        }
    }
}

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

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

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.


▶ Watch the 15-second explainer with sound

Create launch-ready media from Claude or Codex

This explainer was created from a plain-language request using theAgentic Media Harness. Itsagentic-mediaplugin 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.

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
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 putGEMINI_API_KEY=your_keyin the repository's.envfile instead. Never commit that file.

Use the media-video skill to create a short explainer video for this repository. Read the README first. My budget is $2.50.

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

- ✅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

- Node.js 18+ (20+ recommended). Warning: if you run with a lower version of Node,fetchwon't be present. Tools usefetchto make HTTP calls. To work around this, you can modify the tools to usenode-fetchinstead. Make sure thatnode-fetchis installed as a dependency and then import it asfetchinto each tool file.
- Docker (optional, for containerized deployment)
- Webex API token from
developer.webex.com

Webex Bearer tokens are short-lived. Your current token expires in 12 hours. To renew:
- Visit:
https://developer.webex.com/messaging/docs/api/v1/rooms/list-rooms
- Login with your email
- Copy the new bearer token from your profile
- Update environment variable "WEBEX_PUBLIC_WORKSPACE_API_KEY" with new token (remove "Bearer " prefix)

git clone <repository-url> cd webex-messaging-mcp-server npm install
cp .env.example .env # Edit .env with your Webex API token
# 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

The server includes comprehensive tool discovery capabilities:

# 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 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

- 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

All 52 tools publish MCP annotations plus compact selection and behavior guidance throughtools/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 build -t webex-mcp-server . docker run -i --rm --env-file .env webex-mcp-server

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

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 withmcp-session-idheader exposure
- Session management for stateful connections
- Server-Sent Events (SSE) response format

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

- 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

- 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

- create_team- Create teams
- list_teams- Browse teams
- get_team_details- Get team information
- update_team- Modify team settings
- delete_team- Remove teams

- 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

- 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)

- 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

- 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

The default transport mode for MCP clients like Claude Desktop:

# Start in STDIO mode node mcpServer.js # or npm start

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

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

- 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

- MCP_MODE=http- Force HTTP mode
- PORT=3001- Custom port (default: 3001)

The server is configured for automatic deployment viaSmitherywith HTTP runtime:

# smithery.yaml runtime: "nodejs" main: "mcpServer.js" envMapping: webexApiKey: "WEBEX_PUBLIC_WORKSPACE_API_KEY" webexApiBaseUrl: "WEBEX_API_BASE_URL"
├── 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

- Create a new tool file intools/webex-public-workspace/webex-messaging/
- Follow the existing tool pattern with proper imports
- Add the tool path totools/paths.js
- Test withnode index.js tools

- Non-root container: Runs as usermcp(UID 1001)
- Multi-stage build: Optimized production image
- Environment isolation: Secrets passed via environment variables
- Health checks: Container monitoring support

- 118 unit testsacross 53 test suites
- 100% pass ratewith comprehensive coverage
- 50+ API endpointstested end-to-end
- 20+ critical bug fixesvalidated

# 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

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

- JavaScript syntax checking
- All 118 unit tests must pass
- Code quality standards
- API implementation correctness

Seetests/README.mdfor detailed testing documentation.
- Fork the repository
- Create a feature branch
- Make your changes
- Tests run automaticallyon commit via pre-commit hooks
- Ensure all 118 tests pass
- Submit a pull request

MIT License - see LICENSE file for details

- 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

Manage your WhatsApp, SMS and Phone Calls using a single MCP connector

Send Push Notifications and Live Activities to your paired iOS devices.

Connect to any function, any language, across network boundaries using AgentRPC.

Secure audio transcription meets AI. Connect Alice recordings to Claude, ChatGPT, Gemini, and more.

Access your meeting transcripts, summaries, and action items from any AI assistant.

Schedule and queue text, image, and video posts to many social networks, including LinkedIn, X, Bluesky, Instagram, Facebook, Threads, Tiktok.

Network access with the ability to run commands like ping, traceroute, mtr, http, dns resolve.

Connect Claude, ChatGPT, and other AI tools to your Granola meeting notes via MCP. Query your notes, search transcripts, and get meeting insights in your favorite AI assistants.

Enables seamless integration with communication platform that allows you to reach your customers globally across any channel.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.