A MCP server which can write report using gpt-researcher.
Critical gaps across all dimensions. Tool definitions are severely underdeveloped. Two tools share the identical name 'get_report' with different schemas, creating ambiguity. Descriptions are minimal (10-50 chars, well below the 194-char baseline). Input schemas lack parameter descriptions entirely, LLMs cannot understand what each field controls. No output schemas documented. The 'add-note' tool has a basic schema but no guidance on format or constraints. No error handling, validation rules, or recovery guidance. The server exposes internal state management (notes dict) without explaining how it persists or what the resource URIs mean. Code snippet is incomplete (truncated at 'mimeTyp'), preventing full assessment of resource implementation.
Add a new note
Get a research report based on a query and report type
AI will write a report for the topic you specified
Duplicate tool name 'get_report' with different schemas causes ambiguity. LLMs cannot distinguish between them or predict which will be invoked.
No parameter descriptions. Input schemas define 'query', 'report_type', 'name', 'content' but do not explain what each controls, expected format, or constraints. LLMs cannot infer intent from names alone.
No output schemas documented. Callers do not know what fields to expect from get_report or add-note responses, blocking downstream tool composition and LLM planning.
Tool descriptions are under 20 characters ('Add a new note', 'Get a research report based on a query and report type'). First is too terse; second is generic and does not explain when to use it vs alternatives or what it returns.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | 2026-07-28+ | v2 |
No error handling or recovery guidance. If get_report fails (invalid query, API timeout, unsupported report_type), the LLM receives no actionable error message or next steps.