Collection of MCP servers demonstrating document management, agent integration, and FastMCP framework usage
This is a collection of 4 tools across multiple MCP server implementations. Critical issues across the board: 2 of 4 tools lack descriptions entirely (online_resercher, read_doc), parameter descriptions are either missing or trivial (null values), input schemas are present but minimally documented, and output schemas are not documented. The codebase shows multiple incomplete implementations with TODO comments indicating unfinished work. Tool naming has issues: 'online_resercher' is misspelled (should be 'online_researcher'), and parameter names lack sufficient context. No evidence of error handling guidance, idempotency patterns, or security considerations in the visible code. The server uses fastmcp with stateless_http=True, showing awareness of current patterns, but tool definitions themselves are immature.
Edit a document by replacing a string in the documents content with a new string.
search the web information
Read the contents of a document and return it as a string.
Tool 'online_resercher' lacks any description. LLM cannot determine when or why to select this tool.
Tool 'read_doc' lacks a description entirely, leaving the LLM unable to understand its purpose or when to invoke it.
All four tools have parameter descriptions set to null or missing. Parameter 'query', 'doc_id', 'old_str', 'new_str' lack context about expected format, constraints, or meaning.
Tool 'online_resercher' is misspelled (should be 'online_researcher'). Poor naming reduces clarity and introduces typo-induced confusion.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 44 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 36 | - | v1 |
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract the right data from tool results.
No error handling guidance visible in tool definitions. Error responses do not indicate what the LLM should do next (retry, ask user, or abandon).
Tool 'edit_document' modifies state but has no dry-run, confirmation, or idempotency guarantee. Agents can accidentally execute destructive operations without safeguards.
Parameter 'old_str' and 'new_str' for edit_document lack format constraints or length limits. No guidance on whitespace sensitivity, encoding, or size boundaries.
Multiple TODO comments in mcp_server.py files indicate incomplete implementations (read_doc not implemented in mcp2, edit_doc not implemented). Tools may be non-functional.