秘密存储服务器

Sirr MCP服务器为AI助手提供直接访问秘密保险库的能力,支持存储、读取和分享临时秘密,无需离开对话环境。

  • by sirrlock
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 sirrlock/mcp

使用说明

@sirrlock/mcp——Sirr mcp服务器

让像克劳德这样的人工智能助手直接访问您的 束缚水饱和度 秘密金库。在不离开对话的情况下存储、阅读和分享短暂的秘密。

演示

匿名死滴——储存并焚烧

会话1——存储秘密(无名称,无需组织)

❯ stash this deploy token: 123asdzxc

⏺ sirr-mcp - store_secret (MCP)(value: "123asdzxc")
  ⎿  Secret pushed.
     ID: a1b2c3d4e5f6…
     URL: https://sirr.sirrlock.com/s/a1b2c3d4e5f6…
     Burns after 1 read(s).

⏺ Stored. Share the URL — it burns after one read.

会话2——按ID检索(保险库将其销毁)

❯ get the secret at a1b2c3d4e5f6…

⏺ sirr-mcp - read_secret (MCP)(id: "a1b2c3d4e5f6…")
  ⎿  123asdzxc

⏺ Got it. Deploying to staging with the token. Done.

会话3--秘密已经消失

❯ get that secret again

⏺ sirr-mcp - read_secret (MCP)(id: "a1b2c3d4e5f6…")
  ⎿  Secret not found, expired, or already burned.

⏺ The secret no longer exists on the server.

组织范围命名秘密——按名称存储和读取

❯ store the BITBUCKET_TOKEN as 123asdzxc

⏺ sirr-mcp - store_secret (MCP)(value: "123asdzxc", name: "BITBUCKET_TOKEN")
  ⎿  Secret 'BITBUCKET_TOKEN' stored in org 'acme'.

❯ deploy to staging using sirr:BITBUCKET_TOKEN

⏺ sirr-mcp - read_secret (MCP)(name: "BITBUCKET_TOKEN")
  ⎿  123asdzxc

这个秘密存在的时间刚好足够使用。vault在服务器端强制执行过期。工具说明指示克劳德不要记住或重复该值。即使不同的代理、会话或攻击者提出要求,也没有什么可返回的了。

安装

克劳德代码的一行代码:

claude mcp add --transport stdio sirr -- npx -y @sirrlock/mcp

或全局安装:

npm install -g @sirrlock/mcp

这两种方法都适用于Claude Code、Cursor、Windsurf和任何MCP客户端。

快速启动

零配置(公开死投+共享链接)

立即工作。无需账号、代币或组织:

❯ stash this API key: sk-abc123
⏺ [calls store_secret] → burn URL

❯ share this password with the contractor: hunter2
⏺ [calls share_secret] → sirrlock.com burn link

Sirr Cloud(组织范围命名秘密)

  1. 注册 在 sirrlock.com --免费套餐包括3个座位和无限的秘密。
  2. 获取您的主密钥 从仪表板(设置→ API密钥)。
  3. 添加 .mcp.json --将下面的配置块与您的密钥和组织ID粘贴在一起。
  4. 验证 --奔跑 sirr-mcp --health 以确认连接。

自托管

  1. 启动Sirr --奔跑 sirrd serve 并注意 SIRR_MASTER_API_KEY 你设置。
  2. 设置您的令牌 — SIRR_TOKEN MCP配置中的值必须等于该键值。
  3. 添加 .mcp.json --使用下面的自托管配置块。
  4. 验证 --奔跑 sirr-mcp --health 以确认连接。

配置

Sirr Cloud(默认)

不 SIRR_SERVER 需要--默认为 https://sirr.sirrlock.com.

# Claude Code one-liner
claude mcp add --transport stdio --env SIRR_TOKEN=your-principal-key --env SIRR_ORG=your-org-id sirr -- npx -y @sirrlock/mcp
{
  "mcpServers": {
    "sirr": {
      "command": "npx",
      "args": ["-y", "@sirrlock/mcp"],
      "env": {
        "SIRR_TOKEN": "your-principal-key",
        "SIRR_ORG": "your-org-id"
      }
    }
  }
}

自托管

点 SIRR_SERVER 自行负责 sirrd 例子

# Claude Code one-liner
claude mcp add --transport stdio --env SIRR_SERVER=http://localhost:39999 --env SIRR_TOKEN=your-master-key sirr -- npx -y @sirrlock/mcp
{
  "mcpServers": {
    "sirr": {
      "command": "npx",
      "args": ["-y", "@sirrlock/mcp"],
      "env": {
        "SIRR_SERVER": "http://localhost:39999",
        "SIRR_TOKEN": "your-master-api-key"
      }
    }
  }
}

