3 Commits

Author SHA1 Message Date
48f1027c3e fix: Fix NoneType errors in package recommendations tool
- Fix keywords.split() error by handling None values properly
- Fix text_data join error in _categorize_package function
- Add null safety to prevent 'NoneType' object has no attribute 'split' errors
- Replace .get() with default empty strings with .get() or '' pattern

All package recommendation functions now handle missing/null metadata gracefully
2025-08-17 23:58:18 -06:00
03366b5cdd fix: resolve import issues for PyPI platform tools
- Made feedparser import optional in discovery.py with graceful fallback
- Fixed GitHubClient import to use correct GitHubAPIClient class name
- Made server import optional in __init__.py to allow tool imports without fastmcp dependency
- Added warning when feedparser is not available for RSS functionality
- All tool modules now importable without external dependencies

This allows the MCP server to start even when optional dependencies are missing, providing graceful degradation of functionality.
2025-08-17 21:32:27 -06:00
1b4ca9f902 feat: Implement PyPI Discovery & Monitoring Tools
Add comprehensive PyPI discovery and monitoring capabilities with 4 core tools:

- monitor_pypi_new_releases: Track new releases by category with real-time alerts
- get_pypi_trending_today: Analyze current trending packages with market insights
- search_pypi_by_maintainer: Find packages by maintainer with portfolio analysis
- get_pypi_package_recommendations: Algorithm-based package recommendations

Features:
- RSS feed integration for real-time release monitoring
- Intelligent caching system with configurable TTL
- Advanced package categorization and filtering
- Trending analysis with multiple data signals
- Personalized recommendations with user context
- Comprehensive error handling and logging
- Full test coverage with mocked dependencies
- MCP server endpoints for all discovery tools

Dependencies:
- Add feedparser for RSS feed parsing
- Enhanced server.py with 4 new MCP tool endpoints
- Updated tools/__init__.py exports

This implementation provides production-ready monitoring and discovery
capabilities that integrate seamlessly with the existing codebase architecture.
2025-08-16 09:33:31 -06:00