MCP access to live HiveVault FENR reads and an AES-256-GCM encrypted item store with x402 USDC settlement.
HiveVault MCP has 4 tools with basic schemas and descriptions, but significant gaps prevent production use. Tool names lack clear action verbs (vault_store/vault_get are acceptable but vault_get is ambiguous about decryption). Descriptions are present but generic (avg ~80 chars, below 194-char baseline). Input schemas exist but lack depth: parameters have types but descriptions are minimal or missing context about constraints, formats, and error cases. No output schemas documented. Error handling is absent, tools do not guide recovery or categorize failures. Security concerns: INTERNAL_KEY exposure risk, no permission gates, no audit logging visible. Composition is weak: tools operate on encrypted payloads without clear guidance on when to use each. Overall, this reads as a prototype rather than production-grade tooling.
Get the Ed25519 public key and issuer information for signature verification.
Verify an Ed25519 signature over a request (method, path, body, timestamp).
Retrieve metadata for a stored vault item by item_ref. Does not decrypt the payload.
Store an encrypted item in the vault with AES-256-GCM encryption. Returns an item_ref for later retrieval.
No output schemas documented. LLMs cannot predict response structure or plan downstream calls. vault_store returns {item_ref, created_at} but this is inferred from code, not declared in tool definition.
Parameter descriptions are minimal or absent. 'did' in vault_store says 'Decentralized identifier for tracking and BOGO eligibility' but does not explain format, length, or validation rules. 'payload' lacks any guidance on structure or size limits.
No error handling guidance. Tools do not document failure modes, recovery steps, or error categories. An LLM calling vault_get with an invalid item_ref gets no hint on what to do next.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Security: INTERNAL_KEY is environment-injected but no tool description warns about encryption scope, key rotation, or payload size limits. No audit logging visible in tool definitions.
Ambiguous tool naming: 'vault_get' does not clarify whether it retrieves encrypted payload or metadata only. Description says 'Does not decrypt' but LLMs may still expect decrypted data. Consider 'vault_get_metadata' or 'vault_retrieve_encrypted'.