是什么 SIRR_TOKEN? 在Sirr Cloud上,使用 主密钥 来自sirrlock.com仪表板。对于自托管,请使用 SIRR_MASTER_API_KEY value(完全访问)或组织范围访问的主键。不匹配是401错误的最常见原因。看 sirr.dev/错误#401.

环境变量

变量 默认值 描述
SIRR_SERVER https://sirr.sirrlock.com Sirr服务器URL。云省略;设置为自托管的实例URL。
SIRR_TOKEN -- 承载令牌--主体密钥(云或组织范围)或 SIRR_MASTER_API_KEY (自托管完全访问)
SIRR_ORG -- 组织ID。命名机密(按名称存储/读取)所需。匿名死滴可选。

命令行标志

# Print the installed version and exit
sirr-mcp --version

# Check connectivity (Cloud)
SIRR_TOKEN=your-principal-key SIRR_ORG=your-org-id sirr-mcp --health

# Check connectivity (self-hosted)
SIRR_SERVER=http://localhost:39999 SIRR_TOKEN=your-master-key sirr-mcp --health

--health 带代码退出 0 关于成功和 1 在失败时,可以在脚本和CI中安全使用。

可用工具

工具 说明
store_secret(value, name?, ttl_seconds?, max_reads?) 储存一个秘密。随着 name:org作用域命名为secret。无:匿名焚烧后阅读死滴。
read_secret(id?) 或 read_secret(name?) 读一个秘密。通过 id:公众死亡。通过 name:组织范围(需要 SIRR_ORG).
check_secret(name) 检查是否存在秘密并查看元数据-- 无需阅读.
share_secret(value) 通过sirrlock.com创建阅读后烧伤链接。阅读1次或24小时后烧伤。不需要帐户。
audit(since?, action?, limit?) 查询审计日志——secret创建、读取、删除。

就这样,五个工具。其他一切(webhooks、key、org、roles、principals)都是通过 命令行界面 或 网络仪表盘.

内联秘密引用

您可以在任何提示中内联引用组织范围的机密:

"Use sirr:DATABASE_URL to run a migration"
"Deploy with sirr:DEPLOY_TOKEN"

这 sirr:KEYNAME 前缀告诉克劳德自动从保险库中提取(需要 SIRR_ORG 待设置)。

秘密生命周期

Sirr的秘密会自动过期。 store_secret 支持过期控制:

选项 行为
ttl_seconds: 3600 密码在1小时后过期,无论是否读取
max_reads: 1 密码在第一次读取后被删除(匿名死滴的默认值)
无选项 机密将一直存在,直到被明确删除

使用 check_secret 在不消耗读取的情况下检查秘密的状态——当您想在获取秘密之前验证秘密是否仍然可用时非常有用。

安全说明

  • 克劳德只看到秘密 价值观 当你明确要求它通过 read_secret
  • 集 max_reads=1 关于为单个AI会话共享的任何秘密
  • MCP服务器从不记录机密值
  • SIRR_TOKEN 位于MCP配置中 env block——它从不作为工具参数或在提示中传递
  • 使用HTTPS(https://)何时 SIRR_SERVER 指向远程主机——纯HTTP传输未加密的秘密

故障排除

症状 原因 修复
Error: Sirr 401 SIRR_TOKEN 与服务器键不匹配 验证两个值是否完全匹配——没有多余的空格或换行符。 sirr.dev/错误#401
Error: Sirr 402 已达到可用层限制 删除未使用的机密或升级。 sirr.dev/错误#402
Error: Sirr 403 令牌缺少所需的权限 使用具有所需作用域的令牌。 sirr.dev/错误#403
Error: Sirr 409 名称已存在(store_secret) 请先删除现有密钥,或选择其他名称。 sirr.dev/错误#409
Secret '…' not found 密码过期、被烧毁或姓名输入错误 如果您仍然需要,请重新存储密码。 sirr.dev/错误#404
did not respond within 10s Sirr服务器无法访问 检查 SIRR_SERVER URL并确认Sirr正在运行(sirr-mcp --health).
[sirr-mcp] Warning: SIRR_TOKEN is not set MCP配置中缺少令牌 添加 SIRR_TOKEN 到 env 挡住 .mcp.json。没有它,匿名死滴和共享链接仍然有效
Claude找不到MCP服务器 sirr-mcp 不在PATH上 全局安装(npm install -g @sirrlock/mcp)或使用 npx 配置变量。

相关

包装 描述
先生 Rust monorepo: sirrd 服务器+ sirr CLI
@sirrlock/node Node.js/TypeScript SDK
sirr(PyPI) Python SDK
先生。客户端(NuGet) .NET SDK
sirr.dev 文件
sirrlock.com 托管云+许可证密钥