The Documentation Management for Claude via MCP Server is a specialized MCP server designed to fetch, process, and search third-party library documentation. It integrates with Claude Desktop, enabling seamless access to documentation for various software libraries. The server scrapes content from specified URLs, processes it using semantic splitting techniques, and indexes it with OpenAI-generated vector embeddings. It supports versioning, hybrid search capabilities, and efficient storage in an SQLite database.
The server provides the following tools:
scrape_docs
): Fetches and indexes documentation from specified URLs.search_docs
): Performs hybrid searches (vector + full-text) on indexed documentation.list_libraries
): Lists all indexed libraries.find_version
): Identifies the best matching version for a library..env
file based on .env.example
:shell
cp .env.example .env
.env
:shell
OPENAI_API_KEY=your-api-key-here
To integrate the server with Claude Desktop, add the following configuration:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"docs-mcp-server": {
"command": "node",
"args": ["/path/to/docs-mcp-server/dist/server.js"],
"env": {
"OPENAI_API_KEY": "sk-proj-..."
},
"disabled": false,
"autoApprove": []
}
}
}
The docs-mcp
CLI provides commands for managing documentation. To see available commands and options:
# Show all commands
docs-mcp --help
# Show help for a specific command
docs-mcp scrape --help
docs-mcp search --help
docs-mcp find-version --help
scrape
)Scrapes and indexes documentation from a given URL for a specific library.
docs-mcp scrape <library> <url> [options]
Options:
- -v, --version <string>
: The specific version to associate with the scraped documents.
- -p, --max-pages <number>
: Maximum pages to scrape (default: 100).
- -d, --max-depth <number>
: Maximum navigation depth (default: 3).
- -c, --max-concurrency <number>
: Maximum concurrent requests (default: 3).
- --ignore-errors
: Ignore errors during scraping (default: true).
Examples:
# Scrape React 18.2.0 docs
docs-mcp scrape react --version 18.2.0 https://react.dev/
# Scrape React docs without a specific version
docs-mcp scrape react https://react.dev/
search
)Searches the indexed documentation for a library, optionally filtering by version.
docs-mcp search <library> <query> [options]
Options:
- -v, --version <string>
: The target version or range to search within.
- -l, --limit <number>
: Maximum number of results (default: 5).
- -e, --exact-match
: Only match the exact version specified (default: false).
Examples:
# Search latest React docs for 'hooks'
docs-mcp search react 'hooks'
# Search React 18.x docs for 'hooks'
docs-mcp search react --version 18.x 'hooks'
find-version
)Checks the index for the best matching version for a library based on a target.
docs-mcp find-version <library> [options]
Options:
- -v, --version <string>
: The target version or range.
Examples:
# Find the latest indexed version for react
docs-mcp find-version react
# Find the best match for react version 17.x
docs-mcp find-version react --version 17.x
list-libraries
)Lists all libraries currently indexed in the store.
docs-mcp list-libraries
shell
docker build -t docs-mcp-server .
shell
docker run -p 8000:8000 --env-file .env --name docs-mcp-server-container docs-mcp-server
http://localhost:8000/sse
http://localhost:8000/message
For details on the project's architecture and design principles, see ARCHITECTURE.md.
Use the MCP Inspector for debugging:
npx @modelcontextprotocol/inspector node dist/server.js
This MCP server is designed to enhance Claude Desktop's capabilities by providing efficient access to third-party library documentation. It supports versioning, hybrid search, and seamless integration with Claude Desktop.