elchika-inc/npm-package-readme-mcp-server
If you are the rightful owner of npm-package-readme-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP server that provides comprehensive information about npm packages, including README content, metadata, and search capabilities.
get_package_readme
Retrieves comprehensive README content and usage examples for npm packages.
get_package_info
Fetches detailed package metadata, dependencies, and statistics from npm registry.
search_packages
Searches npm registry for packages with advanced filtering capabilities.
npm Package README MCP Server
An MCP (Model Context Protocol) server that enables AI assistants to fetch comprehensive information about npm packages from the npm registry, including README content, package metadata, and search functionality.
Features
- Package README Retrieval: Fetch formatted README content with usage examples from Node.js/npm packages hosted on npm registry
- Package Information: Get comprehensive package metadata including dependencies, versions, statistics, and maintainer information
- Package Search: Search npm registry with advanced filtering by package type, popularity, and relevance
- Smart Caching: Intelligent caching system to optimize API usage and improve response times
- GitHub Integration: Seamless integration with GitHub API for enhanced README fetching when packages link to GitHub repositories
- Error Handling: Robust error handling with automatic retry logic and fallback strategies
MCP Client Configuration
Add this server to your MCP client configuration:
{
"mcpServers": {
"npm-package-readme": {
"command": "npx",
"args": ["npm-package-readme-mcp-server"],
"env": {
"GITHUB_TOKEN": "your_github_token_here"
}
}
}
}
Note: The
GITHUB_TOKEN
is optional but recommended for higher API rate limits when fetching README content from GitHub.
Available Tools
get_package_readme
Retrieves comprehensive README content and usage examples for npm packages.
Parameters:
{
"package_name": "react",
"version": "latest",
"include_examples": true
}
package_name
(string, required): npm package nameversion
(string, optional): Specific package version or "latest" (default: "latest")include_examples
(boolean, optional): Include usage examples and code snippets (default: true)
Returns: Formatted README content with installation instructions, usage examples, and API documentation.
get_package_info
Fetches detailed package metadata, dependencies, and statistics from npm registry.
Parameters:
{
"package_name": "express",
"include_dependencies": true,
"include_dev_dependencies": false
}
package_name
(string, required): npm package nameinclude_dependencies
(boolean, optional): Include runtime dependencies (default: true)include_dev_dependencies
(boolean, optional): Include development dependencies (default: false)
Returns: Package metadata including version info, maintainers, license, download stats, and dependency tree.
search_packages
Searches npm registry for packages with advanced filtering capabilities.
Parameters:
{
"query": "testing framework jest",
"limit": 20,
"quality": 0.8
}
query
(string, required): Search terms (package name, description, keywords)limit
(number, optional): Maximum number of results to return (default: 20, max: 250)quality
(number, optional): Minimum quality score filter (0-1)
Returns: List of matching packages with names, descriptions, download counts, and relevance scores.
Error Handling
The server handles common error scenarios gracefully:
- Package not found: Returns clear error messages with package name suggestions
- Rate limiting: Implements automatic retry with exponential backoff
- Network timeouts: Configurable timeout with retry logic
- Invalid package names: Validates package name format and provides guidance
- GitHub API failures: Fallback strategies when GitHub integration fails
License
MIT