An MCP (Model Context Protocol) server that provides LLMs with efficient access to package documentation across multiple programming languages.
37 stars1 watching8 forks
Package Documentation MCP Server
An MCP (Model Context Protocol) server that provides LLMs with efficient access to package documentation across multiple programming languages.
Features
-
Multi-Language Support:
- Go packages via
go doc
- Python libraries via built-in
help()
- NPM packages via registry documentation
- Go packages via
-
Smart Documentation Parsing:
- Structured output with description, usage, and examples
- Focused information to avoid context overload
- Support for specific symbol/function lookups
-
Performance Optimised:
- Built-in caching
- Efficient parsing
- Minimal memory footprint
Installation
npx -y mcp-package-docs
Usage
As an MCP Server
- Add to your MCP settings configuration:
{
"mcpServers": {
"package-docs": {
"command": "npx",
"args": ["-y", "mcp-package-docs"]
}
}
}
- The server provides three tools:
lookup_go_doc
Fetches Go package documentation
{
"name": "lookup_go_doc",
"arguments": {
"package": "encoding/json", // required
"symbol": "Marshal" // optional
}
}
lookup_python_doc
Fetches Python package documentation
{
"name": "lookup_python_doc",
"arguments": {
"package": "requests", // required
"symbol": "get" // optional
}
}
lookup_npm_doc
Fetches NPM package documentation
{
"name": "lookup_npm_doc",
"arguments": {
"package": "axios", // required
"version": "1.6.0" // optional
}
}
Example Usage in an LLM
const result = await use_mcp_tool({
server_name: "package-docs",
tool_name: "lookup_python_doc",
arguments: {
package: "requests",
symbol: "post"
}
});
Requirements
- Node.js >= 20
- Go (for Go package documentation)
- Python 3 (for Python package documentation)
- Internet connection (for NPM package documentation)
Development
# Install dependencies
npm i
# Build
npm run build
# Watch mode
npm run watch
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Features
multilingual
parsing
caching
documentation
performance
Category
Development Tools