pub-dev-mcp-server
v1.1.0
Published
MCP server for pub.dev package information and GitHub README access
Maintainers
Readme
Pub.dev MCP Server
Model Context Protocol server for pub.dev package information and GitHub README access.
🚀 Live API: https://web-production-e619b.up.railway.app
📦 NPM Package: pub-dev-mcp-server
Quick Start
Add to your MCP config:
{
"servers": {
"pub-dev": {
"command": "npx",
"args": ["pub-dev-mcp-server@latest"]
}
}
}Tools
list_pub_packages- Get all pub.dev package namesget_package_details- Get package info (version, description, etc.)get_github_readme- Fetch README from package repository
HTTP API
# Get package details
curl https://web-production-e619b.up.railway.app/package/flutter
# Get README
curl https://web-production-e619b.up.railway.app/readme/dio
# List tools
curl https://web-production-e619b.up.railway.app/toolsManual Installation
git clone https://github.com/hammadparveez/pub_dev_mcp.git
cd pub_dev_mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python server.pyLicense
MIT ├── test_suite.py # Comprehensive test suite ├── setup.sh # Automated setup script └── requirements.txt # Python dependencies
## Quick Start
### Automated Setup
```bash
./setup.shManual Setup
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txtTesting
Run All Tests
source venv/bin/activate
python test_suite.pyThis comprehensive test suite validates:
- ✅ pub.dev API client functionality
- ✅ GitHub client functionality
- ✅ MCP tools implementation
- ✅ MCP protocol communication
Interactive Testing with MCP Inspector
# Install MCP Inspector
npm install -g @modelcontextprotocol/inspector
# Run server with inspector
source venv/bin/activate
npx @modelcontextprotocol/inspector python server.pyAvailable Tools
1. list_pub_packages
Fetches all package names available on pub.dev (20,000+ packages).
Parameters: None
Returns: List of package names with count information.
2. get_package_details
Gets detailed information about a specific package.
Parameters:
package_name(string): The package name
Returns: JSON with package metadata including version, description, dependencies, etc.
3. get_github_readme
Fetches README.md from a package's GitHub repository.
Parameters:
package_name(string): The package name
Returns: README content with source URL information.
Features:
- ✅ Checks
repositoryfield first - 🔄 Falls back to
homepagefield if repository is null - 📝 Clear indication of URL source used
- 🌲 Tries multiple README file names and Git branches
Usage with Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"pub-dev-server": {
"command": "python",
"args": ["/path/to/pub_dev_mcp/server.py"],
"env": {}
}
}
}Status
- ✅ Production Ready: All tests passing
- ✅ MCP Compliant: Follows protocol specifications
- ✅ Well Tested: Comprehensive test suite
- ✅ Clean Architecture: Modular, maintainable codebase
