Read-only bilingual MCP server for researching public Turkish and English forum discussions.
Forum Research MCP demonstrates solid definition quality with complete schemas, proper Zod validation, and tool annotations. All 4 tools have descriptions (avg 108 chars) and input schemas with type constraints. Naming follows verb_noun convention (forum_search, forum_research, thread_read, forum_sources). However, parameter descriptions lack depth, most are 1-2 sentences without format guidance, constraint details, or dependency hints. Output schemas are not documented in tool definitions. Error handling returns generic messages without recovery guidance. Tool composition is clean (single responsibility), but descriptions could better explain WHEN to use each tool vs alternatives.
Build a source-linked, read-only evidence pack from public forum threads.
Find relevant public forum threads. Discovery results are not evidence until read with forum_research or thread_read.
List enabled and passive catalog sources, their discovery strategy, and any current coverage limitation.
Read a single public thread from an enabled catalog source; login, blocked and off-catalog URLs are rejected.
Parameter descriptions lack actionable constraint details. 'Search query (2-500 characters)' is present in schema but not in description text. LLMs cannot read JSON Schema, they rely on description prose. Add format guidance: 'Search query (2-500 chars, e.g., "Python async patterns"). Avoid URLs and special characters.'
Output schemas are not documented. Tools return textResult() with structuredContent, but the structure of evidence, sources, and metadata fields is not declared. LLMs cannot plan downstream calls or extract data reliably without knowing response shape.
Error handling returns raw error messages without recovery guidance. errorResult() returns only error.message. Should categorize as retryable/user-fixable/fatal and suggest next steps: 'Rate limit exceeded. Retry in 60s.' or 'Invalid source ID. Call forum_sources() to list valid IDs.'
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 69 | 2025-06-18+ | v2 |
Parameter descriptions do not explain WHEN to use optional parameters. query_variants, sources, and depth are optional but lack guidance on when an LLM should provide them. Add: 'Provide query_variants to expand search scope when initial results are sparse. Omit for focused searches.'
forum_search and forum_research are semantically similar. Descriptions do not clearly distinguish when to call search vs research. Add: 'forum_search: Discovery only, returns thread URLs. forum_research: Reads threads and builds evidence pack with quotes and sources.'