MCP Package Docs Server
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
Jump to
- 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:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
MCP Package Docs ServerCommand (node, npx, python, etc.)npxArguments-
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.
-
Argument 1
- 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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




