Contributions are welcome for improving tin-canMCP.
./dev-setup.shOr manually:
pip install -r requirements.txt
cp .env.example .env- Target Python 3.11+.
- Keep the broker runtime (
app/catalog_runtime/) and broker tool registrations (app/tools/catalog_tools.py) generic. Domain-specific logic belongs incatalog-runtime/as JSON, not Python. - Prefer clear typing and explicit error handling.
- Update
HOW-TO-USE.mdanddocs/catalog-runtime-template.mdwhen behavior changes.
app/catalog_runtime/: broker, loader, and executor (runtime — avoid modifying)app/tools/: registers the 7 broker MCP tools (avoid modifying; do not add domain @mcp.tool() entries here)app/prompts/: optional MCP prompt registrationsapp/config.py: environment-backed settingsmain.py: startup and transport selectioncatalog-runtime/registry/: catalog authored as JSON (this is what downstream users edit)catalog-runtime/schema/: JSON Schemas for registry filesscripts/: scaffolder and validatorai-prompts/: AI implementation prompt + source hintsdocs/: schema contract and transport notes
python -m compileall app scripts main.py
python scripts/validate_registry.py catalog-runtime
python main.py --help- Keep each PR focused.
- Describe the change and the reason.
- Include validation steps and results.