Name | pypi-query-mcp-server JSON |
Version |
0.6.3
JSON |
| download |
home_page | None |
Summary | A Model Context Protocol (MCP) server for querying PyPI package information, dependencies, and compatibility |
upload_time | 2025-07-13 17:08:22 |
maintainer | None |
docs_url | None |
author | Hal |
requires_python | <4.0,>=3.10 |
license | MIT |
keywords |
mcp
pypi
package
dependency
python
|
VCS |
 |
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
|
# PyPI Query MCP Server
[](https://pypi.org/project/pypi-query-mcp-server/)
A Model Context Protocol (MCP) server for querying PyPI package information, dependencies, and compatibility checking.
## Features
- 📦 Query PyPI package information (name, version, description, dependencies)
- 🐍 Python version compatibility checking
- 🔍 **Advanced dependency analysis and recursive resolution**
- 📥 **Package download with dependency collection**
- 📊 **Download statistics and popularity analysis**
- 🏆 **Top packages ranking and trends**
- 🎯 **MCP prompt templates for guided analysis and decision-making**
- 🏢 Private PyPI repository support
- ⚡ Fast async operations with caching
- 🛠️ Easy integration with MCP clients
## Installation
### Using uvx (recommended)
```bash
# Run directly with uvx
uvx pypi-query-mcp-server
# Or install and run with specific script
uvx --from pypi-query-mcp-server pypi-query-mcp
```
### Using pip
```bash
# Install from PyPI
pip install pypi-query-mcp-server
# Run the server
python -m pypi_query_mcp.server
```
### From source
```bash
git clone https://github.com/loonghao/pypi-query-mcp-server.git
cd pypi-query-mcp-server
uv sync
uv run pypi-query-mcp
```
## Configuration
### Claude Desktop
Add to your Claude Desktop configuration file:
**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"pypi-query": {
"command": "uvx",
"args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
"env": {
"PYPI_INDEX_URL": "https://pypi.org/pypi",
"PYPI_INDEX_URLS": "https://mirrors.aliyun.com/pypi/simple/,https://pypi.tuna.tsinghua.edu.cn/simple/",
"PYPI_CACHE_TTL": "3600",
"PYPI_LOG_LEVEL": "INFO"
}
}
}
}
```
#### With Private Repository
```json
{
"mcpServers": {
"pypi-query": {
"command": "uvx",
"args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
"env": {
"PYPI_INDEX_URL": "https://pypi.org/pypi",
"PYPI_PRIVATE_PYPI_URL": "https://private.pypi.company.com",
"PYPI_PRIVATE_PYPI_USERNAME": "your_username",
"PYPI_PRIVATE_PYPI_PASSWORD": "your_password",
"PYPI_CACHE_TTL": "3600"
}
}
}
}
```
### Cline
Add to your Cline MCP settings (`cline_mcp_settings.json`):
```json
{
"mcpServers": {
"pypi-query": {
"command": "uvx",
"args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
"env": {
"PYPI_INDEX_URL": "https://pypi.org/simple/",
"CACHE_TTL": "3600"
}
}
}
}
```
### Cursor
Add to your Cursor MCP configuration (`.cursor/mcp.json`):
```json
{
"mcpServers": {
"pypi-query": {
"command": "uvx",
"args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
"env": {
"PYPI_INDEX_URL": "https://pypi.org/simple/",
"CACHE_TTL": "3600"
}
}
}
}
```
### Windsurf
Add to your Windsurf MCP configuration (`~/.codeium/windsurf/mcp_config.json`):
```json
{
"mcpServers": {
"pypi-query": {
"command": "uvx",
"args": ["--from", "pypi-query-mcp-server", "pypi-query-mcp"],
"env": {
"PYPI_INDEX_URL": "https://pypi.org/simple/",
"CACHE_TTL": "3600"
}
}
}
}
```
### Environment Variables
#### Basic Configuration
- `PYPI_INDEX_URL`: Primary PyPI index URL (default: https://pypi.org/pypi)
- `PYPI_CACHE_TTL`: Cache time-to-live in seconds (default: 3600)
- `PYPI_LOG_LEVEL`: Logging level (default: INFO)
- `PYPI_REQUEST_TIMEOUT`: HTTP request timeout in seconds (default: 30.0)
#### Multiple Mirror Sources Support
- `PYPI_INDEX_URLS`: Additional PyPI index URLs (comma-separated, optional)
- `PYPI_EXTRA_INDEX_URLS`: Extra PyPI index URLs for fallback (comma-separated, optional)
#### Private Repository Support
- `PYPI_PRIVATE_PYPI_URL`: Private PyPI repository URL (optional)
- `PYPI_PRIVATE_PYPI_USERNAME`: Private PyPI username (optional)
- `PYPI_PRIVATE_PYPI_PASSWORD`: Private PyPI password (optional)
#### Advanced Dependency Analysis
- `PYPI_DEPENDENCY_MAX_DEPTH`: Maximum depth for recursive dependency analysis (default: 5)
- `PYPI_DEPENDENCY_MAX_CONCURRENT`: Maximum concurrent dependency queries (default: 10)
- `PYPI_ENABLE_SECURITY_ANALYSIS`: Enable security vulnerability analysis (default: false)
#### Example Configuration
```bash
# Use multiple mirror sources for better availability
export PYPI_INDEX_URL="https://pypi.org/pypi"
export PYPI_INDEX_URLS="https://mirrors.aliyun.com/pypi/simple/,https://pypi.tuna.tsinghua.edu.cn/simple/"
export PYPI_EXTRA_INDEX_URLS="https://test.pypi.org/simple/"
# Private repository configuration
export PYPI_PRIVATE_PYPI_URL="https://private.pypi.company.com"
export PYPI_PRIVATE_PYPI_USERNAME="your_username"
export PYPI_PRIVATE_PYPI_PASSWORD="your_password"
```
## Available MCP Tools
The server provides the following MCP tools:
### Core Package Information
1. **get_package_info** - Get comprehensive package information
2. **get_package_versions** - List all available versions for a package
3. **get_package_dependencies** - Analyze package dependencies
### Python Compatibility
4. **check_package_python_compatibility** - Check Python version compatibility
5. **get_package_compatible_python_versions** - Get all compatible Python versions
### Advanced Dependency Analysis
6. **resolve_dependencies** - Recursively resolve all package dependencies with detailed analysis
7. **download_package** - Download package and all dependencies to local directory
### Download Statistics & Popularity
8. **get_download_statistics** - Get comprehensive download statistics for any package
9. **get_download_trends** - Analyze download trends and time series data (last 180 days)
10. **get_top_downloaded_packages** - Get the most popular packages by download count
### MCP Prompt Templates
11. **analyze_package_quality** - Generate comprehensive package quality analysis prompts
12. **compare_packages** - Generate detailed package comparison prompts
13. **suggest_alternatives** - Generate prompts for finding package alternatives
14. **resolve_dependency_conflicts** - Generate prompts for resolving dependency conflicts
15. **plan_version_upgrade** - Generate prompts for planning package version upgrades
16. **audit_security_risks** - Generate prompts for security risk auditing
17. **plan_package_migration** - Generate comprehensive package migration plan prompts
18. **generate_migration_checklist** - Generate detailed migration checklist prompts
### Environment Analysis Templates
19. **analyze_environment_dependencies** - Generate prompts for analyzing current environment dependencies
20. **check_outdated_packages** - Generate prompts for checking outdated packages with update priorities
21. **generate_update_plan** - Generate prompts for creating comprehensive package update plans
### Trending Analysis Templates
22. **analyze_daily_trends** - Generate prompts for analyzing daily PyPI download trends
23. **find_trending_packages** - Generate prompts for discovering trending packages over time periods
24. **track_package_updates** - Generate prompts for tracking recent package updates and releases
> 📖 **Learn more about prompt templates**: See [PROMPT_TEMPLATES.md](PROMPT_TEMPLATES.md) for detailed documentation and examples.
## Usage Examples
Once configured in your MCP client (Claude Desktop, Cline, Cursor, Windsurf), you can ask questions like:
### Basic Package Queries
- "What are the dependencies of Django 4.2?"
- "Is FastAPI compatible with Python 3.9?"
- "Show me all versions of requests package"
- "What Python versions does numpy support?"
- "Get detailed information about the pandas package"
### Advanced Dependency Analysis
- "Please help me analyze the complete dependency tree for PySide2 with Python 3.10"
- "Resolve all dependencies for Django including development dependencies"
- "What are all the transitive dependencies of FastAPI?"
### Package Download
- "Please help me download PySide2 and all its dependencies for Python 3.10 to my local machine"
- "Download the requests package with all dependencies to ./downloads folder"
- "Collect all packages needed for Django development"
### Download Statistics & Popularity Analysis
- "What are the download statistics for the requests package this month?"
- "Show me the download trends for numpy over the last 180 days"
- "What are the top 10 most downloaded Python packages today?"
- "Compare the popularity of Django vs Flask vs FastAPI"
- "Which web framework has the highest download count this week?"
### MCP Prompt Templates
- "Use the analyze_package_quality prompt to evaluate the requests package"
- "Generate a comparison prompt for Django vs FastAPI vs Flask for building APIs"
- "Create a migration plan prompt for moving from Flask to FastAPI"
- "Help me resolve dependency conflicts with a structured prompt"
- "Generate a security audit prompt for my production packages"
### Environment Analysis
- "Analyze my current Python environment dependencies and check for outdated packages"
- "Check which packages in my environment have security updates available"
- "Generate an update plan for my production environment with conservative strategy"
- "Help me identify packages that need immediate updates vs. planned updates"
### Trending Analysis
- "What are the most downloaded Python packages today?"
- "Show me trending packages in the machine learning domain this week"
- "Track recent security updates and new package releases"
- "Find rising packages in web development that I should consider"
### Example Conversations
**User**: "Check if Django 4.2 is compatible with Python 3.9"
**AI Assistant**: I'll check Django 4.2's compatibility with Python 3.9 for you.
*[Uses get_package_info and check_package_python_compatibility tools]*
**User**: "What are the main dependencies of FastAPI?"
**AI Assistant**: Let me get the dependency information for FastAPI.
*[Uses get_package_dependencies tool]*
**User**: "Show me the download statistics for the requests package and tell me which is more popular: requests or urllib3?"
**AI Assistant**: I'll get the download statistics for both packages and compare their popularity.
*[Uses get_download_statistics tool for both packages]*
### Programmatic Usage
```python
# Example: Check if Django is compatible with Python 3.9
result = await mcp_client.call_tool("check_package_python_compatibility", {
"package_name": "django",
"target_python_version": "3.9"
})
# Example: Get package information
info = await mcp_client.call_tool("get_package_info", {
"package_name": "requests"
})
# Example: Get download statistics
stats = await mcp_client.call_tool("get_download_statistics", {
"package_name": "numpy",
"period": "month"
})
# Example: Get top downloaded packages
top_packages = await mcp_client.call_tool("get_top_downloaded_packages", {
"period": "week",
"limit": 10
})
```
## Development Status
🎉 **Core functionality implemented and ready for use!**
Current implementation status:
- ✅ Basic project structure
- ✅ PyPI API client with caching
- ✅ MCP tools implementation (package info, versions, dependencies)
- ✅ Python version compatibility checking
- ✅ Advanced dependency analysis and recursive resolution
- ✅ Package download with dependency collection
- ✅ **Download statistics and popularity analysis**
- ✅ **Top packages ranking and trends**
- ✅ CI/CD pipeline with multi-platform testing
- ⏳ Private repository support (planned)
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
Raw data
{
"_id": null,
"home_page": null,
"name": "pypi-query-mcp-server",
"maintainer": null,
"docs_url": null,
"requires_python": "<4.0,>=3.10",
"maintainer_email": null,
"keywords": "mcp, pypi, package, dependency, python",
"author": "Hal",
"author_email": "hal.long@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/2b/c0/5dd3fa7ce44334534d72f2db31b575789c2bd471e111883da82861ba0b16/pypi_query_mcp_server-0.6.3.tar.gz",
"platform": null,
"description": "# PyPI Query MCP Server\n\n[](https://pypi.org/project/pypi-query-mcp-server/)\n\nA Model Context Protocol (MCP) server for querying PyPI package information, dependencies, and compatibility checking.\n\n## Features\n\n- \ud83d\udce6 Query PyPI package information (name, version, description, dependencies)\n- \ud83d\udc0d Python version compatibility checking\n- \ud83d\udd0d **Advanced dependency analysis and recursive resolution**\n- \ud83d\udce5 **Package download with dependency collection**\n- \ud83d\udcca **Download statistics and popularity analysis**\n- \ud83c\udfc6 **Top packages ranking and trends**\n- \ud83c\udfaf **MCP prompt templates for guided analysis and decision-making**\n- \ud83c\udfe2 Private PyPI repository support\n- \u26a1 Fast async operations with caching\n- \ud83d\udee0\ufe0f Easy integration with MCP clients\n\n## Installation\n\n### Using uvx (recommended)\n\n```bash\n# Run directly with uvx\nuvx pypi-query-mcp-server\n\n# Or install and run with specific script\nuvx --from pypi-query-mcp-server pypi-query-mcp\n```\n\n### Using pip\n\n```bash\n# Install from PyPI\npip install pypi-query-mcp-server\n\n# Run the server\npython -m pypi_query_mcp.server\n```\n\n### From source\n\n```bash\ngit clone https://github.com/loonghao/pypi-query-mcp-server.git\ncd pypi-query-mcp-server\nuv sync\nuv run pypi-query-mcp\n```\n\n## Configuration\n\n### Claude Desktop\n\nAdd to your Claude Desktop configuration file:\n\n**MacOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n**Windows**: `%APPDATA%/Claude/claude_desktop_config.json`\n\n```json\n{\n \"mcpServers\": {\n \"pypi-query\": {\n \"command\": \"uvx\",\n \"args\": [\"--from\", \"pypi-query-mcp-server\", \"pypi-query-mcp\"],\n \"env\": {\n \"PYPI_INDEX_URL\": \"https://pypi.org/pypi\",\n \"PYPI_INDEX_URLS\": \"https://mirrors.aliyun.com/pypi/simple/,https://pypi.tuna.tsinghua.edu.cn/simple/\",\n \"PYPI_CACHE_TTL\": \"3600\",\n \"PYPI_LOG_LEVEL\": \"INFO\"\n }\n }\n }\n}\n```\n\n#### With Private Repository\n```json\n{\n \"mcpServers\": {\n \"pypi-query\": {\n \"command\": \"uvx\",\n \"args\": [\"--from\", \"pypi-query-mcp-server\", \"pypi-query-mcp\"],\n \"env\": {\n \"PYPI_INDEX_URL\": \"https://pypi.org/pypi\",\n \"PYPI_PRIVATE_PYPI_URL\": \"https://private.pypi.company.com\",\n \"PYPI_PRIVATE_PYPI_USERNAME\": \"your_username\",\n \"PYPI_PRIVATE_PYPI_PASSWORD\": \"your_password\",\n \"PYPI_CACHE_TTL\": \"3600\"\n }\n }\n }\n}\n```\n\n### Cline\n\nAdd to your Cline MCP settings (`cline_mcp_settings.json`):\n\n```json\n{\n \"mcpServers\": {\n \"pypi-query\": {\n \"command\": \"uvx\",\n \"args\": [\"--from\", \"pypi-query-mcp-server\", \"pypi-query-mcp\"],\n \"env\": {\n \"PYPI_INDEX_URL\": \"https://pypi.org/simple/\",\n \"CACHE_TTL\": \"3600\"\n }\n }\n }\n}\n```\n\n### Cursor\n\nAdd to your Cursor MCP configuration (`.cursor/mcp.json`):\n\n```json\n{\n \"mcpServers\": {\n \"pypi-query\": {\n \"command\": \"uvx\",\n \"args\": [\"--from\", \"pypi-query-mcp-server\", \"pypi-query-mcp\"],\n \"env\": {\n \"PYPI_INDEX_URL\": \"https://pypi.org/simple/\",\n \"CACHE_TTL\": \"3600\"\n }\n }\n }\n}\n```\n\n### Windsurf\n\nAdd to your Windsurf MCP configuration (`~/.codeium/windsurf/mcp_config.json`):\n\n```json\n{\n \"mcpServers\": {\n \"pypi-query\": {\n \"command\": \"uvx\",\n \"args\": [\"--from\", \"pypi-query-mcp-server\", \"pypi-query-mcp\"],\n \"env\": {\n \"PYPI_INDEX_URL\": \"https://pypi.org/simple/\",\n \"CACHE_TTL\": \"3600\"\n }\n }\n }\n}\n```\n\n### Environment Variables\n\n#### Basic Configuration\n- `PYPI_INDEX_URL`: Primary PyPI index URL (default: https://pypi.org/pypi)\n- `PYPI_CACHE_TTL`: Cache time-to-live in seconds (default: 3600)\n- `PYPI_LOG_LEVEL`: Logging level (default: INFO)\n- `PYPI_REQUEST_TIMEOUT`: HTTP request timeout in seconds (default: 30.0)\n\n#### Multiple Mirror Sources Support\n- `PYPI_INDEX_URLS`: Additional PyPI index URLs (comma-separated, optional)\n- `PYPI_EXTRA_INDEX_URLS`: Extra PyPI index URLs for fallback (comma-separated, optional)\n\n#### Private Repository Support\n- `PYPI_PRIVATE_PYPI_URL`: Private PyPI repository URL (optional)\n- `PYPI_PRIVATE_PYPI_USERNAME`: Private PyPI username (optional)\n- `PYPI_PRIVATE_PYPI_PASSWORD`: Private PyPI password (optional)\n\n#### Advanced Dependency Analysis\n- `PYPI_DEPENDENCY_MAX_DEPTH`: Maximum depth for recursive dependency analysis (default: 5)\n- `PYPI_DEPENDENCY_MAX_CONCURRENT`: Maximum concurrent dependency queries (default: 10)\n- `PYPI_ENABLE_SECURITY_ANALYSIS`: Enable security vulnerability analysis (default: false)\n\n#### Example Configuration\n```bash\n# Use multiple mirror sources for better availability\nexport PYPI_INDEX_URL=\"https://pypi.org/pypi\"\nexport PYPI_INDEX_URLS=\"https://mirrors.aliyun.com/pypi/simple/,https://pypi.tuna.tsinghua.edu.cn/simple/\"\nexport PYPI_EXTRA_INDEX_URLS=\"https://test.pypi.org/simple/\"\n\n# Private repository configuration\nexport PYPI_PRIVATE_PYPI_URL=\"https://private.pypi.company.com\"\nexport PYPI_PRIVATE_PYPI_USERNAME=\"your_username\"\nexport PYPI_PRIVATE_PYPI_PASSWORD=\"your_password\"\n```\n\n## Available MCP Tools\n\nThe server provides the following MCP tools:\n\n### Core Package Information\n1. **get_package_info** - Get comprehensive package information\n2. **get_package_versions** - List all available versions for a package\n3. **get_package_dependencies** - Analyze package dependencies\n\n### Python Compatibility\n4. **check_package_python_compatibility** - Check Python version compatibility\n5. **get_package_compatible_python_versions** - Get all compatible Python versions\n\n### Advanced Dependency Analysis\n6. **resolve_dependencies** - Recursively resolve all package dependencies with detailed analysis\n7. **download_package** - Download package and all dependencies to local directory\n\n### Download Statistics & Popularity\n8. **get_download_statistics** - Get comprehensive download statistics for any package\n9. **get_download_trends** - Analyze download trends and time series data (last 180 days)\n10. **get_top_downloaded_packages** - Get the most popular packages by download count\n\n### MCP Prompt Templates\n11. **analyze_package_quality** - Generate comprehensive package quality analysis prompts\n12. **compare_packages** - Generate detailed package comparison prompts\n13. **suggest_alternatives** - Generate prompts for finding package alternatives\n14. **resolve_dependency_conflicts** - Generate prompts for resolving dependency conflicts\n15. **plan_version_upgrade** - Generate prompts for planning package version upgrades\n16. **audit_security_risks** - Generate prompts for security risk auditing\n17. **plan_package_migration** - Generate comprehensive package migration plan prompts\n18. **generate_migration_checklist** - Generate detailed migration checklist prompts\n\n### Environment Analysis Templates\n19. **analyze_environment_dependencies** - Generate prompts for analyzing current environment dependencies\n20. **check_outdated_packages** - Generate prompts for checking outdated packages with update priorities\n21. **generate_update_plan** - Generate prompts for creating comprehensive package update plans\n\n### Trending Analysis Templates\n22. **analyze_daily_trends** - Generate prompts for analyzing daily PyPI download trends\n23. **find_trending_packages** - Generate prompts for discovering trending packages over time periods\n24. **track_package_updates** - Generate prompts for tracking recent package updates and releases\n\n> \ud83d\udcd6 **Learn more about prompt templates**: See [PROMPT_TEMPLATES.md](PROMPT_TEMPLATES.md) for detailed documentation and examples.\n\n## Usage Examples\n\nOnce configured in your MCP client (Claude Desktop, Cline, Cursor, Windsurf), you can ask questions like:\n\n### Basic Package Queries\n- \"What are the dependencies of Django 4.2?\"\n- \"Is FastAPI compatible with Python 3.9?\"\n- \"Show me all versions of requests package\"\n- \"What Python versions does numpy support?\"\n- \"Get detailed information about the pandas package\"\n\n### Advanced Dependency Analysis\n- \"Please help me analyze the complete dependency tree for PySide2 with Python 3.10\"\n- \"Resolve all dependencies for Django including development dependencies\"\n- \"What are all the transitive dependencies of FastAPI?\"\n\n### Package Download\n- \"Please help me download PySide2 and all its dependencies for Python 3.10 to my local machine\"\n- \"Download the requests package with all dependencies to ./downloads folder\"\n- \"Collect all packages needed for Django development\"\n\n### Download Statistics & Popularity Analysis\n- \"What are the download statistics for the requests package this month?\"\n- \"Show me the download trends for numpy over the last 180 days\"\n- \"What are the top 10 most downloaded Python packages today?\"\n- \"Compare the popularity of Django vs Flask vs FastAPI\"\n- \"Which web framework has the highest download count this week?\"\n\n### MCP Prompt Templates\n- \"Use the analyze_package_quality prompt to evaluate the requests package\"\n- \"Generate a comparison prompt for Django vs FastAPI vs Flask for building APIs\"\n- \"Create a migration plan prompt for moving from Flask to FastAPI\"\n- \"Help me resolve dependency conflicts with a structured prompt\"\n- \"Generate a security audit prompt for my production packages\"\n\n### Environment Analysis\n- \"Analyze my current Python environment dependencies and check for outdated packages\"\n- \"Check which packages in my environment have security updates available\"\n- \"Generate an update plan for my production environment with conservative strategy\"\n- \"Help me identify packages that need immediate updates vs. planned updates\"\n\n### Trending Analysis\n- \"What are the most downloaded Python packages today?\"\n- \"Show me trending packages in the machine learning domain this week\"\n- \"Track recent security updates and new package releases\"\n- \"Find rising packages in web development that I should consider\"\n\n### Example Conversations\n\n**User**: \"Check if Django 4.2 is compatible with Python 3.9\"\n\n**AI Assistant**: I'll check Django 4.2's compatibility with Python 3.9 for you.\n\n*[Uses get_package_info and check_package_python_compatibility tools]*\n\n**User**: \"What are the main dependencies of FastAPI?\"\n\n**AI Assistant**: Let me get the dependency information for FastAPI.\n\n*[Uses get_package_dependencies tool]*\n\n**User**: \"Show me the download statistics for the requests package and tell me which is more popular: requests or urllib3?\"\n\n**AI Assistant**: I'll get the download statistics for both packages and compare their popularity.\n\n*[Uses get_download_statistics tool for both packages]*\n\n### Programmatic Usage\n\n```python\n# Example: Check if Django is compatible with Python 3.9\nresult = await mcp_client.call_tool(\"check_package_python_compatibility\", {\n \"package_name\": \"django\",\n \"target_python_version\": \"3.9\"\n})\n\n# Example: Get package information\ninfo = await mcp_client.call_tool(\"get_package_info\", {\n \"package_name\": \"requests\"\n})\n\n# Example: Get download statistics\nstats = await mcp_client.call_tool(\"get_download_statistics\", {\n \"package_name\": \"numpy\",\n \"period\": \"month\"\n})\n\n# Example: Get top downloaded packages\ntop_packages = await mcp_client.call_tool(\"get_top_downloaded_packages\", {\n \"period\": \"week\",\n \"limit\": 10\n})\n```\n\n## Development Status\n\n\ud83c\udf89 **Core functionality implemented and ready for use!**\n\nCurrent implementation status:\n- \u2705 Basic project structure\n- \u2705 PyPI API client with caching\n- \u2705 MCP tools implementation (package info, versions, dependencies)\n- \u2705 Python version compatibility checking\n- \u2705 Advanced dependency analysis and recursive resolution\n- \u2705 Package download with dependency collection\n- \u2705 **Download statistics and popularity analysis**\n- \u2705 **Top packages ranking and trends**\n- \u2705 CI/CD pipeline with multi-platform testing\n- \u23f3 Private repository support (planned)\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "A Model Context Protocol (MCP) server for querying PyPI package information, dependencies, and compatibility",
"version": "0.6.3",
"project_urls": {
"Documentation": "https://github.com/loonghao/pypi-query-mcp-server",
"Homepage": "https://github.com/loonghao/pypi-query-mcp-server",
"Repository": "https://github.com/loonghao/pypi-query-mcp-server"
},
"split_keywords": [
"mcp",
" pypi",
" package",
" dependency",
" python"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "9beb6277ce1fbcd258a108968e4ffdaf681dca203bed8f7000c36dca5ec74b18",
"md5": "9eafde214d27d27e35fc52be72beed16",
"sha256": "41b1713e8fcd96e64487573914e48091fb3daf70d655e280ea5885ba2141ff80"
},
"downloads": -1,
"filename": "pypi_query_mcp_server-0.6.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9eafde214d27d27e35fc52be72beed16",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4.0,>=3.10",
"size": 57553,
"upload_time": "2025-07-13T17:08:21",
"upload_time_iso_8601": "2025-07-13T17:08:21.012260Z",
"url": "https://files.pythonhosted.org/packages/9b/eb/6277ce1fbcd258a108968e4ffdaf681dca203bed8f7000c36dca5ec74b18/pypi_query_mcp_server-0.6.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "2bc05dd3fa7ce44334534d72f2db31b575789c2bd471e111883da82861ba0b16",
"md5": "865aca0ff2d597105e97d9542bf8652d",
"sha256": "b4f946944ddc1787e0b44c39b96588d9b706234cbf440d58fe0fc5a6d14bff7a"
},
"downloads": -1,
"filename": "pypi_query_mcp_server-0.6.3.tar.gz",
"has_sig": false,
"md5_digest": "865aca0ff2d597105e97d9542bf8652d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4.0,>=3.10",
"size": 45646,
"upload_time": "2025-07-13T17:08:22",
"upload_time_iso_8601": "2025-07-13T17:08:22.296963Z",
"url": "https://files.pythonhosted.org/packages/2b/c0/5dd3fa7ce44334534d72f2db31b575789c2bd471e111883da82861ba0b16/pypi_query_mcp_server-0.6.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-13 17:08:22",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "loonghao",
"github_project": "pypi-query-mcp-server",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "pypi-query-mcp-server"
}