Skip to main content
Glama
florinel-chis

Multi-Source Documentation MCP Server

README.md
# Multi-Source Documentation MCP Server

A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that enables AI assistants like Claude to search and query documentation from multiple sources. Currently supports **Voiceflow** and **Claude Code** documentation.

## ๐Ÿš€ Quick Start

### Prerequisites

- Python 3.10 or higher
- [uv](https://github.com/astral-sh/uv) package manager

### Installation

```bash
# Clone the repository
git clone <your-repo-url>
cd voiceflow-docs-mcp

# Install dependencies
uv sync
```

### Running the Server

```bash
# Run directly
uv run voiceflow-docs-mcp

# Or as a Python module
python -m voiceflow_docs_mcp.server
```

## ๐Ÿ”ง Configuration

### Claude Desktop Integration

Add this configuration to your Claude Desktop config file:

**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "voiceflow-docs": {
      "command": "uv",
      "args": ["run", "voiceflow-docs-mcp"],
      "cwd": "/absolute/path/to/voiceflow-docs-mcp"
    }
  }
}
```

After adding the configuration, restart Claude Desktop.

## ๐Ÿ“š Available Tools

The server provides 6 specialized tools for documentation access:

| Tool | Description |
|------|-------------|
| `search_documentation` | Full-text search across all documentation sources with relevance ranking |
| `get_document` | Retrieve a specific document by its exact path or identifier |
| `search_code_examples` | Search for code snippets and examples across documentation |
| `list_categories` | List available documentation categories and topics |
| `get_integration_docs` | Get integration-specific documentation and guides |
| `find_step_documentation` | Find step-by-step tutorials and walkthroughs |

## ๐Ÿ“ Project Structure

```
voiceflow-docs-mcp/
โ”œโ”€โ”€ voiceflow_docs_mcp/          # Main MCP server package
โ”‚   โ”œโ”€โ”€ __init__.py              # Package initialization
โ”‚   โ”œโ”€โ”€ server.py                # MCP server implementation (6 tools)
โ”‚   โ”œโ”€โ”€ db_manager.py            # SQLite database operations
โ”‚   โ”œโ”€โ”€ config.py                # Configuration and environment handling
โ”‚   โ””โ”€โ”€ parser.py                # Markdown documentation parser
โ”‚
โ”œโ”€โ”€ data/                        # Documentation content (1.3 MB)
โ”‚   โ”œโ”€โ”€ voiceflow_docs/          # 182 Voiceflow documentation files
โ”‚   โ””โ”€โ”€ claude_code_docs/        # 12 Claude Code documentation files
โ”‚
โ”œโ”€โ”€ .claude/                     # Claude Code configuration
โ”‚   โ”œโ”€โ”€ QUICK_START.md           # Quick start guide
โ”‚   โ”œโ”€โ”€ README.md                # Claude-specific readme
โ”‚   โ””โ”€โ”€ settings.local.json      # Local settings (gitignored)
โ”‚
โ”œโ”€โ”€ .gitignore                   # Git ignore rules
โ”œโ”€โ”€ .python-version              # Python version specification (3.10+)
โ”œโ”€โ”€ pyproject.toml               # Project metadata and dependencies
โ”œโ”€โ”€ uv.lock                      # Locked dependency versions
โ”œโ”€โ”€ LICENSE                      # MIT License
โ””โ”€โ”€ README.md                    # This file
```

## ๐Ÿ› ๏ธ Technical Details

### Documentation Database

- **Storage**: SQLite database with full-text search (FTS5)
- **Sources**: Multi-source support (Voiceflow, Claude Code, extensible)
- **Indexing**: Automatic on first run, incremental updates supported
- **Search**: Full-text search with BM25 relevance ranking

### Dependencies

| Package | Purpose |
|---------|---------|
| `fastmcp` | MCP server framework |
| `beautifulsoup4` | HTML parsing and cleaning |
| `httpx` | Async HTTP client for fetching docs |
| `markdownify` | HTML to Markdown conversion |
| `playwright` | Web scraping for documentation |
| `python-frontmatter` | Parse YAML frontmatter in Markdown |
| `pyyaml` | YAML processing |

### Data Sources

**Voiceflow Documentation** (182 files)
- Complete Voiceflow platform documentation
- API references, guides, tutorials
- Integration documentation

**Claude Code Documentation** (12 files)
- Claude Code feature documentation
- Setup and configuration guides
- Best practices and troubleshooting

## ๐Ÿ” Usage Examples

### Searching Documentation

```python
# When connected to Claude Desktop, you can ask:
"Search the Voiceflow docs for information about API blocks"
"Find code examples for integrating with external APIs"
"What are the available Voiceflow integrations?"
"Show me step-by-step guides for setting up a voice assistant"
```

### Querying Specific Documents

```python
# Ask Claude to retrieve specific documentation:
"Get the document about Voiceflow agent variables"
"Show me the integration docs for Zapier"
"Find the documentation on condition blocks"
```

## ๐Ÿงช Development

### Project Status

- โœ… Multi-source documentation support
- โœ… Full-text search with relevance ranking
- โœ… 6 specialized MCP tools
- โœ… SQLite database with FTS5
- โœ… Automatic documentation indexing
- โœ… Claude Desktop integration

### Adding New Documentation Sources

The server is designed to support multiple documentation sources. To add a new source:

1. Add documentation files to `data/your-source-name/`
2. Update configuration in `voiceflow_docs_mcp/config.py`
3. The server will automatically index new files on restart

## ๐Ÿค Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

### Development Setup

```bash
# Clone and install
git clone <your-repo-url>
cd voiceflow-docs-mcp
uv sync

# Run in development mode
uv run python -m voiceflow_docs_mcp.server
```

## ๐Ÿ“„ License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

## ๐Ÿ™ Acknowledgments

- Built with [FastMCP](https://github.com/jlowin/fastmcp) - A Python framework for MCP servers
- Documentation sourced from [Voiceflow](https://www.voiceflow.com/) and [Claude Code](https://claude.ai/code)
- Designed for use with [Claude Desktop](https://claude.ai/download)

## ๐Ÿ“ž Support

For issues, questions, or contributions, please open an issue on GitHub.

---

**Note**: This is an unofficial community project and is not affiliated with Anthropic or Voiceflow.