- Minimize complexity by focusing on tools over resources
- Follow MCP spec for core functionality
- Keep transport layer simple (stdio for local, SSE for remote)
- Implement only essential features
✓ Basic functionality implemented:
- Tool-based access to models and predictions
- Type-safe interactions with protocol compliance
- Simple error handling
- Basic rate limiting
- SSE transport layer for remote connections
-
Replace Resource System with Tools
- Convert model listing to search_models tool
- Convert prediction access to get_prediction tool
- Remove resource-based URI schemes
- Simplify server initialization
-
Streamline Client Implementation
- Simplify ReplicateClient class
- Remove complex caching layers
- Implement basic error handling
- Add simple rate limiting
-
Transport Layer
- Keep stdio for local communication
- Implement basic SSE for remote (no complex retry logic)
- Remove unnecessary transport abstractions
-
Model Management
- search_models - Find models by query
- get_model - Get model details
- list_versions - List model versions
-
Prediction Handling
- create_prediction - Run model inference
- get_prediction - Check prediction status
- cancel_prediction - Stop running prediction
-
Image Tools
- view_image - Display result in browser
- save_image - Save to local filesystem
-
Testing
- Add basic protocol compliance tests
- Test core tool functionality
- Add integration tests
-
Documentation
- Update API reference for simplified interface
- Add clear usage examples
- Create troubleshooting guide
-
Webhook Support
- Simple webhook configuration
- Basic retry logic
- Event formatting
-
Template System
- Basic parameter templates
- Simple validation
- Example presets
-
Documentation:
- Add clear usage examples
- Create troubleshooting guide
- Document common error cases
-
Template System:
- Design parameter template format
- Implement validation logic
- Create example presets
-
Testing:
- Add more edge case tests
- Improve error handling coverage
- Add performance benchmarks
Legend:
- Completed
- Not started
- ✓ Phase complete
- 🚧 Phase in progress
- ❌ Phase not started