🎉 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.
118 lines
3.1 KiB
Python
118 lines
3.1 KiB
Python
"""MCP tools for PyPI package queries.
|
|
|
|
This package contains the FastMCP tool implementations that provide
|
|
the user-facing interface for PyPI package operations.
|
|
"""
|
|
|
|
from .compatibility_check import (
|
|
check_python_compatibility,
|
|
get_compatible_python_versions,
|
|
suggest_python_version_for_packages,
|
|
)
|
|
from .dependency_resolver import resolve_package_dependencies
|
|
from .download_stats import (
|
|
get_package_download_stats,
|
|
get_package_download_trends,
|
|
get_top_packages_by_downloads,
|
|
)
|
|
from .package_downloader import download_package_with_dependencies
|
|
from .package_query import (
|
|
query_package_dependencies,
|
|
query_package_info,
|
|
query_package_versions,
|
|
)
|
|
from .publishing import (
|
|
check_pypi_credentials,
|
|
delete_pypi_release,
|
|
get_pypi_account_info,
|
|
get_pypi_upload_history,
|
|
manage_pypi_maintainers,
|
|
upload_package_to_pypi,
|
|
)
|
|
from .metadata import (
|
|
manage_package_keywords,
|
|
manage_package_urls,
|
|
set_package_visibility,
|
|
update_package_metadata,
|
|
)
|
|
from .analytics import (
|
|
analyze_pypi_competition,
|
|
get_pypi_package_analytics,
|
|
get_pypi_package_rankings,
|
|
get_pypi_security_alerts,
|
|
)
|
|
from .discovery import (
|
|
get_pypi_package_recommendations,
|
|
get_pypi_trending_today,
|
|
monitor_pypi_new_releases,
|
|
search_pypi_by_maintainer,
|
|
)
|
|
from .workflow import (
|
|
check_pypi_upload_requirements,
|
|
get_pypi_build_logs,
|
|
preview_pypi_package_page,
|
|
validate_pypi_package_name,
|
|
)
|
|
from .community import (
|
|
get_pypi_package_reviews,
|
|
manage_pypi_package_discussions,
|
|
get_pypi_maintainer_contacts,
|
|
)
|
|
from .search import (
|
|
find_alternatives,
|
|
get_trending_packages,
|
|
search_by_category,
|
|
search_packages,
|
|
)
|
|
|
|
__all__ = [
|
|
# Core package tools
|
|
"query_package_info",
|
|
"query_package_versions",
|
|
"query_package_dependencies",
|
|
"check_python_compatibility",
|
|
"get_compatible_python_versions",
|
|
"suggest_python_version_for_packages",
|
|
"resolve_package_dependencies",
|
|
"download_package_with_dependencies",
|
|
"get_package_download_stats",
|
|
"get_package_download_trends",
|
|
"get_top_packages_by_downloads",
|
|
# Search tools
|
|
"search_packages",
|
|
"search_by_category",
|
|
"find_alternatives",
|
|
"get_trending_packages",
|
|
# Publishing tools
|
|
"upload_package_to_pypi",
|
|
"check_pypi_credentials",
|
|
"get_pypi_upload_history",
|
|
"delete_pypi_release",
|
|
"manage_pypi_maintainers",
|
|
"get_pypi_account_info",
|
|
# Metadata tools
|
|
"update_package_metadata",
|
|
"manage_package_urls",
|
|
"set_package_visibility",
|
|
"manage_package_keywords",
|
|
# Analytics tools
|
|
"get_pypi_package_analytics",
|
|
"get_pypi_security_alerts",
|
|
"get_pypi_package_rankings",
|
|
"analyze_pypi_competition",
|
|
# Discovery tools
|
|
"monitor_pypi_new_releases",
|
|
"get_pypi_trending_today",
|
|
"search_pypi_by_maintainer",
|
|
"get_pypi_package_recommendations",
|
|
# Workflow tools
|
|
"validate_pypi_package_name",
|
|
"preview_pypi_package_page",
|
|
"check_pypi_upload_requirements",
|
|
"get_pypi_build_logs",
|
|
# Community tools
|
|
"get_pypi_package_reviews",
|
|
"manage_pypi_package_discussions",
|
|
"get_pypi_maintainer_contacts",
|
|
]
|