feat: Complete PyPI Query MCP Server Implementation (#3)
Merge pull request implementing complete PyPI query MCP server with comprehensive features and CI/CD pipeline.
This commit is contained in:
parent
b1a1a6866d
commit
030b3a2607
33 changed files with 3238 additions and 246 deletions
84
README.md
84
README.md
|
|
@ -1,2 +1,82 @@
|
|||
# repo-template
|
||||
This is a boilerplate git repository for creating new 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
|
||||
- 🔍 Dependency analysis and resolution
|
||||
- 🏢 Private PyPI repository support
|
||||
- ⚡ Fast async operations with caching
|
||||
- 🛠️ Easy integration with MCP clients
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Installation
|
||||
|
||||
```bash
|
||||
# Install from PyPI (coming soon)
|
||||
pip install pypi-query-mcp-server
|
||||
|
||||
# Or install from source
|
||||
git clone https://github.com/loonghao/pypi-query-mcp-server.git
|
||||
cd pypi-query-mcp-server
|
||||
poetry install
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
```bash
|
||||
# Start the MCP server
|
||||
pypi-query-mcp
|
||||
|
||||
# Or run directly with Python
|
||||
python -m pypi_query_mcp.server
|
||||
```
|
||||
|
||||
### Available MCP Tools
|
||||
|
||||
The server provides the following MCP tools:
|
||||
|
||||
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
|
||||
4. **check_package_python_compatibility** - Check Python version compatibility
|
||||
5. **get_package_compatible_python_versions** - Get all compatible Python versions
|
||||
|
||||
### Example Usage with MCP Client
|
||||
|
||||
```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"
|
||||
})
|
||||
```
|
||||
|
||||
## 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
|
||||
- ✅ CI/CD pipeline with multi-platform testing
|
||||
- ⏳ Private repository support (planned)
|
||||
- ⏳ Advanced dependency analysis (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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue