Structured document management for agent systems, with governance. An MCP server.
en-quire provides 2 tools with documented schemas and descriptions, but lacks critical safety patterns and error-handling guidance. Tool names follow verb_noun convention (doc_append_section, text_append), but descriptions are moderately detailed without clear error recovery paths. Input schemas are present with type definitions and parameter descriptions, but lack enums for constrained inputs and do not document output structures. Security patterns for write operations are partially addressed via 'mode' parameter (write/propose) and 'if_match' ETags, but error responses and confirmation mechanisms are not visible in the provided source. The server supports Git-backed proposals and RBAC (evident from en-core dependencies), but these are not exposed as tool-level documentation. Missing: actionable error messages, batch operations, per-parameter validation guidance, and output schema documentation.
Append content to the end of a section body (before its children). Must not contain headings at or above the section level — use doc_insert_section to add siblings.
Append content at EOF. Typically begins with "\n" if the existing file does not already end with a trailing newline.
No output schema documented. Tools return unspecified structures; LLMs cannot plan downstream operations or validate results.
Error handling guidance missing. LLMs receive only HTTP status codes; descriptions do not explain recovery paths (e.g., 'Conflict: file modified since read. Fetch fresh ETag via doc_read and retry with updated if_match').
Mode parameter lacks enum constraint in schema. Description states enum=['write','propose'] but schema must explicitly declare enum field for LLM clarity.
'if_match' ETag parameter description is vague. Does not specify: what happens on mismatch, how to obtain fresh ETag, whether it is truly required when 'require_read_before_write' is disabled.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 55 | <=2025-11-25 | v2 |
No confirmation or dry-run mechanism for destructive write operations. Both tools modify state (WRITE risk level) without a safe preview step. Pattern recommendation: support 'propose' mode more prominently and offer diff preview.
Tool descriptions do not explain when to use doc_append_section vs text_append. Both append content; agents cannot determine which is appropriate without domain knowledge of structural vs literal operations.
No validation of file parameter format. Description states 'e.g. root/path/to/file.md' but does not specify character restrictions, max length, or forbidden patterns. LLMs may attempt path traversal (../../etc/passwd) without clear constraints.
Content parameter lacks size limits or format guidance. 'content' accepts arbitrary strings with no stated max length, encoding rules, or special character handling. Can lead to oversized payloads or encoding errors.