Connect in one minute
Works with any MCP client. Pick yours below; the configuration is pre-filled and ready to copy.
https://mcp.herkend.nl/bedrijfsdata Sign in, or a key?
Almost no client needs a key: you click connect and sign in with your Herkend account. A terminal counts too — Claude Code opens your system browser. Only where there is no browser at all does a key come into it.
Sign in — no key
Claude · Claude Code · ChatGPT · Cursor · VS Code · Windsurf · Zed
You paste the server URL, click connect and sign in with your Herkend account. No secret ends up on your disk and there is nothing to store. The connection then appears in your account, which is also where you revoke it. In Claude Code you do the same with <code>/mcp</code> → <strong>Authenticate</strong>.
A personal key
curl · n8n · a server with no desktop · your own code
Where there is no browser to open, the client sends a key in the X-API-Key header. You create one yourself in your Herkend account, on the Herkend AI page. A key starts with hrk_mcp_ and is 57 characters long.
Only create a key if your client actually needs one. A key you never use is a secret sitting on your disk — exactly what signing in saves you.
This server is a proof of concept. You connect with a Herkend account; right now (September 2026) we charge nothing. There is a brake, though: 500 calls per hour and 50 MB of response per day per connection. A thorough location study costs ten to thirty calls, so a conversation never hits it; pulling the whole register does. The current limits are listed in limits.json, and they can change while this is a proof of concept.
Choose your client
These examples were checked against each client's documentation on 31 August 2026. Clients move their settings around regularly; if a screen differs from what is described here, follow your client's own documentation.
Claude
No key needed- 1 In Claude, go to Customize → Connectors
- 2 Click + and then Add custom connector
- 3 Paste the server URL:
https://mcp.herkend.nl/bedrijfsdata - 4 Leave the fields under Advanced settings empty and confirm with Add
- 5 Click Connect and sign in with your Herkend account
You sign in with your Herkend account. You create no secret and copy nothing: your client handles access and renews it, and you revoke the connection from your account.
The two fields under Advanced settings are OAuth client id and secret, not a header name and value. An API key entered there arrives as client_id, after which Claude looks for an OAuth server that does not exist. On a Team or Enterprise account the owner adds the connector first, under Organization settings → Connectors; members then find it under Customize.
Claude Code
No key needed- 1 Add the server with the command below, in your terminal and not inside a
claudesession - 2 Check with
claude mcp list: it shows! Needs authentication, which is expected - 3 Start a session with
claudeand type/mcp - 4 Pick herkend, press enter and choose Authenticate
- 5 Your browser opens; sign in with your Herkend account. The server then shows as
connected
In your terminal
claude mcp add --transport http herkend https://mcp.herkend.nl/bedrijfsdata You sign in with your Herkend account. You create no secret and copy nothing: your client handles access and renews it, and you revoke the connection from your account.
Since v2.1.186 you can skip the session: claude mcp login herkend. On a machine with no browser — a server over SSH — there are two routes: claude mcp login herkend --no-browser prints a URL you open elsewhere, or you pass a key when adding: claude mcp add --transport http herkend https://mcp.herkend.nl/bedrijfsdata --header "X-API-Key: YOUR_KEY". Add the server with --scope user to have it in every project rather than only this one.
ChatGPT
No key needed- 1 Turn on Developer mode in ChatGPT. Where that switch lives differs per account — search your settings for Developer mode; it sits under Apps or under Security and login
- 2 Create the server through Apps → Create
- 3 Paste the server URL:
https://mcp.herkend.nl/bedrijfsdata - 4 Pick the sign-in method, click Scan Tools and then Create
- 5 Complete the OAuth sign-in flow
You sign in with your Herkend account. You create no secret and copy nothing: your client handles access and renews it, and you revoke the connection from your account.
ChatGPT connects over OAuth, not with an API key. Our server supports OAuth 2.1 with PKCE. Connecting works in the browser only, not in the mobile app, and what you are allowed to do depends on your plan: OpenAI's help centre puts full MCP support in beta for Business, Enterprise and Edu, with Pro accounts limited to servers that read and fetch.
Cursor
No key neededIn ~/.cursor/mcp.json
{
"mcpServers": {
"herkend-bedrijfsdata": {
"type": "http",
"url": "https://mcp.herkend.nl/bedrijfsdata"
}
}
} You sign in with your Herkend account. You create no secret and copy nothing: your client handles access and renews it, and you revoke the connection from your account.
VS Code
No key neededIn .vscode/mcp.json in your project
{
"servers": {
"herkend-bedrijfsdata": {
"type": "http",
"url": "https://mcp.herkend.nl/bedrijfsdata"
}
}
} You sign in with your Herkend account. You create no secret and copy nothing: your client handles access and renews it, and you revoke the connection from your account.
To have the server available in every project, put it in the mcp.json of your user profile instead of .vscode/mcp.json — open it with MCP: Open User Configuration from the command palette.
Windsurf
No key neededIn ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"herkend-bedrijfsdata": {
"serverUrl": "https://mcp.herkend.nl/bedrijfsdata"
}
}
} You sign in with your Herkend account. You create no secret and copy nothing: your client handles access and renews it, and you revoke the connection from your account.
This path belongs to the Cascade agent. If you use the newer default agent (Devin Local), it reads .devin/mcp_config.json in your project, with "url" and "transport": "http" instead of serverUrl. Check which agent you are on before editing a file.
Zed
No key neededIn your Zed settings.json
{
"context_servers": {
"herkend-bedrijfsdata": {
"url": "https://mcp.herkend.nl/bedrijfsdata"
}
}
} You sign in with your Herkend account. You create no secret and copy nothing: your client handles access and renews it, and you revoke the connection from your account.
Prefer clicking? Settings → AI → MCP Servers → Add Server → Add Remote Server writes the same block for you. Leave the headers out and Zed starts the sign-in flow itself.
No client
Key requiredStraight JSON-RPC, to try it bare
curl -s -X POST https://mcp.herkend.nl/bedrijfsdata \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-H "X-API-Key: YOUR_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"herkend_market_saturation",
"arguments":{"branche":"kapper","gebied_code":"Amsterdam"}}}' Replace YOUR_KEY with your personal key. You create one in your Herkend account, on the Herkend AI page. You see it once, so store it right away.
Don't see your client?
MCP is an open protocol. Almost every client accepts a server URL with an Authorization or X-API-Key header. Check your client's documentation for adding a remote MCP server and use the URL above. If your client can sign in through a browser, leave the header empty; if it cannot, use a personal key.
What a key can do
A key grants no more than signing in: read-only access to the business directory — no accounts, no reports, no write access.
Read-only
The tools search, count and compare. No tool creates, changes or deletes anything.
The business directory only
Herkend accounts, user reports and the admin dashboard are separate. A key does not reach them.
In your name
You give every key a name — “laptop”, “n8n” — and see when it was last used and how often. Usually the question that matters: am I still using this?
Revoke in one click
A revoked key stops working within a minute. That verdict is held briefly in the server's memory, so no database query sits in the path of every call.
You see it once
Right after you create it. After that we cannot show it again: we do not store the key itself, only an irreversible fingerprint and the last four characters (hrk_mcp_…9f2c) to recognise it by in the list. Lost it? Revoke it and create a new one.
No forced expiry
You may set an expiry date, but it is not required. A key that expires on its own breaks a working setup at a moment you did not choose.
Does it work?
Ask this to verify the connection:
“How many hairdressers are there in Amsterdam, and how does that compare to the national average?”
A good answer states the count, the figure per 1,000 inhabitants, the deviation from the national average, and why it is not more certain: the count is nationwide, but the industry is matched on free text, so confidence never goes above 'midden'. If that last part is missing, the model is not reading the envelope and the answer is more confident than the data allows.
Unsure which word to use? You need not be: “kapper”, “kapsalon”, “barbier” and “barbershop” are one and the same entry. The dictionary holds 701 entries for 123 industries, and herkend_resolve_branche shows which terms were included and which were deliberately left out — for “kapper”, the barber-supplies wholesaler.
Protocol
| Transport | Streamable HTTP, stateless, JSON |
| Protocol versions | 2025-11-25 · 2026-07-28 |
| Authentication | OAuth 2.1 (PKCE) · X-API-Key |
| Limits | limits.json |