home / mcp / devdocs mcp server

DevDocs MCP Server

Provides access to DevDocs.io documentation via MCP for Claude Desktop, Copilot, and other clients.

Installation
Add the following to your MCP client configuration file.

Configuration

View docs
{
  "mcpServers": {
    "javierdevcol-devdocs-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-v",
        "devdocs-cache:/root/.cache/devdocs-mcp",
        "devdocs-mcp:latest"
      ]
    }
  }
}

You can access and browse the DevDocs.io documentation from your MCP-enabled clients (such as Claude Desktop or GitHub Copilot) by running a dedicated DevDocs MCP Server. This server exposes the documentation set, handles caching for offline use, and provides tools to search, fetch, and export content in a structured, secure way for AI-assisted workflows.

How to use

You integrate the DevDocs MCP Server with your MCP client to enable direct access to documentation without leaving your chat or IDE. Start the MCP server locally or in Docker, then point your client to the running server. Typical workflows include searching for a technology, fetching a page content, or getting an index, and using code examples directly within your conversation or editor.

How to install

Prerequisites you need before installation include a compatible runtime and tooling as described for the chosen installation path.

# Option 1: Docker (Recommended)

# 1. Clone or navigate to the project directory
cd devdocs-mcp

# 2. Build the Docker image
docker build -t devdocs-mcp:latest -f docker/Dockerfile .

# 3. List the created image to verify
docker images devdocs-mcp

# Quick test:
# Prove the server responds by invoking the container with a JSON-RPC request
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | docker run -i --rm devdocs-mcp:latest
```

```bash
# Option 2: Local installation (Python)

# 1. Navigate to the project directory
cd devdocs-mcp

# 2. Install in development mode
pip install -e .

# 3. Verify installation
python -c "from devdocs_mcp.server import main; print('OK')"

Configuration and usage notes

The server can be run either via Docker or as a local Python process. Use the following configurations to connect your MCP clients to a running DevDocs MCP Server. The Docker path keeps a persistent cache volume for offline access, while the local path runs directly on your machine.

{
  "mcpServers": {
    "devdocs": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-v", "devdocs-cache:/root/.cache/devdocs-mcp",
        "devdocs-mcp:latest"
      ]
    }
  }
}

To run locally without Docker, configure the client to invoke the Python module directly. The working directory should point to the local source path of the MCP server.

{
  "mcpServers": {
    "devdocs": {
      "type": "stdio",
      "command": "python",
      "args": ["-m", "devdocs_mcp.server"],
      "cwd": "E:/DevDocs/devdocs-mcp/src"
    }
  }
}

Notes on security and operability

Keep the cache persistent when using Docker to ensure offline availability of documentation. Guard access to the server by controlling who can invoke the MCP client, and rotate any credentials if you expose the server beyond a trusted environment.

Troubleshooting

If the server fails to start, verify that the runtime environment is available and that the command and paths in your configuration are correct. Common checks include ensuring Docker is running for the Docker path or that Python is installed for local runs.

# Docker health check example
docker info

docker images devdocs-mcp

# Rebuild if needed
docker build -t devdocs-mcp:latest -f docker/Dockerfile .
```

```bash
# Local run check
python -c "from devdocs_mcp.server import main; main()" 2>&1 | head -n 50

Security considerations

Do not expose the MCP server to untrusted networks. Use firewalls or network policies to restrict access. When using Docker with a mounted cache, ensure the host directory permissions are appropriate for read/write access to the cache directory.

Notes on tools and capabilities

The DevDocs MCP Server exposes a set of 12 tools that let you list, search, retrieve, and export documentation content. You can query caches, fetch page content, and obtain code examples or full indexes to support your development tasks.

Appendix: Tools exposed by the server

The following tools are available to interact with the documentation corpus through MCP clients.

Appendix: Performance and caching

Caching is designed to persist across container restarts and to support offline operation for cached documentations. The system stores indices in JSON and content in Markdown for efficient retrieval.

Appendix: Development and testing

If you are developing or testing locally, you can run tests and inspect internal API behavior as shown in development configurations.

Appendix: How the server links to DevDocs API

The server fetches documentation content from the DevDocs API endpoints, such as the docs index and individual page HTML, to assemble a working knowledge base for MCP clients.

Available tools

list_documentations

Lists all available documentations in DevDocs (~600).

search_documentation

Searches within the index of a specific technology.

get_page_content

Fetches the full content of a documentation page.

get_documentation_index

Fetches the complete index for a technology.

get_cache_stats

Shows statistics for the local cache.

clear_cache

Clears the local cache (entire cache or by technology).

get_multiple_pages

Fetches multiple pages in a single call.

search_across_docs

Searches across multiple documentations at once.

get_type_entries

Filters entries by type (class, function, etc.).

get_examples

Extracts only code blocks from a page.

export_documentation

Exports documentation to local files.

offline_mode_status

Shows which documentations are available offline.