Metadata-Version: 2.4
Name: your-docs-mcp
Version: 1.1.2
Summary: Model Context Protocol server for hierarchical documentation navigation with markdown and OpenAPI support
Author: MCP Contributors
License: MIT
Project-URL: Homepage, https://github.com/esola-thomas/your-docs-mcp
Project-URL: Repository, https://github.com/esola-thomas/your-docs-mcp
Project-URL: Documentation, https://github.com/esola-thomas/your-docs-mcp/tree/main/docs
Project-URL: Issue Tracker, https://github.com/esola-thomas/your-docs-mcp/issues
Keywords: mcp,documentation,ai,openapi,markdown
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pyyaml>=6.0
Requires-Dist: pydantic>=2.0
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: mcp>=0.1.0
Provides-Extra: server
Requires-Dist: fastapi>=0.104.0; extra == "server"
Requires-Dist: uvicorn>=0.24.0; extra == "server"
Requires-Dist: jinja2>=3.1.0; extra == "server"
Requires-Dist: markdown>=3.5; extra == "server"
Requires-Dist: pygments>=2.17; extra == "server"
Requires-Dist: openapi-spec-validator>=0.7.0; extra == "server"
Requires-Dist: prance>=23.6.21.0; extra == "server"
Requires-Dist: watchdog>=3.0.0; extra == "server"
Provides-Extra: vector
Requires-Dist: chromadb>=0.4.0; extra == "vector"
Requires-Dist: sentence-transformers>=2.2.2; extra == "vector"
Provides-Extra: vector-gpu
Requires-Dist: chromadb>=0.4.0; extra == "vector-gpu"
Requires-Dist: sentence-transformers>=2.2.2; extra == "vector-gpu"
Provides-Extra: pdf
Requires-Dist: Pillow>=9.0.0; extra == "pdf"
Provides-Extra: full
Requires-Dist: fastapi>=0.104.0; extra == "full"
Requires-Dist: uvicorn>=0.24.0; extra == "full"
Requires-Dist: jinja2>=3.1.0; extra == "full"
Requires-Dist: markdown>=3.5; extra == "full"
Requires-Dist: pygments>=2.17; extra == "full"
Requires-Dist: openapi-spec-validator>=0.7.0; extra == "full"
Requires-Dist: prance>=23.6.21.0; extra == "full"
Requires-Dist: watchdog>=3.0.0; extra == "full"
Requires-Dist: chromadb>=0.4.0; extra == "full"
Requires-Dist: sentence-transformers>=2.2.2; extra == "full"
Requires-Dist: Pillow>=9.0.0; extra == "full"
Provides-Extra: dev
Requires-Dist: fastapi>=0.104.0; extra == "dev"
Requires-Dist: uvicorn>=0.24.0; extra == "dev"
Requires-Dist: jinja2>=3.1.0; extra == "dev"
Requires-Dist: markdown>=3.5; extra == "dev"
Requires-Dist: pygments>=2.17; extra == "dev"
Requires-Dist: openapi-spec-validator>=0.7.0; extra == "dev"
Requires-Dist: prance>=23.6.21.0; extra == "dev"
Requires-Dist: watchdog>=3.0.0; extra == "dev"
Requires-Dist: chromadb>=0.4.0; extra == "dev"
Requires-Dist: sentence-transformers>=2.2.2; extra == "dev"
Requires-Dist: Pillow>=9.0.0; extra == "dev"
Requires-Dist: pytest>=7.4.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
Requires-Dist: httpx>=0.25.0; extra == "dev"
Requires-Dist: pytest-mock>=3.11.0; extra == "dev"
Requires-Dist: pytest-cov>=4.1.0; extra == "dev"
Requires-Dist: ruff>=0.1.0; extra == "dev"
Requires-Dist: mypy>=1.5.0; extra == "dev"
Requires-Dist: types-PyYAML; extra == "dev"
Requires-Dist: python-dotenv>=1.0.0; extra == "dev"
Dynamic: license-file

# 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](https://pypi.org/project/your-docs-mcp/):

```bash
pip install your-docs-mcp
```

With semantic search (recommended):

```bash
pip install "your-docs-mcp[vector]" --extra-index-url https://download.pytorch.org/whl/cpu
```

With PDF generation:

```bash
pip install "your-docs-mcp[pdf]"
```

All features:

```bash
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

```bash
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`:

```json
{
  "mcpServers": {
    "docs": {
      "command": "your-docs-mcp",
      "env": {
        "DOCS_ROOT": "/absolute/path/to/your/docs"
      }
    }
  }
}
```

**VS Code** - create `.vscode/mcp.json`:

```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:**

```markdown
---
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:

```bash
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

```bash
your-docs-server   # MCP server + web interface
your-docs-mcp      # MCP server only
your-docs-web      # Web interface only
```

## Development

```bash
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](docs/development/contributing.md) for details on running tests, code style, and submitting pull requests. Open an [issue](https://github.com/esola-thomas/your-docs-mcp/issues) to report bugs or request features.

## License

MIT - see [LICENSE](LICENSE) for details.

## Links

- [PyPI](https://pypi.org/project/your-docs-mcp/)
- [Issue tracker](https://github.com/esola-thomas/your-docs-mcp/issues)
- [Documentation](docs/)
- [MCP specification](https://modelcontextprotocol.io)
