A C++ QUIC/HTTP3-based gateway server for distributed filesystem operations with FUSE client support
This C++ STDIO-only MCP server exposes 9 filesystem and gateway tools with minimal documentation. Tool names follow verb_noun convention (fs/stat, fs/read, fs/write, etc.), which is good. However, descriptions are extremely brief (10-30 chars), parameter descriptions are minimal or absent, and no output schemas are documented. The 'resolve' tool lacks context on what it returns. No error handling guidance, no pagination support for directory listings, no idempotent hints on destructive operations. Input schemas are present but sparse, only path/offset/length parameters with basic type info, no constraints, ranges, or validation rules. The server exposes destructive operations (fs/unlink, fs/rmdir) without confirmation patterns or permission gates. Overall, this reads as a minimal proof-of-concept rather than a production-grade tool suite.
Create a directory
Read file contents with optional offset and length parameters
List directory contents with entry names
Rename or move a file/directory
Remove an empty directory
Get file/directory metadata including mode, size, and directory flag
Delete a file
Write data to a file at specified offset
Descriptions are critically short (10-30 chars). Current descriptions lack WHAT the tool does, WHEN to use it, and prerequisites. LLMs cannot determine tool selection intent.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields. fs/readdir should document returned entry structure; fs/stat should document mode/size/is_dir fields; resolve should document gateway_url format.
Destructive operations (fs/unlink, fs/rmdir) lack confirmation patterns, dry-run support, or permission gates. No error guidance on recovery. Agents can delete files without safeguards.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 41 | 2026-07-28+ | v2 |
Resolve gateway endpoint from control server using client_id
fs/readdir lacks pagination (limit, offset, next_cursor). Large directories will return unbounded results, blowing context windows. No total count returned.
Parameter descriptions are missing or trivial. 'offset' and 'length' in fs/read lack range constraints, units, or behavior on out-of-bounds values. 'path' parameters lack validation rules (absolute vs relative, symlink handling, etc.).