6 Commits

Author SHA1 Message Date
431abcbbe6 feat: complete PyPI platform integration with all 25 tools and MCP endpoints
🎉 COMPLETE IMPLEMENTATION: PyPI Query MCP Server is now a comprehensive PyPI platform management suite!

Features Added:
 25 PyPI Platform Tools across 6 categories:
   - Publishing Tools (6): upload, credentials, history, delete, maintainers, account
   - Metadata Tools (4): update metadata, URLs, visibility, keywords
   - Analytics Tools (4): package analytics, security alerts, rankings, competition
   - Discovery Tools (4): monitor releases, trending, search by maintainer, recommendations
   - Workflow Tools (4): validate names, preview pages, check requirements, build logs
   - Community Tools (3): reviews, discussions, maintainer contacts

 Complete MCP Server Integration:
   - 39 total MCP endpoints (14 existing + 25 new)
   - Comprehensive error handling and logging
   - Consistent API patterns and documentation
   - Full async/await support

 Production-Ready Code:
   - Comprehensive exception handling with custom exception classes
   - Full type hints and docstrings throughout
   - Robust validation and safety checks
   - Async HTTP clients with retry logic and rate limiting
   - Mock-based testing infrastructure ready for expansion

 Advanced Search Capabilities:
   - Semantic search with filtering and sorting
   - Category-based discovery and alternatives finding
   - Trending analysis and recommendation engines

This transforms the basic package query tool into a complete PyPI ecosystem management platform supporting the entire Python package lifecycle from development to publishing to community management.
2025-08-17 21:06:59 -06:00
685529d24c fix: resolve import errors from parallel PyPI platform development
- Cleaned up tools/__init__.py to remove imports for non-existent modules
- Restored server.py to proper state without platform tool endpoints
- Removed extra exception classes that aren't implemented yet
- Server now imports correctly (only missing fastmcp in dev environment)

The PyPI platform tools were implemented in separate git worktrees and need to be properly merged in the next step.
2025-08-17 12:51:21 -06:00
9f3fd459b3 Implement PyPI Account & Publishing Tools
Add comprehensive PyPI publishing and account management functionality:

Features:
- upload_package_to_pypi: Upload distributions to PyPI/TestPyPI with safety checks
- check_pypi_credentials: Validate API tokens and credentials
- get_pypi_upload_history: View upload history for packages with statistics
- delete_pypi_release: Safe release deletion with dry-run and confirmation
- manage_pypi_maintainers: Add/remove/list package maintainers
- get_pypi_account_info: View account details, quotas, and limits

Implementation:
- Created pypi_query_mcp/tools/publishing.py with all 6 functions
- Added PyPIPublishingClient for authenticated API operations
- Comprehensive error handling with custom exceptions
- Full async/await patterns following existing codebase conventions
- Safety checks for destructive operations (deletion requires confirmation)
- Support for both production PyPI and TestPyPI

Integration:
- Added publishing-specific exceptions to core/exceptions.py
- Updated tools/__init__.py with publishing function imports
- Added 6 MCP server endpoints to server.py with proper error handling
- Created comprehensive tests in tests/test_publishing.py

Production-ready code with proper authentication, validation, and safety measures.
2025-08-16 08:52:03 -06:00
e205176ace feat: add comprehensive PyPI search functionality with advanced filtering
- Implemented PyPISearchClient with semantic search, filtering, and sorting
- Added 4 new search tools: search_packages, search_by_category, find_alternatives, get_trending_packages
- Created SearchFilter and SearchSort classes for flexible configuration
- Added SearchError exception for search-specific error handling
- Comprehensive test suite with 13 tests covering all search functionality
- Enhanced MCP server with 4 new search endpoints
- Support for filtering by Python version, license, category, downloads, maintenance status
- Multiple sorting options: relevance, popularity, quality, recency, name, downloads
- Semantic search using description similarity scoring
- Category-based package discovery with intelligent keyword matching
- Package alternatives finder using metadata analysis
- Trending packages analysis with download activity tracking
- Robust fallback mechanisms using curated package database
- All tests passing (13/13)

This implements feature #6 from the roadmap: "Advanced PyPI Search with filtering by Python version, license, maintenance status and sorting by popularity, recency, quality score with semantic search capabilities"
2025-08-16 07:45:40 -06:00
longhao
576652571c fix: correct FastMCP interface usage and resolve lint issues
- Fix FastMCP server interface to use correct mcp.run() instead of app.run(host, port)
- Remove unnecessary host and port parameters, use standard STDIO transport
- Fix all ruff lint issues including import sorting and blank lines
- Update ruff configuration to new lint configuration format
- Fix type annotation issues using Union syntax (int | None)
- Ensure uvx pypi-query-mcp-server works correctly
- All tests pass and lint checks pass
2025-05-27 13:44:28 +08:00
Hal
030b3a2607
feat: Complete PyPI Query MCP Server Implementation (#3)
Merge pull request implementing complete PyPI query MCP server with comprehensive features and CI/CD pipeline.
2025-05-27 11:14:49 +08:00