Skip to content

接入 Claude Code

本篇详细讲解如何让 Claude Code 通过 Sigil 调用本机能力。

前置条件

第一步:在 Sigil 中生成客户端 Token

打开 Sigil → 左侧 MCP 页 → "客户端管理"区。

  • 点击"新增客户端"
  • 名称填 claude-code(这个名字会出现在审计日志的"调用者"列)
  • 范围选"全部能力"(也可以按需限定,参考 能力体系
  • 点击"生成"

得到一个形如 sk_sigil_xxxxxxxxxx 的 Bearer Token。

这个 Token 只显示一次——关闭对话框后只能在 OS 密钥环中查到密文版本,UI 不会再展示明文。复制到剪贴板。

第二步:编辑 Claude Code 配置

打开 ~/.claude/claude.json(Windows: %USERPROFILE%\.claude\claude.json)。

mcpServers 字段下追加:

json
{
  "mcpServers": {
    "sigil": {
      "type": "http",
      "url": "http://127.0.0.1:8421/mcp",
      "headers": {
        "Authorization": "Bearer sk_sigil_xxxxxxxxxx"
      }
    }
  }
}

如果 mcpServers 字段不存在,需要先创建。如果已经有其他 MCP server(如 playwrightcontext7),就追加 sigil 这一项。

保存。

第三步:重启 Claude Code

退出并重启 Claude Code 进程,让它重新加载配置。

启动后输入 /mcp 查看已连接的 MCP server,应该能看到 sigil 状态为 connected 并列出可用工具。

第四步:测试一次

在 Claude Code 中输入:

查一下我 GitHub 上 stars 最多的 5 个仓库

Claude 会自动选择 Sigil 暴露的 http_request 工具,请求 https://api.github.com/user/repos

Sigil 在中间:

  1. 看到目标域名是 api.github.com
  2. 查找金库里 type=github_token 的凭据,匹配上你的 github-personal
  3. 注入 Authorization: token ghp_...
  4. 转发请求 → 收到响应
  5. [REDACTED:github_token] 替换响应里任何明文 Token
  6. 返回给 Claude

Claude 拿到结果,给你一个 markdown 表格。它从来没见过你的 GitHub Token

工具描述自动同步

Sigil 内置的能力描述(参数、返回值、典型用法)都会自动同步给 Claude。这意味着:

  • 你不需要在 Claude 那边维护额外的工具说明
  • Sigil 升级新增能力后,Claude 自动看得到
  • 自定义 HTTP 模板(你在 Sigil 里定义的)也会出现在 Claude 的工具列表

多个 MCP 客户端隔离

如果你同时用 Claude Code + Cursor + Cline,建议为每个客户端生成独立的 Bearer Token

客户端Token 名范围
Claude Codeclaude-code全部能力
Cursorcursor全部能力
Clinecline仅只读能力

好处:

  • 审计日志能区分是谁在调用
  • 任何一个客户端出问题(被改)可以单独撤销,不影响其他
  • 可以差异化授予权限范围

常见问题

Claude Code 显示 "sigil: disconnected"

  • 检查 Sigil 是否在运行
  • 检查 MCP 监听端口是否被防火墙拦截(默认 127.0.0.1:8421
  • 检查 claude.json 里的 Bearer Token 是否完整复制

工具调用返回 "未授权"

  • 检查这条 Token 的范围是否包含被调用的能力
  • 检查对应凭据是否被禁用 / 过期
  • 在 Sigil 的"审计"页查看具体错误信息

Claude 说"我看不到 Sigil 提供的工具"

  • 退出 Claude Code 进程并重启(仅退出会话不够)
  • 在 Claude Code 中执行 /mcp 查看连接状态
  • 检查 ~/.claude/claude.json 是不是合法 JSON(用编辑器看一下高亮)

下一步

让 AI 帮你干活,但永远拿不到你的密钥