Inspiration
AI models miss new Python packages after training (the “knowledge cutoff”). We wanted a simple way for AI coding agents to use fresh PyPI data so developers get accurate help, fewer conflicts, and faster builds there by improving developer productivity.
What it does
- Gives AI agents real-time awareness of Python packages (versions, metadata, deps)
- Analyzes a project’s dependencies and flags conflicts early
- Generates or adapts code based on current package info
- Works with Kiro in a spec-driven workflow (specs → code + tests)
- Amplifies package READMEs/long descriptions: when authors write rich docs, that context makes new APIs discoverable to LLMs, improving suggestions and usage
How we built it
- Python 3.8+ MCP server
- Tools:
search_packages,get_package_metadata,analyze_project_dependencies,check_package_compatibility,get_latest_version - Local-first caching with PyPI fallback for speed + freshness
- httpx for API calls; automated tests as our quality gate
- Kiro AI editor for development
Challenges we ran into
- Shifting mindset from “write code” to “write specs”
- Keeping human-in-the-loop review fast enough for rapid generation
Accomplishments that we're proud of
- Turned a single, clear prompt into working tools + tests
- Consistent, clean implementations aligned with the spec
- Closed the knowledge cutoff gap with live PyPI data
- Showed how well-authored READMEs/long descriptions directly improve agent understanding of new APIs
What we learned
- Spec-driven development accelerates delivery (~20% specs → ~80% code)
- Tests are an effective signal to proceed safely
- Clear intent beats low-level instructions for AI coding partners
- Documentation quality matters: rich package READMEs become immediate LLM context
What's next for PyPI Packages MCP Server
- RAG-for-tools: send only relevant metadata (including README slices) to models
- E2E evaluation harness with golden outputs
Built With
- httpx
- kiro
- mcp
- pypi
- python
- python-package-index
- spec-driven-development
Log in or sign up for Devpost to join the conversation.