MCP tools catalog

13 tools, each a thin forward to the REST API. Data returned as a text content block (JSON string).

ToolInputMaps to
list_categories{}→ /v1/categories — categories with counts
get_category_apis{ slug, page?, limit? }→ /v1/categories/:slug/apis
get_api{ slug }→ /v1/apis/:slug — full profile
get_alternatives{ id, limit?: 2|3 }→ /v1/apis/:id/alternatives
check_health{ id }→ POST /v1/apis/:id/health-check (CACHED/QUEUED)
get_api_trust_score{ id }→ /v1/trust-scores/:id
compare_apis{ ids: [2..4] }→ /v1/apis/compare?ids=
assess_api_production_safety{ id }→ /v1/trust-scores/:id (same as above)
suggest_alternatives{ id, limit? }→ /v1/apis/:id/alternatives
get_change_feed{ limit? }→ /v1/change-feed
get_use_case_collections{}→ /v1/use-case-collections
submit_api{ name?, link?, … }→ POST /v1/apis (pending)
recommend_apis{ limit? }→ GET /v1/recommend

Example session

json
// 1) list categories → pick weather → get_category_apis({ slug:"weather", limit:5 })
// 2) get_api({ slug:"open-meteo" }) → show health + trust
// 3) compare_apis({ ids:["open-meteo","openweather"] }) → table
// 4) check_health({ id:"open-meteo-uuid" }) → 200 CACHED or 202 QUEUED with poll URL

Implementation: apps/mcp/src/index.ts:buildServer() + apps/mcp/src/api-client.ts:apiCall.