webex-api-docs-mcp

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.

Category
Visit Server

README

Webex API Docs MCP Server (webex-api-docs-mcp)

MCP Protocol API Endpoints

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 to 401 Unauthorized or 404 Not Found errors.
  • 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:

  1. πŸ”’ 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") -> Returns GET /adminAudit/events -> Uses get_webex_endpoint_schema to inspect actorEmail, eventDescription, and the required audit:events_read scope.
  2. πŸ“ž 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") -> Locates POST /telephony/config/knowledgeBases -> Retrieves the exact JSON Request Body schema showing mandatory fields (name, description).
  3. πŸ“ Meeting Summaries & Transcripts

    • User Prompt: "What is the REST API path to download post-meeting transcripts and AI summaries?"
    • MCP Action: Searches meetings domain for "transcripts" -> Finds GET /meetings/{meetingId}/transcripts and GET /meetings/{meetingId}/summaries along with query parameters.
  4. πŸ€– 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 /webhooks in the messaging domain and returns the required payload structure for messages/created events.

🌟 Why This Architecture? (Dual-Layer Documentation)

This repository implements a scalable, reproducible, and Git-versioned documentation pipeline designed specifically for AI Agents and developers:

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

  1. 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
    
  2. Run the automated ETL pipeline (Optional - Rebuild docs and DB index):

    python3 -m src.pipeline.build_all
    

    This extracts the OpenAPI schemas, generates the 4 Markdown files in docs/, and builds the SQLite FTS5 database at data/webex_docs.db.

  3. 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>.md and returns the complete OpenAPI JSON schema, parameter table, required scopes, and HTTP response codes for a specific endpoint.
  • 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:

  1. The 2-Step MCP Workflow: Always discovering APIs via search_webex_api_docs first, then inspecting full OpenAPI schemas and OAuth scopes via get_webex_endpoint_schema.
  2. Interactive Sandbox Exploration: Generating and executing clean Python exploration scripts in a sandbox/temporary environment to test live APIs.
  3. Security Best Practices: Reading WEBEX_ACCESS_TOKEN from 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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured