Skip to main content
Glama

Anchord MCPサーバー

AIエージェントのためのID解決と書き込み前の安全チェック。

npm License: MIT

AIエージェントがAnchordのID解決APIにアクセスできるようにするMCPサーバーです。標準の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トークン)

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_entityまたはget_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)からデータを読み取ってIDグラフを構築しますが、書き戻すことはありません。guard_writeは決定を返すだけで、実際の書き込みは呼び出し側が行います。

Anchordはどのシステムと連携しますか?

AnchordはSalesforceHubSpotStripeのOAuth統合を備えています。また、ingest_recordツールやREST APIを使用して、あらゆるシステムからレコードをプッシュすることもできます。

曖昧な場合はどうなりますか?

resolve_*needs_reviewを返す場合、複数の候補AnchorIDが同様の信頼度で一致したことを意味します。エージェントは停止し、候補を人間に提示し、Anchordレビューキューに誘導する必要があります。解決されると、その後の呼び出しはresolvedを返します。

レート制限はありますか?

テナントあたり1分間に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