Skip to main content
Glama
DevDocs MCP Server

DevDocs MCP Server

by elblanco2

DevDocs MCP Server

A Model Context Protocol (MCP) server that provides access to the extensive DevDocs.io API documentation library. Access 600+ documentation sets including Python, JavaScript, React, Django, PostgreSQL, and many more directly through Claude Desktop or any MCP-compatible client.

Features

  • List Documentation Sets: Browse all 600+ available documentation libraries

  • Search Within Docs: Search for specific topics within a documentation set

  • Global Search: Search across multiple documentation sets simultaneously

  • Fetch Content: Retrieve full HTML documentation content

  • Browse Index: View complete table of contents for any documentation

  • Smart Caching: Automatic caching for improved performance

  • Type Safety: Built with TypeScript for reliability

Related MCP server: DevDocs MCP Server

Available Documentation

DevDocs.io aggregates documentation from numerous sources including:

  • Languages: Python, JavaScript, TypeScript, Rust, Go, C++, Ruby, PHP, Java, Kotlin, Swift, and 30+ more

  • Frameworks: React, Vue, Angular, Django, Flask, Laravel, Rails, Express, Next.js, and many more

  • Libraries: NumPy, pandas, PyTorch, TensorFlow, D3.js, Lodash, jQuery

  • Tools: Docker, Kubernetes, Git, webpack, npm, CMake

  • Databases: PostgreSQL, MySQL, SQLite, Redis, MongoDB

  • Web APIs: DOM, HTML, CSS, HTTP, Web APIs from MDN

Installation

Prerequisites

  • Node.js 18 or higher

  • npm or yarn

Setup

  1. Clone or download this repository:

git clone <repository-url>
cd apidocs
  1. Install dependencies:

npm install
  1. Build the project:

npm run build

Configure Claude Desktop

Add this server to your Claude Desktop configuration file:

MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "devdocs": {
      "command": "node",
      "args": ["/absolute/path/to/apidocs/build/index.js"]
    }
  }
}

Replace /absolute/path/to/apidocs with the actual path to your installation.

Tools

The server provides five powerful tools:

1. list_docs

List all available documentation sets with optional filtering.

Parameters:

  • filter (optional): String to filter documentation by name

Example:

{
  "filter": "python"
}

Returns: Array of documentation metadata including name, slug, version, links, and size.

2. search_doc

Search within a specific documentation set.

Parameters:

  • doc_slug (required): Documentation slug (e.g., "javascript", "python~3.12", "react")

  • query (required): Search query string

Example:

{
  "doc_slug": "javascript",
  "query": "array map"
}

Returns: Array of matching entries with name, path, type, and full URL (limited to 20 results).

3. search_all_docs

Search across multiple documentation sets simultaneously.

Parameters:

  • query (required): Search query string

  • doc_slugs (optional): Array of specific documentation slugs to search

Example:

{
  "query": "authentication",
  "doc_slugs": ["django~5.1", "flask~3.1", "express"]
}

Returns: Combined search results from multiple docs (limited to 50 results).

4. get_doc_content

Fetch the full HTML content for a specific documentation entry.

Parameters:

  • doc_slug (required): Documentation slug

  • path (required): Entry path (from search results)

Example:

{
  "doc_slug": "javascript",
  "path": "global_objects/array/map"
}

Returns: Full HTML content of the documentation entry.

5. get_doc_index

Get the complete index/table of contents for a documentation set.

Parameters:

  • doc_slug (required): Documentation slug

Example:

{
  "doc_slug": "react"
}

Returns: Complete index with entry names, paths, and types (first 100 entries shown).

Usage Examples

Finding Python Documentation

  1. List Python docs:

    • Tool: list_docs

    • Filter: "python"

  2. Search for "list comprehension":

    • Tool: search_doc

    • doc_slug: "python~3.12"

    • query: "list comprehension"

  3. Get the content:

    • Tool: get_doc_content

    • doc_slug: "python~3.12"

    • path: (from search results)

Search for "routing" across web frameworks:

  • Tool: search_all_docs

  • query: "routing"

  • doc_slugs: ["express", "django~5.1", "flask~3.1", "rails~7.2"]

Development

Watch Mode

For development with auto-rebuild:

npm run watch

Project Structure

apidocs/
├── src/
│   └── index.ts         # Main MCP server implementation
├── build/               # Compiled JavaScript (generated)
├── package.json         # Dependencies and scripts
├── tsconfig.json        # TypeScript configuration
└── README.md           # This file

How It Works

  1. Data Source: Fetches data from DevDocs.io public endpoints

  2. Caching: Implements 1-hour cache to reduce API calls and improve performance

  3. Index Format: DevDocs uses compact arrays [name, path, type] for efficient storage

  4. Content Delivery: HTML partials are served for each documentation entry

API Endpoints Used

  • https://devdocs.io/docs.json - List of all documentation sets

  • https://documents.devdocs.io/{slug}/index.json - Index for specific documentation

  • https://documents.devdocs.io/{slug}/{path}.html - Content for specific entry

Troubleshooting

Server Not Showing Up in Claude Desktop

  1. Verify the path in claude_desktop_config.json is absolute

  2. Ensure you ran npm run build

  3. Restart Claude Desktop completely

  4. Check Claude Desktop logs for errors

Search Returns No Results

  • Verify the doc_slug is correct using list_docs

  • Check that the documentation includes the term you're searching for

  • Try a broader search query

Performance Issues

  • The server caches all requests for 1 hour

  • First requests may be slower as data is fetched

  • Subsequent requests will be much faster

Credits and Attribution

This MCP server was built by analyzing and integrating with the DevDocs.io platform. Special thanks to:

Core Infrastructure

Documentation and Research

Technology Stack

All documentation content is copyright of their respective owners and provided through DevDocs.io's public API.

For detailed attribution, see CREDITS.md.

License

MIT - See LICENSE for details.

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests.

Resources

Available Tools

5 tools
get_doc_contentB

Fetch the full HTML content for a specific documentation entry. Use the path from search results.

Inputs: doc_slug (required), path (required).

get_doc_indexB

Get the complete index of entries for a specific documentation set. Useful for browsing available topics.

Inputs: doc_slug (required).

list_docsC

List all available documentation sets on DevDocs.io. Returns name, slug, version, and other metadata for each documentation.

Inputs: filter.

search_all_docsB

Search across multiple documentation sets. Optionally filter by specific documentation slugs.

Inputs: query (required), doc_slugs.

search_docA

Search within a specific documentation set for entries matching the query. Returns matching entries with their paths and types.

Inputs: doc_slug (required), query (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 5 tools

    Disambiguation5/5

    Each tool has a clearly distinct purpose with no overlap: list_docs enumerates available documentation sets, get_doc_index retrieves the index of a specific set, search_doc searches within a set, search_all_docs searches across multiple sets, and get_doc_content fetches full content for an entry. The descriptions explicitly differentiate their scopes and use cases.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern using snake_case: list_docs, get_doc_index, search_doc, search_all_docs, get_doc_content. The verbs (list, get, search) are appropriately matched to their actions, and the nouns (docs, doc_index, doc, all_docs, doc_content) clearly indicate the target resources.

    Tool Count5/5

    With 5 tools, the server is well-scoped for its purpose of accessing DevDocs.io documentation. Each tool serves a specific, non-redundant function in the workflow, from discovery to content retrieval, making the count efficient and appropriate for the domain.

    Completeness5/5

    The tool set provides complete coverage for the documentation access domain: list_docs for discovery, get_doc_index for browsing, search_doc and search_all_docs for finding entries, and get_doc_content for reading content. There are no obvious gaps, as it supports the full lifecycle from listing sets to fetching specific entry content.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      A
      quality
      D
      maintenance
      Provides AI models with direct access to documentation for over 600 technologies from DevDocs.io, including popular languages, frameworks, and tools. It enables comprehensive searching, content retrieval, and offline access via an intelligent local caching system.
      12
      2
      -
    • A
      license
      Not graded
      quality
      D
      maintenance
      Enables AI assistants like Claude to search and retrieve technical documentation from a local DevDocs instance for hundreds of programming languages and frameworks.
      1
      MIT