Command-line MCP chat client and document server (Python and TypeScript), using the official MCP SDK. Provides tools for reading/editing documents, listing roots, reading directories, and summarizing text via LLM sampling.
Server has 5 tools with basic schemas and descriptions, but significant gaps limit production readiness. Tool names follow verb_noun convention (read_document, edit_document, list_roots, read_dir), which is good. However, descriptions are minimal (10-50 chars), parameter descriptions lack detail, and output schemas are not documented. The edit_document tool lacks critical safety guidance (no confirmation pattern, no dry-run option). The summarize tool is unusual, it delegates to the client's LLM rather than performing a server-side operation, creating ambiguity about responsibility. No tool annotations (readOnlyHint, destructiveHint) despite clear risk levels. Error handling is absent from visible code.
Edit a document by replacing a string in the document content with a new string
List all directories that are accessible to this server. These are the root directories where files can be read from or written to.
Read directory contents. Path must be within one of the client's roots.
Read a document's contents by id
Summarize the provided text using the client's LLM
edit_document lacks confirmation/dry-run pattern for destructive operation. No guidance on error recovery if old_str does not match exactly.
Output schemas not documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., what does read_document return? Plain text? JSON? Metadata?).
Parameter descriptions are minimal or absent. 'doc_id' has a description, but 'old_str' and 'new_str' lack guidance on format, length limits, or special character handling.
Tool descriptions are under 50 characters (e.g., 'List all directories...' is 35 chars). Descriptions should be 50-200 chars to provide LLM context for selection and usage.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | <=2025-11-25 | v2 |
summarize tool delegates to client's LLM, creating ambiguity about server responsibility. This is unusual for an MCP server and may confuse agents about when/how to use it.