Skip to main content
Glama

Anchord MCP 서버

AI 에이전트를 위한 ID 확인 및 쓰기 전 안전성 검사.

npm License: MIT

AI 에이전트가 Anchord ID 확인 API에 액세스할 수 있도록 하는 MCP 서버입니다. 표준 MCP 도구 인터페이스를 통해 기업과 개인을 표준 AnchorID로 확인하고, 쓰기 전 안전성 검사를 실행하며, 골든 레코드를 내보낼 수 있습니다.

호스팅된 API 기반. 이 MCP 서버는 Anchord SaaS 플랫폼에 대한 씬 프록시(thin proxy)입니다. 모든 점수 산정, 매칭, 검증 및 데이터 지속성은 서버 측에서 발생합니다. 로컬에서 실행되는 비즈니스 로직은 없습니다.

설계상 읽기 전용. 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 설정(~/Library/Application Support/Claude/claude_desktop_config.json(macOS), %APPDATA%\Claude\claude_desktop_config.json(Windows))에 추가하세요:

{
  "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에 연결됩니다.


FAQ

Anchord는 자체 호스팅인가요?

아니요. Anchord는 호스팅된 SaaS 플랫폼입니다. 이 MCP 서버는 Anchord API를 호출하는 씬 클라이언트입니다. app.anchord.ai/signup에서 API 키가 필요합니다.

Anchord가 내 CRM에 쓰기 작업을 수행하나요?

아니요. Anchord는 엄격하게 읽기 전용입니다. ID 그래프를 구축하기 위해 연결된 시스템(Salesforce, HubSpot, Stripe)에서 데이터를 읽지만, 다시 쓰지는 않습니다. guard_write는 결정을 반환하며, 실제 쓰기 작업은 호출자가 수행합니다.

Anchord는 어떤 시스템과 작동하나요?

Anchord는 Salesforce, HubSpot, Stripe에 대한 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