Skip to main content
Glama

Anchord MCP-Server

Identitätsauflösung und Sicherheitsprüfungen vor Schreibvorgängen für KI-Agenten.

npm License: MIT

Ein MCP-Server, der KI-Agenten Zugriff auf die Anchord-API zur Identitätsauflösung gewährt. Lösen Sie Unternehmen und Personen in kanonische AnchorIDs auf, führen Sie Sicherheitsprüfungen vor Schreibvorgängen durch und exportieren Sie Golden Records – über die standardmäßige MCP-Tool-Schnittstelle.

Gehostet und API-gestützt. Dieser MCP-Server ist ein schlanker Proxy für die Anchord SaaS-Plattform. Alle Bewertungen, Abgleiche, Validierungen und Datenpersistenzvorgänge finden serverseitig statt. Es wird keine Geschäftslogik lokal ausgeführt.

Von Grund auf schreibgeschützt. Anchord schreibt niemals in Ihre externen Systeme (CRMs, Datenbanken usw.). guard_write bewertet einen vorgeschlagenen Schreibvorgang und gibt „zugelassen“ oder „blockiert“ zurück – der Aufrufer entscheidet, ob fortgefahren werden soll.


Schnellstart

1. API-Schlüssel abrufen

Registrieren Sie sich unter app.anchord.ai/signup und erstellen Sie einen API-Schlüssel unter Settings > API Keys.

2. Mit npx ausführen (keine Installation)

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

Das ist alles. Der Server startet über stdio und ist bereit für MCP-Clients.

3. Oder Verbindung zum gehosteten Remote-Server herstellen (keine Installation)

Keine lokale Installation erforderlich. Verweisen Sie jeden MCP-Client, der den Remote-HTTP-Transport unterstützt, auf den gehosteten Endpunkt:

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

Siehe docs/remote.md für vollständige Details, Hinweise zur Client-Kompatibilität und einen lokalen Fallback, falls Ihr Client noch kein Remote-MCP unterstützt.


Einrichtung des MCP-Clients

Cursor (lokales stdio)

Fügen Sie dies zu .cursor/mcp.json (Arbeitsbereich) oder ~/.cursor/mcp.json (global) hinzu:

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

Siehe examples/cursor-mcp.json.

Claude Desktop

Fügen Sie dies zu Ihrer Claude Desktop-Konfiguration hinzu (~/Library/Application Support/Claude/claude_desktop_config.json unter macOS, %APPDATA%\Claude\claude_desktop_config.json unter Windows):

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

Siehe examples/claude-desktop-config.json.

Remote-MCP (für Clients, die HTTP-Transport unterstützen)

Für den Remote-Zugriff ohne Installation verwenden Sie den gehosteten Endpunkt anstelle eines lokalen stdio-Prozesses. Dies funktioniert mit jedem MCP-Client, der das Konfigurationsformat url + headers unterstützt:

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

Kein Node.js, kein npx, kein Docker erforderlich. Wenn Ihr Client noch kein Remote-MCP unterstützt, verwenden Sie die oben genannte lokale stdio-Einrichtung. Siehe docs/remote.md für vollständige Details.

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

Oder verwenden Sie die Compose-Datei für lokale Tests:

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

Umgebungsvariablen

Variable

Erforderlich

Standard

Beschreibung

ANCHORD_API_KEY

Ja

Ihr Anchord API-Schlüssel (Bearer-Token)

ANCHORD_API_BASE_URL

Nein

https://api.anchord.ai

API-Basis-URL

Siehe docs/auth.md für Details zur Authentifizierung und Mandanten-Scoping.


Verfügbare Tools

Tool

Beschreibung

resolve_company

Auflösung eines Unternehmens in eine kanonische AnchorID

resolve_company_batch

Batch-Unternehmensauflösung (max. 200)

resolve_person

Auflösung einer Person in eine kanonische AnchorID

resolve_person_batch

Batch-Personenauflösung (max. 200)

get_entity

Abrufen einer AnchorID mit optionalen verknüpften Datensätzen

get_entity_export

Exportieren des Golden Records für eine AnchorID

link_source_record

Verknüpfen eines Quelldatensatzes mit einer AnchorID

unlink_source_record

