Webex API Docs MCP Server (webex-api-docs-mcp)
An MCP (Model Context Protocol) server providing fast, local full-text search and complete OpenAPI JSON schemas for all Webex Developer APIs.
π‘ What Problem Does This Solve? (Why Use This MCP Server?)
π΄ The Problem: Hallucinations & Massive Token Cost
When AI Agents or developers work with Webex APIs, they face three major bottlenecks:
- LLM Hallucinations: Large language models frequently guess incorrect HTTP methods, outdated REST paths, or invent required OAuth scopes (
spark-admin:...) that lead to401 Unauthorizedor404 Not Founderrors. - Context Window Exhaustion: The official Webex OpenAPI specification spans over 1,450 endpoints across Admin, Calling, Meetings, and Messagingβequaling more than 10 MB of raw documentation. Loading this into an LLM context window is slow, expensive, and impractical.
- Slow Web Scraping: Relying on live web searches to fetch developer documentation during an agentic coding workflow causes latency and fragile HTML parsing.
π’ The Solution: Zero-Token Local Search & Exact Schemas
This MCP server acts as an authoritative, local technical reference for your AI Assistant. Instead of guessing or browsing the web, the AI can query the local SQLite FTS5 database in <5 milliseconds, discover the exact endpoint, and retrieve its complete, verified OpenAPI JSON schema on demand.
π― Real-World Examples & Use Cases
Here are examples of questions and tasks your AI Agent can solve instantly using this MCP server:
π Security & Admin Audit Logging
- User Prompt: "I need to write a script that logs who deleted a user account in Webex Control Hub. What endpoint should I call and what permissions do I need?"
- MCP Action: Uses
search_webex_api_docs("audit events")-> ReturnsGET /adminAudit/events-> Usesget_webex_endpoint_schemato inspectactorEmail,eventDescription, and the requiredaudit:events_readscope.
π Telephony & AI Receptionist Automation
- User Prompt: "How do I programmatically create an AI Receptionist Knowledge Base in Webex Calling?"
- MCP Action: Uses
search_webex_api_docs("knowledge base")-> LocatesPOST /telephony/config/knowledgeBases-> Retrieves the exact JSON Request Body schema showing mandatory fields (name,description).
π Meeting Summaries & Transcripts
- User Prompt: "What is the REST API path to download post-meeting transcripts and AI summaries?"
- MCP Action: Searches
meetingsdomain for"transcripts"-> FindsGET /meetings/{meetingId}/transcriptsandGET /meetings/{meetingId}/summariesalong with query parameters.
π€ Messaging Bots & Webhooks
- User Prompt: "I want my bot to receive real-time notifications when a message is posted in a Webex room."
- MCP Action: Locates
POST /webhooksin themessagingdomain and returns the required payload structure formessages/createdevents.
π Why This Architecture? (Dual-Layer Documentation)
This repository implements a scalable, reproducible, and Git-versioned documentation pipeline designed specifically for AI Agents and developers:
- Layer 1: Markdown Artifacts in Git (
docs/<domain>.md)- Clean, structured Markdown documentation for Webex Admin, Webex Cloud Calling, Webex Meetings, and Webex Messaging is generated automatically and stored in
/docs/. - Every time Webex updates an API, running the ETL pipeline produces a standard Git diff so you can track API changes over time.
- Clean, structured Markdown documentation for Webex Admin, Webex Cloud Calling, Webex Meetings, and Webex Messaging is generated automatically and stored in
- Layer 2: SQLAlchemy + SQLite FTS5 Index (
data/webex_docs.db)- An optimized SQLite relational database managed via SQLAlchemy 2.0 ORM combined with SQLite FTS5 (Full-Text Search).
- Provides sub-millisecond keyword and semantic search across 1,456 endpoints without loading multi-megabyte files into memory or context.
π¦ What's Included?
The server indexes 1,456 official Webex endpoints across 4 major service domains:
| Domain | Categories | Endpoints | Generated Document | Description |
|---|---|---|---|---|
admin |
34 | 146 | docs/admin.md |
Webex Admin APIs (People, SCIM, Licenses, Roles, Audit Events, Real-time Events, Security). |
calling |
54 | 1,081 | docs/calling.md |
Webex Cloud Calling APIs (AI Receptionist, Call Queues, Auto Attendant, Routing, DECT, Voicemail). |
meetings |
22 | 166 | docs/meetings.md |
Webex Meetings APIs (Meetings, Participants, Transcripts, Closed Captions, Recordings, Q&A). |
messaging |
12 | 63 | docs/messaging.md |
Webex Messaging APIs (Rooms, Messages, Memberships, Teams, Webhooks, Hybrid Data Security). |
| TOTAL | 122 | 1,456 | β | β |
π οΈ Installation & Setup
Clone the repository and install dependencies:
git clone https://github.com/santime27/mcp-server-webex-docs.git cd mcp-server-webex-docs pip install -r requirements.txtRun the automated ETL pipeline (Optional - Rebuild docs and DB index):
python3 -m src.pipeline.build_allThis extracts the OpenAPI schemas, generates the 4 Markdown files in
docs/, and builds the SQLite FTS5 database atdata/webex_docs.db.Start the MCP Server:
python3 -m src.server
π How to Connect This MCP Server (Configuration)
Thanks to automatic path resolving in src/server.py, connecting this server to any MCP client is ultra-simpleβno PYTHONPATH, cwd, or -m flags required!
1. Gemini CLI / Google Antigravity / Gemini Code Assist
Add this to your Gemini MCP settings file (e.g., ~/.gemini/settings.json or your project's MCP configuration):
{
"mcpServers": {
"webex-api-docs": {
"command": "python3",
"args": [
"/path/to/mcp-server-webex-docs/src/server.py"
]
}
}
}
2. Claude Desktop / Cursor / Generic MCP Client (claude_desktop_config.json)
{
"mcpServers": {
"webex-api-docs": {
"command": "python3",
"args": [
"/path/to/mcp-server-webex-docs/src/server.py"
]
}
}
}
Note: Replace /path/to/mcp-server-webex-docs with the absolute path where you cloned this repository on your machine.
π€ MCP Tools Exposed for AI Agents
When connected to an MCP client (such as Claude Desktop, Antigravity, or custom agents), this server exposes the following tools:
search_webex_api_docs(query, domain=None, category=None, limit=15)- Sub-millisecond FTS5 search across all 1,456 endpoints. Returns endpoint titles, HTTP method/path, summary, and exact line numbers in the documentation file.
get_webex_endpoint_schema(domain, section_number)- Reads the exact line range from
docs/<domain>.mdand returns the complete OpenAPI JSON schema, parameter table, required scopes, and HTTP response codes for a specific endpoint.
- Reads the exact line range from
list_webex_domains()- Lists the 4 available Webex domains and their endpoint counts.
list_webex_categories(domain)- Lists all categories available within a specific domain.
π Repository Structure
mcp-server-webex-docs/
βββ agent-skills/ # AI Agent Skills (instructions & templates)
β βββ webex-api-assistant/ # Methodology for discovering, inspecting, and exploring APIs
β βββ SKILL.md
β βββ examples/
β β βββ explorer_template.py
β βββ references/
β βββ webex_api_cheatsheet.md
βββ docs/ # Git-versioned Markdown documentation
β βββ admin.md
β βββ calling.md
β βββ meetings.md
β βββ messaging.md
βββ data/
β βββ webex_docs.db # SQLite FTS5 database indexed via SQLAlchemy
βββ src/
β βββ models/ # SQLAlchemy ORM models (Domain, Category, Endpoint)
β β βββ __init__.py
β β βββ db.py
β βββ pipeline/ # ETL pipeline for automated updates
β β βββ __init__.py
β β βββ build_all.py # Main orchestrator CLI
β β βββ db_indexer.py # SQLite FTS5 indexer
β β βββ fetcher.py # Developer portal state extractor
β β βββ markdown_builder.py# Markdown generator
β βββ __init__.py
β βββ server.py # MCP FastMCP server implementation
βββ requirements.txt
π§ AI Agent Skill (agent-skills/webex-api-assistant)
This repository includes an official Agent Skill in agent-skills/webex-api-assistant/SKILL.md designed to teach any AI Assistant (such as Antigravity, Claude, or Cursor) how to act as a Senior Webex Developer Companion.
The skill instructs the model on:
- The 2-Step MCP Workflow: Always discovering APIs via
search_webex_api_docsfirst, then inspecting full OpenAPI schemas and OAuth scopes viaget_webex_endpoint_schema. - Interactive Sandbox Exploration: Generating and executing clean Python exploration scripts in a sandbox/temporary environment to test live APIs.
- Security Best Practices: Reading
WEBEX_ACCESS_TOKENfrom environment variables without ever hardcoding tokens.
π¨βπ» Authors & Credits
Built with β€οΈ by Santiago Meneses Garcia, Software Engineer, in pair-programming collaboration with Antigravity (Google DeepMind Agentic AI Assistant).
π License
This project is licensed under the permissive MIT License β feel free to use, copy, modify, distribute, and build upon this software for both personal and commercial projects without restrictions.