Skip to main content
Glama

Anchord MCP 服务器

为 AI 代理提供身份解析和写入前安全检查。

npm License: MIT

一个 MCP 服务器,使 AI 代理能够访问 Anchord 身份解析 API。通过标准的 MCP 工具接口,将公司和个人解析为规范的 AnchorID,运行写入前安全检查,并导出黄金记录。

托管 API 支持。 此 MCP 服务器是 Anchord SaaS 平台的轻量级代理。所有评分、匹配、验证和数据持久化均在服务器端完成。本地不运行任何业务逻辑。

设计上为只读。 Anchord 绝不会写入您的外部系统(CRM、数据库等)。guard_write 会评估提议的写入操作并返回允许/拦截结果——由调用者决定是否继续执行。


快速入门

1. 获取 API 密钥

app.anchord.ai/signup 注册,并在 Settings > API Keys 中创建 API 密钥。

2. 使用 npx 运行(无需安装)

ANCHORD_API_KEY=<YOUR_ANCHORD_API_KEY> npx -y @anchord/mcp-server

就是这样。服务器通过 stdio 启动,并已准备好供 MCP 客户端使用。

3. 或连接到托管的远程服务器(无需安装)

无需本地安装。将任何支持远程 HTTP 传输的 MCP 客户端指向托管端点:

{
  "mcpServers": {
    "anchord": {
      "url": "https://mcp.anchord.ai/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_ANCHORD_API_KEY>"
      }
    }
  }
}

有关完整详细信息、客户端兼容性说明以及如果您的客户端尚不支持远程 MCP 时的本地回退方案,请参阅 docs/remote.md


MCP 客户端设置

Cursor (本地 stdio)

添加到 .cursor/mcp.json (工作区) 或 ~/.cursor/mcp.json (全局):

{
  "mcpServers": {
    "anchord": {
      "command": "npx",
      "args": ["-y", "@anchord/mcp-server"],
      "env": {
        "ANCHORD_API_KEY": "<YOUR_ANCHORD_API_KEY>"
      }
    }
  }
}

请参阅 examples/cursor-mcp.json

Claude Desktop

添加到您的 Claude Desktop 配置中(macOS 上为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上为 %APPDATA%\Claude\claude_desktop_config.json):

{
  "mcpServers": {
    "anchord": {
      "command": "npx",
      "args": ["-y", "@anchord/mcp-server"],
      "env": {
        "ANCHORD_API_KEY": "<YOUR_ANCHORD_API_KEY>"
      }
    }
  }
}

请参阅 examples/claude-desktop-config.json

远程 MCP (适用于支持 HTTP 传输的客户端)

对于无需安装的远程访问,请使用托管端点代替本地 stdio 进程。这适用于任何支持 url + headers 配置格式的 MCP 客户端:

{
  "mcpServers": {
    "anchord": {
      "url": "https://mcp.anchord.ai/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_ANCHORD_API_KEY>"
      }
    }
  }
}

无需 Node.js,无需 npx,无需 Docker。如果您的客户端尚不支持远程 MCP,请使用上述本地 stdio 设置。 请参阅 docs/remote.md 获取完整详细信息。

Docker

docker build -t anchord-mcp .
echo '{"jsonrpc":"2.0","id":1,"method":"initialize",...}' | \
  docker run --rm -i -e ANCHORD_API_KEY=<YOUR_ANCHORD_API_KEY> anchord-mcp

或者使用 compose 文件进行本地测试:

cp examples/env.example .env
# Edit .env with your API key
docker compose up

环境变量

变量

必需

默认值

描述

ANCHORD_API_KEY

您的 Anchord API 密钥 (Bearer token)

ANCHORD_API_BASE_URL

https://api.anchord.ai

API 基础 URL

有关身份验证和租户范围的详细信息,请参阅 docs/auth.md


可用工具

工具

描述

resolve_company

将公司解析为规范的 AnchorID

resolve_company_batch

批量公司解析(最多 200 个)

resolve_person

将个人解析为规范的 AnchorID

resolve_person_batch

批量个人解析(最多 200 个)

get_entity

获取带有可选关联记录的 AnchorID

get_entity_export

导出 AnchorID 的黄金记录

link_source_record

将源记录链接到 AnchorID

unlink_source_record

软删除源记录链接

guard_write

写入前安全检查(仅评估)

guard_write_batch

批量写入前安全检查(最多 200 个)

ingest_record

将源记录摄入到 Anchord