Soft-Delete einer Quelldatensatz-Verknüpfung

guard_write

Sicherheitsprüfung vor Schreibvorgang (nur Bewertung)

guard_write_batch

Batch-Sicherheitsprüfung vor Schreibvorgang (max. 200)

ingest_record

Ingestieren eines Quelldatensatzes in Anchord

Vollständige Parameterreferenz: docs/tools.md


Sicherer Agent-Workflow

Die empfohlene Reihenfolge für Agenten, die in externe Systeme schreiben:

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.

Verwenden Sie get_entity oder get_entity_export jederzeit, um AnchorID-Details zu untersuchen oder den zusammengeführten Golden Record abzurufen.


Umgang mit needs_review

Nur resolve_* gibt needs_review zurück. Dies bedeutet, dass Anchord mehrere plausible Übereinstimmungen gefunden hat und nicht mit Sicherheit automatisch auflösen kann.

Für Agenten:

  1. Nicht schreiben. Die Daten sind mehrdeutig.

  2. Präsentieren Sie die Kandidaten dem Benutzer – die Antwort enthält Entitäts-IDs und Übereinstimmungs-Scores.

  3. Leiten Sie den Benutzer zur Überprüfungswarteschlange (Review Queue): https://app.anchord.ai/app/queues/needs-review

  4. Später erneut versuchen. Sobald ein Mensch die Mehrdeutigkeit aufgelöst hat, geben nachfolgende Auflösungsaufrufe resolved zurück.

Beispiel für eine Agenten-Nachricht:

Ich habe versucht, "Acme Corp" aufzulösen, aber Anchord hat mehrere mögliche Übereinstimmungen gefunden. Ein Mensch muss dies in der Review Queue überprüfen. Ich werde es erneut versuchen, sobald es aufgelöst wurde.


Fehlerbehandlung

Wenn die API 4xx/5xx zurückgibt, wird die MCP-Tool-Antwort als isError: true mit einer strukturierten Nutzlast markiert:

{
  "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 ist immer vorhanden – aus dem API-Antworttext, dem x-request-id-Header oder einer vom Client generierten UUID.

  • details enthält Validierungsfehler, sofern verfügbar (null bei Nicht-JSON-Fehlern).

  • API-Schlüssel werden niemals in Fehlermeldungen aufgenommen.


Architektur

Lokal (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
└──────────────┘

Gehostet (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
└────────────────────────┘

Beide Pfade machen dieselben 11 MCP-Tools verfügbar und stellen eine Verbindung zur selben API her.


FAQ

Ist Anchord selbst gehostet?

Nein. Anchord ist eine gehostete SaaS-Plattform. Dieser MCP-Server ist ein schlanker Client, der die Anchord-API aufruft. Sie benötigen einen API-Schlüssel von app.anchord.ai/signup.

Schreibt Anchord in meine CRMs?

Nein. Anchord ist strikt schreibgeschützt. Es liest Daten aus verbundenen Systemen (Salesforce, HubSpot, Stripe), um Identitätsgraphen zu erstellen, schreibt aber niemals zurück. guard_write gibt eine Entscheidung zurück – der Aufrufer führt den eigentlichen Schreibvorgang durch.

Mit welchen Systemen arbeitet Anchord?

Anchord verfügt über OAuth-Integrationen für Salesforce, HubSpot und Stripe. Sie können Datensätze auch über das Tool ingest_record oder die REST-API aus jedem beliebigen System übertragen.

Was passiert bei Mehrdeutigkeit?

Wenn resolve_* needs_review zurückgibt, bedeutet dies, dass mehrere Kandidaten-AnchorIDs mit ähnlicher Konfidenz übereinstimmten. Der Agent sollte anhalten, die Kandidaten einem Menschen präsentieren und ihn zur Anchord Review Queue leiten. Sobald dies aufgelöst ist, geben nachfolgende Aufrufe resolved zurück.

Wie hoch sind die Ratenbegrenzungen?

120 Anfragen/Minute pro Mandant. Batch-Endpunkte akzeptieren bis zu 200 Elemente (Auflösung, Schutz) oder 100 Datensätze (Ingest). Es gelten monatliche und tägliche Kontingente je nach Plan. Siehe docs/auth.md.



Lizenz

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