使用说明
@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(组织范围命名秘密)
- 注册 在 sirrlock.com --免费套餐包括3个座位和无限的秘密。
- 获取您的主密钥 从仪表板(设置→ API密钥)。
- 添加
.mcp.json--将下面的配置块与您的密钥和组织ID粘贴在一起。 - 验证 --奔跑
sirr-mcp --health以确认连接。
自托管
- 启动Sirr --奔跑
sirrd serve并注意SIRR_MASTER_API_KEY你设置。 - 设置您的令牌 —
SIRR_TOKENMCP配置中的值必须等于该键值。 - 添加
.mcp.json--使用下面的自托管配置块。 - 验证 --奔跑
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_KEYvalue(完全访问)或组织范围访问的主键。不匹配是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配置中envblock——它从不作为工具参数或在提示中传递- 使用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 | 托管云+许可证密钥 |