mcp-package-docs

MCP.Pizza Chef: sammcj

The mcp-package-docs server is an MCP server designed to provide large language models (LLMs) with efficient, structured access to package documentation across multiple programming languages. It supports Go, Python, NPM, and Rust ecosystems, leveraging native tools like 'go doc', Python's 'help()', and registry sources such as crates.io and docs.rs. The server offers smart documentation parsing with structured outputs including descriptions, usage examples, and symbol-specific lookups. It also supports fuzzy and exact search capabilities, enabling LLMs to retrieve focused, relevant documentation without context overload. This server enhances LLM-powered development tools by integrating language server protocol (LSP) features and multi-language package insights in real time.

Archived · The author made this repository read-only on GitHub.

Use This MCP server To

Provide LLMs with multi-language package documentation Enable symbol-specific documentation lookups for code assistance Support fuzzy and exact search in package docs for LLM queries Integrate LSP capabilities for enhanced coding context Access private and public NPM package documentation Retrieve structured usage examples for Go, Python, Rust packages Enhance AI coding assistants with real-time package info

README

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.

smithery badge

Package Docs Server MCP server

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

npx -y mcp-package-docs

Installing via Smithery

To install Package Docs for Claude Desktop automatically via Smithery:

npx -y @smithery/cli install mcp-package-docs --client claude

Usage

mcp-package-docs FAQ

How does mcp-package-docs handle multiple programming languages?
It supports Go, Python, NPM, and Rust by using native tools and registry sources like 'go doc', Python's 'help()', crates.io, and docs.rs to fetch documentation.
Can mcp-package-docs access private package registries?
Yes, it supports private NPM registries alongside public ones, enabling secure access to private package documentation.
What kind of documentation output does this server provide?
It delivers structured documentation including descriptions, usage instructions, examples, and symbol-specific information to avoid overwhelming context.
Does mcp-package-docs support search within documentation?
Yes, it offers both fuzzy and exact search capabilities to help LLMs find relevant documentation efficiently.
How does this server improve LLM coding assistance?
By integrating multi-language package docs and LSP features, it provides LLMs with precise, real-time coding context and documentation.
Is mcp-package-docs compatible with different LLM providers?
Yes, it is provider-agnostic and works with OpenAI, Anthropic Claude, Google Gemini, and other LLMs supporting MCP.
How is context overload avoided when retrieving documentation?
The server parses and structures documentation to focus on relevant sections like usage and examples, minimizing unnecessary information.
Can I look up specific functions or symbols using this server?
Yes, it supports targeted lookups for specific symbols or functions within package documentation.