webex-api-docs-mcp
Provides fast local full-text search and complete OpenAPI schemas for all Webex Developer APIs, enabling AI agents to accurately discover endpoints, parameters, and required scopes without hallucination or massive token costs.
README
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.txt -
Run 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.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。