Entity Bind and Claude Desktop
Shipped integration
How you get a key
Create your workspace online and verify your email, then create your own read or resolve API keys, each shown once and revocable. Free includes 300 credits and needs no card. Paid subscriptions are purchased through Stripe in Billing, with applicable VAT and no automatic usage or overage charges.
host.example.com is a placeholder everywhere below, and a client configured against it will not connect. The hosted base URL is https://app.entitybind.com. Replace the placeholder with that origin; registry checks follow your activated plan.
The full-pipeline evaluation is arranged separately and is not activated by signup. Request it for your workspace; we confirm availability, sources and the start date before activation. It starts with a conversation about your file.
Create your workspace online, verify your email and create your own API key. Free includes 300 credits and shallow matching with no card; choose a paid subscription in Billing when you need registry checks.
Start freeOn this page
Getting Claude Desktop answering
Every block below is the shipped server's own configuration. The identifiers a running process actually reads — module paths, environment variable names, header names — are exact; the values beside them are placeholders, and the key under mcpServers is a display name that nothing on either side of the wire reads.
- 01
Local stdio, for a developer evaluating
The client launches the process and talks to it over pipes. The config holds database credentials directly, so this route belongs on a machine whose operator already has them. It serves one configured tenant and nothing else, at the Scale plan, and every call is metered against the key id mcp_stdio, so an evaluation on a laptop never arrives in a usage export looking like customer traffic. The module path and the environment variable names below are the engine package's own, verbatim: the process reads exactly those strings, which is why they carry the engine's name rather than the product's.
Local stdio, for a developer evaluating{ "mcpServers": { "entitybind": { "command": "uv", "args": ["run", "python", "-m", "resolvd.mcpserver"], "env": { "RESOLVD_DATABASE_URL": "postgresql+asyncpg://user@localhost/dbname", "RESOLVD_MCP_TENANT_ID": "ten_acme", "RESOLVD_ANTHROPIC_API_KEY": "sk-ant-..." } } } } - 02
Remote connector, for everybody else
Three actors in a fixed order. We register the connector once against your client's exact redirect URI — matched by exact string equality, so a trailing slash is a different URI and a wildcard is refused. Your tenant administrator then mints a single-use install ticket with an admin-scoped key; it appears in that response and nowhere else, works once, and expires in fifteen minutes. The person installing pastes the server URL into the client, the client runs the authorisation-code flow, and the consent page asks for the ticket.
Remote connector, for everybody else# 2. A tenant administrator mints the single-use install ticket: curl -sX POST "$BASE/v1/admin/oauth/install-tickets" \ -H "Authorization: Bearer $ADMIN_KEY" \ -H 'Content-Type: application/json' \ -d '{"tenant_id":"ten_acme"}' # 3. The person pastes the server URL into the client. PKCE is required and # S256 only; plain is refused permanently. Every client is public — there # is no client_secret and no field for one. - 03
Know what the ticket authorises
A tenant, not a person. The OAuth flow carries no end-user identity — no users, no passwords, no sessions and no upstream identity provider behind the consent page — so there is nobody for the authorisation server to authenticate at the consent step. Anyone holding a ticket authorises as that tenant, and the audit trail records which admin key minted it rather than who used it. Design the install around that. It is also why a ticket works once and expires quickly.
- 04
Tell the agent what an abstention is
Put two things in the agent's own instructions before it calls anything. An abstention is a successful answer rather than an error: the tool returns a ranked shortlist, a typed reason, the column that would have decided, and a review id, and it costs nothing. And a confidence number is read against the recorded evidence behind that particular decision, not as a universal score. Confidence bounds depend on the recorded evidence population; there is no universal score for every match. Read match_confidence_basis and the evidence. A 0.99 filter can return some v8 adjudicated matches while excluding valid identifier matches, so validate its coverage cost on your own inputs.
If a step above fails against your own deployment, send us what the client reported rather than working around it.
Talk to usWhat this route gets you
Every surface runs the same pipeline: the same cascade, the same confidence floor, the same evidence and the same credit rule. These are the things this route adds on top of it.
- The same eleven tools, the same pipeline and the same credit rule as every other surface.
- On stdio: an evaluation with no listener, no credential and no proxy to arrange, metered separately so it never shows up in your usage figures as customer traffic.
- On the connector: an install a non-developer can complete, with the grant written against the tenant the ticket names and an access token that is presented exactly as an API key is — verified by the same code path, so there is one implementation of "is this credential valid" rather than two.
What it will not do
4 properties to build around, rather than to meet later in a client's logs. Each one changes what an agent or a repository can safely do on this surface.
- 01
The OAuth discovery gap, and the one to read before you plan a connector install. An unauthenticated tool call comes back as an HTTP 200 tool error rather than a 401, because authentication happens per tool rather than in transport middleware. A client that waits for a 401 challenge to begin its OAuth flow will never begin it: it calls the tool, reads a tool error, and reports a broken server. OAuth works for clients you can point at the authorisation server, and for discovery-driven clients only where the MCP path and the API share an origin.
- 02
There is no dynamic client registration endpoint. We register your client by hand, once, against an exact redirect URI.
- 03
OAuth is resolve-only. Review authority — the credential that approves a merge — is never minted through a connector grant, because the credential that approves a merge should not be the credential that proposed it.
- 04
The stdio route is not a deployment. It holds database credentials in a config file and serves a tenant fixed at startup, so it belongs on an operator's own machine and nowhere else.
Check these integration limits before building. Create your Free workspace to inspect your own rows and keys; contact us if you need help choosing a supported integration shape.
Start freeThe other ways in
3 of the 6 are shipped integrations and 3 are patterns over the HTTP API. Every card says which kind it is, so you know what you are scoping before you open it.
Claude Code
Shipped4 steps · 4 named limits
Cursor
Shipped4 steps · 3 named limits
Snowflake
Pattern4 steps · 5 named limits
Salesforce
Pattern4 steps · 5 named limits
Python
Pattern4 steps · 5 named limits
Claude Desktop sits with Claude Code and Cursor on the same shelf: configure and call. If you are weighing a shipped integration against a pattern, the line between the two shelves is drawn on the hub.
Whichever surface you land on, the cheapest first move is the same: a few hundred of your own rows.
Start freeWhat to read next
The work this surface is installed to do, the method behind the answers it returns, and the terms those answers use. Each card names its own shelf.
- Use caseAI agentsA counterparty check before the agent acts, and a receipt for what it acted on.
- GuideEntity resolution for AI agentsAn agent about to pay or contract a counterparty needs a decision with a receipt, not a similarity score. Why abstention is the safe default for an autonomous caller, and what the MCP surface exposes.
- DefinitionMCP (Model Context Protocol)The Model Context Protocol is an open standard for connecting AI assistants to external tools and data, so that a model can call a system's real operations instead of being told about them in a prompt.
- DefinitionTool callA tool call is a single invocation of an exposed operation by a model or agent, with structured arguments and a structured result — the unit that is authenticated, metered and audited.
- DefinitionAbstentionAn abstention is a first-class 'we do not know' returned instead of a match: the record comes back unresolved, with a ranked shortlist, a typed reason and the column that would have decided it.
Start with a file, not an integration.
Create your workspace, verify your email and run your first company file. The Free plan needs no card. Create API keys in your workspace when you need an integration.
300 credits. No card.
For a guided review of your file, explore the Merge Safety Sprint →
Questions about Claude Desktop
Do I need OAuth to use the MCP server?
No. Try the static bearer path first: the rk_ key you create in your Entity Bind workspace is the whole credential, presented unchanged in an Authorization header on every request. A hosted MCP server is widely assumed to require OAuth, which makes a working bearer path read as broken unless somebody says otherwise. OAuth exists for the consumer-shaped install, where somebody pastes a URL into a client and will not paste an API key into a dialog. Both end up in the same place — an OAuth access token is verified by the same code path as an API key.
How do I get a key?
Request access with your company or project, input fields and jurisdictions; a file is optional. Create your Entity Bind workspace online and verify your email — self-service signup is available — and you sign in and create your own keys there: read or resolve scope, each shown once, revocable. The workspace starts on the Free plan, a shallow integration tier, and the base URL comes with it; paid plans are available in workspace Billing and registry checks follow your active plan. The planned 1,000-credit evaluation includes full research depth. The full-pipeline evaluation is arranged separately and is not activated by signup. Request it for your workspace; we confirm availability, sources and the start date before activation. Usage is tracked without automatic overage charges. Paid subscriptions are available in workspace Billing through Stripe.