MCP compliance server: Trust Capital enforcement for any MCP-compatible agent
The Nobulex MCP server has three tools with minimal schema and description quality. All three tools have descriptions present but critically lack parameter-level detail and output schema documentation. Tool names follow basic verb_noun conventions (readFile, writeFile, sendEmail) but descriptions are vague. Input schemas show only parameter names and types without proper constraints, enums, or validation guidance. No output schemas are documented. The server appears to be a proof-of-concept rather than production-ready. Parameter descriptions are superficial: 'The file path to read from /data' lacks guidance on format, length, allowed characters, or error cases. The sendEmail tool is particularly problematic, it only documents a 'to' parameter but provides no guidance on email body, subject, headers, MIME types, or failure modes. No tool shows evidence of error handling strategy, recovery guidance, or retryability classification.
Reads a file from /data
Sends an email over the network
Writes a file to /output
All tools lack output schema documentation. LLMs cannot plan downstream tool calls or extract results without knowing the response structure. Currently undocumented whether readFile returns {content, encoding, size} or just a raw string.
sendEmail tool is missing critical parameters: subject, body, cc, bcc, attachments, reply_to. Only documents 'to' parameter. Current schema is unusable without body and subject.
Parameter descriptions lack validation constraints. 'The file path to read from /data' does not specify: max length, forbidden characters, symlink handling, or whether paths are relative/absolute. LLMs will pass invalid paths.
No error handling guidance. Tools do not document error cases: file not found, permission denied, disk full, network timeout for sendEmail. LLMs have no recovery strategy.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 49 | 2026-07-28+ | v2 |
readFile and writeFile descriptions do not clarify scope. 'Reads a file from /data', is /data a sandbox? Absolute path? Can the tool read any file in /data or only whitelisted ones? No boundaries stated.
sendEmail lacks idempotency documentation. If retried, will the email be sent twice? No 'idempotent_key' or 'request_id' parameter to prevent duplicates.
No pagination or result limiting guidance. readFile and writeFile descriptions do not state max file size, buffer limits, or streaming behavior for large files.
Tool descriptions violate baseline length constraints. 'Reads a file from /data' is 24 chars, below the 34-char p10 baseline. 'Writes a file to /output' is 26 chars. Descriptions are too terse to guide LLM selection.