Skip to main content
Glama

MCP-сервер Anchord

Разрешение идентификаторов и проверки безопасности перед записью для ИИ-агентов.

npm License: MIT

MCP-сервер, который предоставляет ИИ-агентам доступ к API разрешения идентификаторов Anchord. Разрешайте компании и людей до канонических AnchorID, выполняйте проверки безопасности перед записью и экспортируйте «золотые» записи — через стандартный интерфейс инструментов MCP.

Работает на базе размещенного API. Этот MCP-сервер является тонким прокси-сервером для платформы Anchord SaaS. Вся оценка, сопоставление, проверка и сохранение данных происходят на стороне сервера. Локально бизнес-логика не выполняется.

По дизайну работает только в режиме чтения. Anchord никогда не записывает данные в ваши внешние системы (CRM, базы данных и т. д.). guard_write оценивает предлагаемую запись и возвращает результат «разрешено/заблокировано» — вызывающая сторона сама решает, стоит ли продолжать.


Быстрый старт

1. Получите API-ключ

Зарегистрируйтесь на app.anchord.ai/signup и создайте API-ключ в разделе Settings > API Keys.

2. Запуск с помощью npx (без установки)

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

Это всё. Сервер запускается через stdio и готов к работе с MCP-клиентами.

3. Или подключитесь к размещенному удаленному серверу (без установки)

Локальная установка не требуется. Укажите любому MCP-клиенту, поддерживающему удаленный HTTP-транспорт, адрес размещенной конечной точки:

{
  "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. Это работает с любым MCP-клиентом, поддерживающим формат конфигурации url + headers:

{
  "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

Да

Ваш API-ключ Anchord (Bearer token)

ANCHORD_API_BASE_URL

Нет

https://api.anchord.ai

Базовый URL API

Подробности об аутентификации и области действия клиента см. в 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. Покажите кандидатов пользователю — ответ включает идентификаторы сущностей и оценки совпадений.

  3. Направьте пользователя в очередь на проверку (Review Queue): 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 содержит ошибки валидации, если они доступны (null для ошибок, не являющихся JSON).

  • 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-сервер — тонкий клиент, который вызывает API Anchord. Вам нужен API-ключ с app.anchord.ai/signup.

Записывает ли Anchord данные в мои CRM?

Нет. Anchord работает строго в режиме чтения. Он считывает данные из подключенных систем (Salesforce, HubSpot, Stripe) для построения графов идентификации, но никогда не записывает их обратно. guard_write возвращает решение — вызывающая сторона выполняет любую фактическую запись.

С какими системами работает Anchord?

У Anchord есть OAuth-интеграции для Salesforce, HubSpot и Stripe. Вы также можете отправлять записи из любой системы через инструмент 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