Model Context Protocol server for deny.sh deniable encryption. Lets any MCP-compatible AI agent call deny.sh tools.
Server provides 10 tools with complete input schemas and descriptions. Naming follows verb_noun convention (deny_encrypt, deny_decrypt, deny_vault_list). Descriptions are adequate (100-150 chars) but lack actionable context about when to use each tool vs. alternatives. Parameters are typed and described, but lack constraints (enums, ranges, format specs). No output schemas documented. Error handling is minimal, no recovery guidance or categorization. Security is strong (no secrets in params, API key injected via env). Composition is good, tools are single-responsibility and chainable. Main gaps: output schema documentation, error recovery patterns, and parameter constraints.
Create deniable decoy control data. The same ciphertext will decrypt to this fake message using the new control data. The original decryption still works with the original control data.
Decrypt ciphertext using control data and passwords. Returns the plaintext.
Encrypt text with deniable encryption. Returns ciphertext and control data. The same ciphertext can later decrypt to different content using different control data.
Create deniable decoy control data locally. No API call, no server, runs entirely on your machine.
Decrypt locally using deny.sh algorithm. No API call, no server, runs entirely on your machine.
Encrypt text locally using deny.sh algorithm. No API call, no server, runs entirely on your machine. Same algorithm as the API (AES-256-CTR + Argon2id + XOR composition).
No output schemas documented. LLMs cannot infer what fields to expect from tool responses, forcing them to guess at downstream field names and types.
Parameter descriptions lack constraints. 'plaintext' and 'fakeMessage' have no length limits; 'password1' and 'password2' have no format guidance. LLMs may pass invalid values.
No error handling guidance. Tool implementations throw generic errors without recovery hints. LLMs cannot determine if errors are retryable or require user intervention.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 68 | 2026-07-28+ | v2 |
Check current API usage and plan limits.
Retrieve an item from the deny.sh vault by ID.
List all items in the deny.sh vault.
Store encrypted data in the deny.sh vault. Data should be pre-encrypted.
Descriptions do not explain when to use API-mode vs. local-mode tools. Users/LLMs cannot determine which variant to call without external knowledge.
Hex-encoded parameters (ciphertext, controlData, iv, salt) lack format documentation. LLMs may pass invalid encodings or misunderstand the expected format.