io.github.ubaumann/mkdocs-mcp

Official registry Other

An MCP server that provides serves MkDocs as resources.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

PYPI package mkdocs-mcp
Claude Code
claude mcp add mkdocs-mcp -e 'MKDOCS_PROJECT_PATH=<MKDOCS_PROJECT_PATH>' -- uvx mkdocs-mcp==0.1.2
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mkdocs-mcp": {
            "command": "uvx",
            "args": [
                "mkdocs-mcp==0.1.2"
            ],
            "env": {
                "MKDOCS_PROJECT_PATH": "<MKDOCS_PROJECT_PATH>"
            }
        }
    }
}

Environment variables

  • MKDOCS_PROJECT_PATH required Path to the MkDocs project

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. mkdocs-mcp
  2. Quick Start
  3. Using Claude Desktop with WSL
  4. Inspecting the MCP Server
  5. Notes

mkdocs-mcp

MkDocs Plugin to Serve MCP
A proof-of-concept — feedback welcome!


mkdocs-mcp is an experimental plugin designed to integrate an MCP server into the MkDocs workflow. Due to limitations in MkDocs, the native mkdocs serve command cannot be overridden. Instead, this project provides the mkdocs_mcp script to handle the build process and launch the MCP server.

Quick Start

Requirements

This project uses uv for dependency management and virtual environments.

Running the MCP Server

To start the MCP server:

uv run mkdocs-mcp -mt stdio

Use the --mkdocs-project-path option to specify the path to your MkDocs project if it's not in the current directory. The environment variable MKDOCS_PROJECT_PATH can also be set for this purpose.

MkDocs Configuration

Make sure to include mcp in your mkdocs.yml plugin list:

plugins:
  - mcp:
      naming_style: src_file  # "src_file"(default), "dst_url" or "title"
      prefer_markdown: True  # By default the source markdown is used, set to False to convert the output HTML to markdown
      combine_all_pages: False  # Aggregate all pages into one file
      combine_by_folder: False  # Aggregate each folder

Using Claude Desktop with WSL

If you're working with Claude Desktop and WSL, configure your claude_desktop_config.json as follows (adjust paths as needed):

{
  "mcpServers": {
    "mkdocs": {
      "command": "wsl.exe",
      "args": [
        "bash",
        "-c",
        "/home/urs/.cargo/bin/uv run --directory /home/urs/projects/mkdocs-mcp mkdocs-mcp -mt stdio"
      ]
    }
  }
}

Inspecting the MCP Server

For development and debugging, you can directly inspect the MCP server:

uv run mcp dev src/mkdocs_mcp/__main__.py

Notes

  • This project is still in the early proof-of-concept stage.
  • Contributions and feedback are highly encouraged!

Thanks for checking out mkdocs-mcp!


GitHub MCP Registry mcp-name: io.github.ubaumann/mkdocs-mcp

Frequently asked questions

What is io.github.ubaumann/mkdocs-mcp?

An MCP server that provides serves MkDocs as resources.

How do I install io.github.ubaumann/mkdocs-mcp?

It runs on your machine. In Claude Code: claude mcp add mkdocs-mcp -e 'MKDOCS_PROJECT_PATH=<MKDOCS_PROJECT_PATH>' -- uvx mkdocs-mcp==0.1.2. For other clients, paste the JSON configuration from this page into their MCP settings.

Does io.github.ubaumann/mkdocs-mcp need an API key?

Yes. It expects MKDOCS_PROJECT_PATH, which you set in its configuration.

Is io.github.ubaumann/mkdocs-mcp open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains io.github.ubaumann/mkdocs-mcp?

It is published by ubaumann. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.