MCP server for discovering open-source projects via OST Linker
OST MCP has well-structured tool definitions with consistent naming (verb_noun pattern), clear descriptions (avg 80 chars), and proper JSON Schema with Zod validation. All 7 tools are READ_ONLY and follow a coherent discovery/retrieval pattern. However, output schemas are not documented, responses are returned as plain text strings rather than structured objects, forcing LLMs to parse unstructured data. Parameter descriptions are adequate but lack actionable constraints (e.g., search_projects lacks guidance on when to use category vs domain vs techstack). Error handling is present in the client but not surfaced in tool descriptions. No tool annotations (readOnlyHint, idempotentHint) despite all being read-only operations.
Find projects similar to a given project using AI embeddings (cosine similarity).
Get full details of a specific open-source project by ID.
Get globally trending and popular open-source projects.
List all available project categories.
List all available project domains.
List all available tech stacks (languages and technologies).
Output schemas not documented. All tools return plain text strings instead of structured JSON objects. LLMs cannot parse response fields reliably, forcing unstructured text parsing and increasing hallucination risk.
No tool annotations despite all tools being read-only and idempotent. Missing readOnlyHint and idempotentHint annotations prevent clients from optimizing caching and retry logic.
search_projects parameter descriptions lack guidance on filter precedence and mutual exclusivity. LLMs cannot determine whether to use category, domain, or techstack filters or combine them.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Search open-source projects by keyword. Optionally filter by category, domain, or tech stack.
Error handling guidance not surfaced in tool descriptions. Client throws specific errors (401/403 auth, 429 rate limit, 500 backend) but tool descriptions do not mention these or recovery steps.
Reference tools (list_categories, list_domains, list_techstacks) lack descriptions explaining when to call them. No guidance that these should be called first to discover valid filter values for search_projects.