enigmagent-mcp
enigmagent-mcp
面向 AI 智能体的本地加密保险库 —— 基于 MCP 协议
enigmagent-mcp 是 EnigmAgent 的模型上下文协议 (MCP) 服务器。它将你使用 AES-256-GCM + Argon2id 加密的凭据保险库作为 MCP 工具公开,允许任何兼容 MCP 的 AI 智能体(如 Claude Desktop、Cursor、Continue.dev、Open WebUI、AnythingLLM、LM Studio 等)在运行时解析 {{PLACEHOLDER}} 密钥。
LLM 永远不会看到真实的 API 密钥或凭据。
快速开始
npx enigmagent-mcp --vault ./my.vault.jsonRelated MCP server: mcp-keyward
工作原理
将密钥存储在加密保险库中:
{ "OPENAI_KEY": "sk-..." }在你的智能体提示词中使用
{{OPENAI_KEY}}EnigmAgent 会在 LLM 接收消息之前解析它们
MCP 工具
resolve_secret— 将{{PLACEHOLDER}}解析为其保险库中的值list_keys— 列出可用的占位符名称(不包含值)vault_status— 检查保险库锁定状态
安全性
AES-256-GCM 对称加密
Argon2id 密钥派生(内存硬性,抗 GPU 破解)
零云端 — 保险库绝不会离开你的机器
零遥测 — 无分析,无回调
完整仓库
浏览器扩展、npm 库、Python SDK 及更多集成请访问: https://github.com/Agnuxo1/EnigmAgent
许可证
MIT
Available Tools
2 toolsenigmagent_listA
List all secret names and their bound domains. Never returns actual secret values.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite no annotations, the description discloses a key behavioral trait: it never returns secret values, which informs the agent about safety and limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise with two sentences, front-loaded with the core purpose, and no superfluous text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with no parameters and no output schema, the description covers the essential purpose and a critical behavioral constraint, though pagination or ordering details are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, so baseline 4 is appropriate as per instructions; no additional param info needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states it lists secret names and bound domains, and explicitly distinguishes from a value-returning tool by stating 'Never returns actual secret values.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus the sibling 'enigmagent_resolve', but the description's emphasis on listing metadata implies usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enigmagent_resolveA
Resolve a secret placeholder from the EnigmAgent vault. Returns the decrypted value. Domain binding is enforced: the origin must match the secret's bound domain.
| Name | Required | Description | Default |
|---|---|---|---|
| placeholder | Yes | The secret name to resolve. Supports {{NAME}}, {{LOGIN:domain}}, {{DOC:filename}} syntax (pass without the braces). | |
| origin | Yes | The requesting origin URL (e.g. https://api.example.com). Must match the secret's domain binding. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description correctly notes returns decrypted value and domain enforcement, but lacks details on error conditions (e.g., mismatch) or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose, no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description mentions return value but omits error handling or detailed result format. Adequate for a simple tool but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds valuable context to both parameters: placeholder syntax variants and origin requirement, going beyond the schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Resolve' and the resource 'secret placeholder from the EnigmAgent vault', and distinguishes from sibling 'enigmagent_list' by specifying it returns the decrypted value.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the domain binding and placeholder syntax, but does not explicitly state when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
enigmagent_list - First observed
enigmagent_resolve
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: one lists secret names and domains, the other resolves placeholder values. There is no ambiguity between them.
Both tools share a consistent 'enigmagent_' prefix followed by a verb ('list', 'resolve'), following a predictable verb_noun pattern.
With only 2 tools, the set is on the low end of what is reasonable. While each tool is distinct, the total number feels minimal for a secret management server.
The tool surface lacks basic CRUD operations like create, update, or delete secrets. Agents can only list and resolve, which is insufficient for comprehensive secret management.
Maintenance
Related MCP Connectors
A secret store for AI agents: the agent never sees the plaintext.
Encrypted secret store and rotation for autonomous agent credentials
Secrets for developers and agents—secure context and workflows without exposing secret values.
Give your AI hands. Identity, credential vault, and API gateway for autonomous agents.
Related MCP Servers
- AlicenseAqualityAmaintenanceOS keychain secrets for AI coding agents, over MCP. Anchors credentials to the native vault (macOS Keychain, Linux Secret Service, Windows Credential Vault) and exposes them through 44 policy-governed tools: per-environment values, TTL, linked rotation, encrypted transfer bundles, redacted exec, and a tamper-evident audit log. Local-first, no cloud account.46145 npm4AGPL 3.0
- FlicenseNot gradedqualityDmaintenanceLocal encrypted vault for API keys. LLMs never see your real keys — the server injects them transparently into HTTP requests.-
- AlicenseAqualityDmaintenanceShare encrypted, self-destructing secrets from your AI agent. Zero-knowledge E2E encryption. Agent-blind input sources (env:, file:, dotenv:) keep secrets out of LLM context.414 npm1MIT
- AlicenseAqualityDmaintenanceEncrypted secrets vault that blinds AI agents to API keys. Stores secrets in AES-256-GCM encrypted SQLite vault, resolves them at runtime via MCP values never appear in LLM conversation transcripts. Sandbox .env files with deterministic fakes.754 npm3MIT