完整参数参考:docs/tools.md


安全代理工作流

代理写入外部系统的推荐顺序:

1. ingest_record        Push the source record into Anchord
                        (optional if using OAuth integrations)

2. resolve_company      Match to a canonical AnchorID
   or resolve_person    → status: resolved | not_found | needs_review

3. IF needs_review      STOP. Do not write.
                        Surface candidates to the user.
                        Direct them to the Review Queue.

4. guard_write          Evaluate the proposed write
                        → allowed: true | false (with block codes)

5. IF allowed           The agent performs the external write.
                        Anchord never writes.

6. Log request_id       Every response includes a request_id
                        for audit trail and debugging.

随时使用 get_entityget_entity_export 来检查 AnchorID 详细信息或检索合并后的黄金记录。


处理 needs_review

只有 resolve_* 会返回 needs_review。这意味着 Anchord 发现了多个合理的匹配项,无法自信地自动解析。

对于代理:

  1. 不要写入。 数据存在歧义。

  2. 向用户展示候选对象 — 响应包含实体 ID 和匹配分数。

  3. 引导用户前往审核队列: https://app.anchord.ai/app/queues/needs-review

  4. 稍后重试。 一旦人工解决了歧义,后续的解析调用将返回 resolved

代理消息示例:

我尝试解析 "Acme Corp",但 Anchord 发现了多个可能的匹配项。 需要人工在 审核队列 中进行审核。 我将在问题解决后重试。


错误处理

当 API 返回 4xx/5xx 时,MCP 工具响应会被标记为 isError: true 并带有结构化负载:

{
  "error": "[422] BATCH_TOO_LARGE: Batch size must not exceed 100 records. (request_id: req_01ABC123)",
  "status_code": 422,
  "request_id": "req_01ABC123",
  "details": { "records": ["Too many records."] }
}
  • request_id 始终存在 — 来自 API 响应体、x-request-id 标头或客户端生成的 UUID。

  • details 在可用时包含验证错误(非 JSON 错误时为 null)。

  • 错误消息中绝不包含 API 密钥。


架构

本地 (stdio)

MCP Client (Cursor / Claude Desktop / etc.)
    │  stdio (JSON-RPC)
    ▼
┌──────────────┐
│  MCP Server  │  Node.js + TypeScript
│  (this pkg)  │  Zod schemas · no business logic
└──────┬───────┘
       │  HTTPS + Bearer auth
       ▼
┌──────────────┐
│  Anchord API │  Hosted SaaS — scoring, matching,
│              │  persistence, tenant isolation
└──────────────┘

托管远程 (HTTP)

MCP Client
    │  HTTPS POST + Bearer token
    ▼
┌────────────────────────┐
│  mcp.anchord.ai        │  CloudFront (TLS, routing)
└───────────┬────────────┘
            ▼
┌────────────────────────┐
│  Lambda (stateless)    │  Per-request MCP server
│  Bearer → ApiClient    │  No stored secrets
└───────────┬────────────┘
            │  HTTPS + Bearer auth
            ▼
┌────────────────────────┐
│  Anchord API           │  Same hosted SaaS backend
└────────────────────────┘

两条路径都公开相同的 11 个 MCP 工具并连接到同一个 API。


常见问题解答

Anchord 是自托管的吗?

不是。Anchord 是一个托管的 SaaS 平台。此 MCP 服务器是一个调用 Anchord API 的轻量级客户端。您需要从 app.anchord.ai/signup 获取 API 密钥。

Anchord 会写入我的 CRM 吗?

不会。Anchord 严格只读。它从连接的系统(Salesforce、HubSpot、Stripe)读取数据以构建身份图谱,但从不回写。guard_write 返回一个决策 — 由调用者执行任何实际的写入操作。

Anchord 支持哪些系统?

Anchord 具有 SalesforceHubSpotStripe 的 OAuth 集成。您还可以通过 ingest_record 工具或 REST API 从任何系统推送记录。

出现歧义时会发生什么?

resolve_* 返回 needs_review 时,意味着多个候选 AnchorID 以相似的置信度匹配。代理应停止,向人工展示候选对象,并引导他们前往 Anchord 审核队列。一旦解决,后续调用将返回 resolved

速率限制是多少?

每个租户每分钟 120 个请求。批量端点最多接受 200 个项目(解析、防护)或 100 条记录(摄入)。适用计划级别的月度和每日配额。请参阅 docs/auth.md


链接


许可证

MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nolenation04/anchord-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server