MkDocs Material MCP Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@MkDocs Material MCP Server Search MkDocs Material for how to add admonitions"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MkDocs Material MCP Server
Model Context Protocol (MCP) server for documentation sites built with MkDocs Material.
This MCP server provides tools to search and retrieve documentation from any MkDocs Material-powered documentation site. By default, it connects to the MkDocs Material documentation itself.
Features
Search Documentation: Find relevant pages across the entire documentation site
Retrieve Pages: Get full page content in markdown format with source URLs
Multi-site Support: Configure multiple MkDocs Material sites simultaneously
Dynamic Tool Generation: Automatically creates MCP tools for each configured site
Related MCP server: MkDocs MCP Plugin
Prerequisites
Installation Requirements
Install uv from Astral or the GitHub README
Install Python 3.10 or newer using
uv python install 3.10(or a more recent version)
Installation
Kiro CLI
Configure the MCP server in your MCP client (like Kiro CLI) configuration (~/.kiro/settings/mcp.json):
{
"mcpServers": {
"mkdocs": {
"command": "uvx",
"args": ["mkdocs-mcp@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
},
"disabled": false,
"autoApprove": ["search_mkdocs-material", "get_mkdocs-material_page"]
}
}
}Custom MkDocs Material Site
To use with your own MkDocs Material-powered documentation:
{
"mcpServers": {
"my-docs": {
"command": "uvx",
"args": ["mkdocs-mcp@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"MKDOCS_SITES": "mysite=https://your-docs-site.com"
},
"disabled": false,
"autoApprove": ["search_mysite", "get_mysite_page"]
}
}
}Multiple Sites
Configure multiple MkDocs Material sites:
{
"mcpServers": {
"mkdocs-multi": {
"command": "uvx",
"args": ["mkdocs-mcp@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"MKDOCS_SITES": "mkdocs-material=https://squidfunk.github.io/mkdocs-material,mysite=https://your-docs-site.com"
},
"disabled": false,
"autoApprove": ["search_mkdocs-material", "get_mkdocs-material_page", "search_mysite", "get_mysite_page"]
}
}
}Windows Installation
For Windows users, the MCP server configuration format is slightly different:
{
"mcpServers": {
"mkdocs": {
"disabled": false,
"timeout": 60,
"type": "stdio",
"command": "uv",
"args": [
"tool",
"run",
"--from",
"mkdocs-mcp@latest",
"mkdocs-mcp.exe"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR"
}
}
}
}Environment Variables
Variable | Description | Default |
| Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL) | WARNING |
| Comma-separated list of site configurations in format | mkdocs-material=https://squidfunk.github.io/mkdocs-material |
Performance
Large Documentation Sites: Sites with very large search indexes use async loading with a 1.5-second timeout:
First search returns a "loading" message if index isn't ready
The LLM can retry the search (index loads in background)
Once loaded, the index is cached and searches are instant
Search Capabilities
This MCP server provides basic search functionality:
Phrase matching: Exact phrase matches are prioritized (highest relevance)
Word matching: Falls back to matching individual words when exact phrases don't match
Scoring: Results are ranked by relevance (exact matches first, then by word count)
The LLM interprets search results and provides meaningful answers, making up for the simpler search algorithm with intelligent result processing.
Corporate Network Support
For corporate environments with proxy servers:
{
"env": {
"HTTPS_PROXY": "http://proxy.company.com:8080",
"HTTP_PROXY": "http://proxy.company.com:8080"
}
}For authenticated proxies:
{
"env": {
"HTTPS_PROXY": "http://username:password@proxy.company.com:8080"
}
}Basic Usage
Example queries:
"Search MkDocs Material documentation for admonitions"
"How do I use code blocks in MkDocs Material?"
"What are the customization options for MkDocs Material?"
About MkDocs Material
MkDocs Material is a powerful documentation framework built on top of MkDocs. This MCP server works with any documentation site built using MkDocs Material.
Development
From Source
git clone https://github.com/ojacques/mkdocs-mcp.git
cd mkdocs-mcp
pip install -e .
mkdocs-mcpRunning Tests
# Install with dev dependencies
pip install -e ".[dev]"
# Run tests
pytest -v
# Run tests with coverage
pytest --cov=mkdocs_mcp --cov-report=htmlTests are automatically run on push and pull requests via GitHub Actions.
Publishing
This package is automatically published to PyPI when a new release is created on GitHub:
Update version in
pyproject.tomlCreate a new release on GitHub with a tag (e.g.,
v0.1.0)GitHub Actions will automatically build and publish to PyPI
Note: Requires PyPI trusted publishing to be configured for the repository.
License
MIT
Available Tools
2 toolsget_mkdocs-material_pageA
Get page from mkdocs-material documentation. Returns 'url' field that MUST be included in responses to users.
Inputs: location (required). Returns: object
search_mkdocs-materialA
Search mkdocs-material documentation. Returns results with 'url' field that MUST be included in responses to users.
Inputs: query (required), limit. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 2 tools
Search and get page have clearly distinct purposes: one retrieves search results across the documentation, the other fetches a specific page. There is no meaningful overlap in action or expected usage.
Both tools follow a snake_case verb-plus-product pattern: search_mkdocs-material and get_mkdocs-material_page. The only minor inconsistency is that the second tool includes '_page' while the first does not, but the naming remains predictable.
Two tools is a thin surface, though search and page retrieval are the core operations for documentation lookup. This fits a narrow, focused server but sits at the low end of the appropriate range.
The pair covers the essential documentation workflow: discover relevant results via search, then retrieve a specific page. Missing broader navigation or listing capabilities is a minor gap, but typical documentation lookups are fully supported.
Related MCP Connectors
Query any docs site via MCP. Submit a URL, ask questions, get cited answers.
Provides access to Google's public developer documentation.
Search Multilo's docs, fetch any public page as clean Markdown, and read the changelog.
Versioned documentation registry and semantic search for AI tools and coding assistants.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude and other LLMs to search through any published MkDocs documentation site using the Lunr.js search engine, allowing the AI to find and summarize relevant documentation for users.147 npm21MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to interact with MkDocs documentation through intelligent search (keyword, vector, and hybrid), document retrieval, and automatic indexing. Automatically detects and launches MkDocs projects for seamless documentation querying.10MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to access and search MkDocs documentation through tools for full-text search, page navigation, and code block extraction. It serves documentation pages as readable resources and provides structural outlines to help LLMs navigate documentation content.MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with MkDocs documentation through the MCP protocol, allowing AI assistants to read, search, and retrieve documentation content from MkDocs projects.9MIT