
PyPI MCP Server
โ 2from JackKuo666
Search and access Python package metadata, version history, and download statistics from the PyPI repository.
PyPI MCP Server
๐ Enabling AI assistants to search and access PyPI package information through a simple MCP interface.
PyPI MCP Server provides a bridge to the PyPI package repository for AI assistants through the Model Context Protocol (MCP). It allows AI models to programmatically search Python packages and access their metadata, supporting features like retrieving package information, searching packages, viewing version history, and download statistics.
โจ Core Features
- ๐ Package Search: Query PyPI packages by keywords โ
- ๐ Metadata Access: Get detailed metadata for specific packages โ
- ๐ฆ Version Information: Get all released versions of a package โ
- ๐ Statistics Data: Get download statistics for packages โ
- ๐ Efficient Retrieval: Fast access to package information โ
๐ MCP Tools
Get Package Information
get_package_info(package_name: str, version: Optional[str] = None) -> DictGet detailed information about a specified package, with optional version specification.
Search Packages
search_packages(query: str) -> List[Dict]Search PyPI packages by keywords.
Get Package Releases
get_package_releases(package_name: str) -> DictGet all released version information for a specified package.
Get Package Statistics
get_package_stats(package_name: str) -> DictGet download statistics for a specified package.
๐ Integration with AI Assistants
Using Claude Desktop
Add the following configuration to your claude_desktop_config.json:
{
"mcpServers": {
"pypi": {
"command": "python",
"args": ["pypi_server.py"]
}
}
}Usage Examples
In your AI assistant, you can call the PyPI MCP tools as follows:
Use PyPI tool to search for Flask package:
@pypi search_packages("flask")
Get detailed information about a specific package:
@pypi get_package_info("requests")
Get information about a specific version of a package:
@pypi get_package_info("django", "4.2.0")
View all released versions of a package:
@pypi get_package_releases("numpy")
Get download statistics for a package:
@pypi get_package_stats("pandas")๐ License
pip install -r requirements.txt๐ Quick Start
Prerequisites
- Python 3.10+
- httpx
- BeautifulSoup4
- mcp-python-sdk
- typing-extensions
Installation
-
Clone the repository:
git clone https://github.com/JackKuo666/PyPI-MCP-Server.git cd PyPI-MCP-Server -
Install required dependencies:
pip install -r requirements.txt
Running the Server
python pypi_server.pyThe server will communicate with MCP clients through standard input/output (stdio).
๐ง Configuration
The server uses the MCP protocol to communicate with clients through standard input/output (stdio), no network port configuration needed.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.