get_entity
Fetch an AnchorID (canonical entity) by UUID. Optionally include linked source records via the include parameter (links, source_records, or both).
Work out whether two records are the same company or person before an agent writes to a CRM — and get a blocked-or-allowed answer instead of a guess.
LABSCO SUMMARY
The value is in the middle state. When several candidates match with similar confidence the answer is needs_review with the candidates attached, which is the signal to surface them to a person instead of writing to the wrong record. guard_write extends that to the moment before a write: it evaluates and returns allowed or blocked with reasons, and performs no write itself, so the responsibility for acting stays where it belongs. Every response carries a request_id for tracing a decision back afterwards.
An identity resolution service reached over MCP. Companies and people resolve to a canonical AnchorID, source records link to it, and a pre-write check says whether a proposed write is safe. It is a thin proxy — matching and scoring happen on the hosted API.
An Anchord account and an API key from app.anchord.ai — created under Settings > API Keys and shown once. It is a Bearer token and every request is scoped to its tenant. Two ways to connect: locally with ANCHORD_API_KEY set and npx -y @anchord/mcp-server over stdio, from the npm package @anchord/mcp-server, currently 1.1.1, needing Node.js 20 or newer; or the hosted endpoint https://mcp.anchord.ai/mcp over streamable HTTP with the key in an Authorization: Bearer header and nothing installed at all. ANCHORD_API_BASE_URL overrides the default https://api.anchord.ai. A Dockerfile is included. Anchord never writes to your CRM or database — the write decision stays with the caller.
One command plus a key — ANCHORD_API_KEY=<YOUR_ANCHORD_API_KEY> npx -y @anchord/mcp-server
USE CASES
Resolve the company from its domain and name; ambiguous matches come back as needs_review with the candidates.
Resolve up to 200 rows in one call, each tagged with your own reference so results map back.
Run the pre-write check first — it returns allowed or blocked with reasons and writes nothing.
Fetch it with its links and source records, or export the merged golden record as a single object.
Ingest the record against its registered system and let it be matched to an AnchorID.
Unlink it from the wrong AnchorID and link it to the right one — both calls are idempotent.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
get_entityFetch an AnchorID (canonical entity) by UUID. Optionally include linked source records via the include parameter (links, source_records, or both).
get_entity_exportExport the golden record for an AnchorID. Returns the merged/canonical view of all linked source records as a single JSON object.
guard_writeEvaluation-only pre-write safety check. Verifies the AnchorID exists, confidence meets threshold, no unresolved conflicts, and at least one canonical link is present. Returns allowed/blocked with reasons. This tool does NOT perform any write — the caller decides whether to proceed.
guard_write_batchBatch pre-write safety check for multiple AnchorIDs (max 200). Each item needs a client_ref for correlation. Returns per-item allowed/blocked decisions with reasons. Evaluation-only — never writes.
ingest_recordIngest a single source record into Anchord. The record is matched to an AnchorID automatically. Requires a registered source (system). Wraps POST /ingest/batch with a single-item array.
link_source_recordCreate or reactivate a link between an AnchorID and a source record. Idempotent — calling twice returns the existing link.
resolve_companyResolve a company to an AnchorID using domain, name, city/state, or external identifiers. Returns status (resolved | needs_review | not_found), confidence score, the canonical AnchorID, match reasons, and any ambiguous candidates.
resolve_company_batchResolve multiple companies to AnchorIDs in a single call (max 200). Each item needs a client_ref for correlation and at least one identifying field. Ambiguous matches return status needs_review with candidate AnchorIDs.
resolve_personResolve a person to an AnchorID using email, name, company domain, or external identifiers (Slack/Google user IDs). Returns status (resolved | needs_review | not_found), confidence score, the canonical AnchorID, match reasons, and any ambiguous candidates.
resolve_person_batchResolve multiple people to AnchorIDs in a single call (max 200). Each item needs a client_ref for correlation and at least one identifying field. Ambiguous matches return status needs_review with candidate AnchorIDs.
unlink_source_recordSoft-delete the link between an AnchorID and a source record. Idempotent — calling on an already-unlinked pair returns 200.
BEFORE YOU INSTALL
11 tools when we connected. The hosted endpoint exposes the same 11 tools as a local install.
Of the 3 documented clients, 2 run the server on your machine and 1 connects to a hosted endpoint.
CONTEXT COST
Rated by the size of the 11 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
ANCHORD_API_KEY=<YOUR_ANCHORD_API_KEY> npx -y @anchord/mcp-serverhttps://mcp.anchord.ai/mcpAdd this hosted endpoint to your MCP client using the credentials listed under Requirements.
{
"mcpServers": {
"anchord": {
"command": "npx",
"args": [
"-y",
"@anchord/mcp-server"
],
"env": {
"ANCHORD_API_KEY": "<YOUR_ANCHORD_API_KEY>"
}
}
}
}{
"mcpServers": {
"anchord": {
"url": "https://mcp.anchord.ai/mcp",
"headers": {
"Authorization": "Bearer <YOUR_ANCHORD_API_KEY>"
}
}
}
}