Model Context Protocol server for hierarchical documentation navigation with markdown and OpenAPI support
Project description
your-docs-mcp
An MCP server that gives AI assistants structured access to your documentation. Supports markdown with YAML frontmatter, OpenAPI specs, full-text search, a web interface, and PDF generation.
Installation
Install from PyPI:
pip install your-docs-mcp
With semantic search (recommended):
pip install "your-docs-mcp[vector]" --extra-index-url https://download.pytorch.org/whl/cpu
With PDF generation:
pip install "your-docs-mcp[pdf]"
All features:
pip install "your-docs-mcp[vector,pdf]" --extra-index-url https://download.pytorch.org/whl/cpu
PDF generation requires system packages:
- macOS:
brew install pandoc basictex - Ubuntu/Debian:
sudo apt install pandoc texlive-xetex texlive-latex-extra
Quick Start
export DOCS_ROOT=/path/to/your/docs
your-docs-server
Open http://localhost:8123 to browse your docs. The MCP server is also running for AI clients.
AI Client Setup
Claude Desktop - edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"docs": {
"command": "your-docs-mcp",
"env": {
"DOCS_ROOT": "/absolute/path/to/your/docs"
}
}
}
}
VS Code - create .vscode/mcp.json:
{
"servers": {
"docs": {
"command": "your-docs-mcp",
"env": {
"DOCS_ROOT": "${workspaceFolder}/docs"
}
}
}
}
Available MCP Tools
| Tool | Description |
|---|---|
search_documentation |
Full-text search with relevance scoring |
navigate_to |
Navigate to a doc by URI (e.g. docs://guides/quickstart) |
get_table_of_contents |
Get the full documentation hierarchy |
get_document |
Retrieve a document and its metadata |
search_by_tags |
Filter docs by tags |
get_all_tags |
List all tags across documentation |
generate_pdf_release |
Generate a PDF of all documentation |
Supported Formats
Markdown with YAML frontmatter:
---
title: Getting Started
tags: [guide, quickstart]
order: 1
---
# Getting Started
Your content here...
OpenAPI 3.x (.yaml or .json) is also supported.
Configuration
Key environment variables:
DOCS_ROOT=/path/to/docs # Required: documentation root directory
MCP_DOCS_CACHE_TTL=3600 # Cache TTL in seconds
MCP_DOCS_SEARCH_LIMIT=10 # Max search results
MCP_DOCS_WEB_PORT=8123 # Web server port
LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR
Running Modes
your-docs-server # MCP server + web interface
your-docs-mcp # MCP server only
your-docs-web # Web interface only
Development
git clone https://github.com/esola-thomas/your-docs-mcp
cd your-docs-mcp
pip install -e ".[dev,vector,pdf]" --extra-index-url https://download.pytorch.org/whl/cpu
pytest
ruff check .
Contributing
See the contributing guide for details on running tests, code style, and submitting pull requests. Open an issue to report bugs or request features.
License
MIT - see LICENSE for details.
Links
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file your_docs_mcp-1.1.2.tar.gz.
File metadata
- Download URL: your_docs_mcp-1.1.2.tar.gz
- Upload date:
- Size: 929.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e325aaaf2dc112b548cb00ece5fd4dbc6b398a986c5124b3ad70bf5c5f510bd8
|
|
| MD5 |
63276c4a0ff41ea8b124895fbbb1bc70
|
|
| BLAKE2b-256 |
f179dce2770d2fd6742dbaa408b6321da6d78225b1b7b545030560a13b59b71c
|
Provenance
The following attestation bundles were made for your_docs_mcp-1.1.2.tar.gz:
Publisher:
release.yml on esola-thomas/your-docs-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
your_docs_mcp-1.1.2.tar.gz -
Subject digest:
e325aaaf2dc112b548cb00ece5fd4dbc6b398a986c5124b3ad70bf5c5f510bd8 - Sigstore transparency entry: 1469140691
- Sigstore integration time:
-
Permalink:
esola-thomas/your-docs-mcp@4f9113496ea5ade9f18ee17ccfe64e49c8b0c90b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/esola-thomas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4f9113496ea5ade9f18ee17ccfe64e49c8b0c90b -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file your_docs_mcp-1.1.2-py3-none-any.whl.
File metadata
- Download URL: your_docs_mcp-1.1.2-py3-none-any.whl
- Upload date:
- Size: 941.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5fe13da7f0ffb72131a34faeaaba541891a553fce53690ad91d434718963bcf0
|
|
| MD5 |
1656d7277456f7e2f605525fdc0c1bcb
|
|
| BLAKE2b-256 |
22d01f1df394e74791e68477d0c1e069e53d03f2a4231c141dc7a3b432eb5b07
|
Provenance
The following attestation bundles were made for your_docs_mcp-1.1.2-py3-none-any.whl:
Publisher:
release.yml on esola-thomas/your-docs-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
your_docs_mcp-1.1.2-py3-none-any.whl -
Subject digest:
5fe13da7f0ffb72131a34faeaaba541891a553fce53690ad91d434718963bcf0 - Sigstore transparency entry: 1469140807
- Sigstore integration time:
-
Permalink:
esola-thomas/your-docs-mcp@4f9113496ea5ade9f18ee17ccfe64e49c8b0c90b -
Branch / Tag:
refs/heads/main - Owner: https://github.com/esola-thomas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@4f9113496ea5ade9f18ee17ccfe64e49c8b0c90b -
Trigger Event:
workflow_dispatch
-
Statement type: