MCP Package Docs Server

by sammcj

73 stars
2 downloads
Not rated
GitHub

About

Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.

Details

Author
sammcj
Repository
sammcj/mcp-package-docs
GitHub stars
73
Downloads
2
License
MIT License
Categories
Developer Tools, AI

- Multi-Language Support:
- Go packages via go doc
- Python libraries via built-in help()
- NPM packages via registry documentation (including private registries)
- Rust crates via crates.io and docs.rs

- Smart Documentation Parsing:
- Structured output with description, usage, and examples
- Focused information to avoid context overload
- Support for specific symbol/function lookups
- Fuzzy and exact search capabilities across documentation

- Advanced Search Features:
- Search within package documentation
- Fuzzy matching for flexible queries
- Context-aware results with relevance scoring
- Symbol extraction from search results

- Language Server Protocol (LSP) Support:
- Hover information for code symbols
- Code completions
- Diagnostics (errors and warnings)
- Currently supports TypeScript/JavaScript
- Extensible for other languages

- Performance Optimised:
- Built-in caching
- Efficient parsing
- Minimal memory footprint

Setting up with Highlight

Follow these steps to add this server as a custom Highlight plugin:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Package Docs Server
    Command (node, npx, python, etc.) npx
    Arguments
    • Argument 1 -y
    • Argument 2 mcp-package-docs
    Environment
    • ENABLE_LSP true

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

describe_go_package

Fetches Go package documentation. Parameters: package (string, required), symbol (string, optional)

describe_python_package

Fetches Python package documentation. Parameters: package (string, required), symbol (string, optional)

describe_rust_package

Fetches Rust crate documentation from crates.io and docs.rs. Parameters: package (string, required), version (string, optional)

search_package_docs

Search within package documentation. Parameters: package (string, required), query (string, required), language (string, required), fuzzy (boolean, optional)

describe_npm_package

Fetches NPM package documentation from both public and private registries. Parameters: package (string, required), version (string, optional)

get_hover

Get hover information for a position in a document. Parameters: languageId (string, required), filePath (string, required), content (string, required), line (number, required), character (number, required), projectRoot (string, optional)

get_completions

Get completion suggestions for a position in a document. Parameters: languageId (string, required), filePath (string, required), content (string, required), line (number, required), character (number, required), projectRoot (string, optional)

get_diagnostics

Get diagnostic information (errors, warnings) for a document. Parameters: languageId (string, required), filePath (string, required), content (string, required), projectRoot (string, optional)

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp package docs server": {
            "env": {
                "ENABLE_LSP": "true"
            },
            "args": [
                "-y",
                "mcp-package-docs"
            ],
            "command": "npx"
        }
    }
}

Linux

{
    "env": {
        "ENABLE_LSP": "true"
    },
    "args": [
        "-y",
        "mcp-package-docs"
    ],
    "command": "npx"
}

Macos

{
    "env": {
        "ENABLE_LSP": "true"
    },
    "args": [
        "-y",
        "mcp-package-docs"
    ],
    "command": "npx"
}

Windows

{
    "env": {
        "ENABLE_LSP": "true"
    },
    "args": [
        "/c",
        "npx",
        "-y",
        "mcp-package-docs"
    ],
    "command": "cmd"
}

Package Documentation MCP Server

An MCP (Model Context Protocol) server that provides LLMs with efficient access to package documentation across multiple programming languages and language server protocol (LSP) capabilities.

_Note: I am not actively maintaining the codebase at present. While it doesn't provide access to private package documentation - the Context7 MCP server and service meets my needs which are mostly for public package documentation. I personally use Context7 via my mcp-devtools MCP server which is actively maintained._

Features

- Multi-Language Support:
- Go packages via go doc
- Python libraries via built-in help()
- NPM packages via registry documentation (including private registries)
- Rust crates via crates.io and docs.rs

- Smart Documentation Parsing:
- Structured output with description, usage, and examples
- Focused information to avoid context overload
- Support for specific symbol/function lookups
- Fuzzy and exact search capabilities across documentation

- Advanced Search Features:
- Search within package documentation
- Fuzzy matching for flexible queries
- Context-aware results with relevance scoring
- Symbol extraction from search results

- Language Server Protocol (LSP) Support:
- Hover information for code symbols
- Code completions
- Diagnostics (errors and warnings)
- Currently supports TypeScript/JavaScript
- Extensible for other languages

- Performance Optimised:
- Built-in caching
- Efficient parsing
- Minimal memory footprint

Installation

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.