Connect an assistant
Create a key, paste one config block, ask your first question.
Two minutes. You need a LeadBind account and an assistant that supports MCP, which today means Claude, ChatGPT, Cursor, and a growing list of others.
There are two ways in, and which one you use depends on your app, not on your preference:
- Sign in. Add
https://leadbind.org/api/mcpas a custom connector and log in when it asks. No key to copy, nothing to paste. It starts read-only, so it can answer questions about your account and cannot change anything or call anyone. - Paste a key. Create a scoped key and send it as a header. This is the only path today that can write or place calls, and it is the only path for apps that take a raw MCP config.
1. Create a key
Skip this if your app supports sign-in and reading is all you need.
In LeadBind, go to Setup, then AI access, or open it directly at leadbind.org/agent/ai-access.
- Name it after where it will live. "Claude on my laptop" beats "key 1" the day you have three of them and need to revoke one.
- Pick permissions. Start with Read only. You can create a second key with more later, and you should, once you trust what it is doing.
- Read the disclosure and check the box. It explains what leaves LeadBind. See What we send.
The key is shown once. Copy it before you close the page. If you lose it, revoke it and make another. That is not a hassle, it is the design.
Warning: Treat the key like your password. Anyone holding it can see your leads. Do not paste it into a group chat, a screenshot, or a support ticket. A key you have shown to anyone should be revoked.
2. Add it to your assistant
Claude, on the web or on the desktop
Both use the same screen, and neither needs a key.
- Open Settings, then Connectors.
- Choose Add custom connector.
- Paste the URL:
https://leadbind.org/api/mcp - Save, then click Connect on the new row and sign in to LeadBind when the browser opens.
That is the whole flow. The connection is bound to your LeadBind account by your verified email, and it lands read-only.
Note: Claude Desktop also has a Settings, then Developer, then Edit Config screen. That one only accepts a local command to run, so a hosted URL like ours does not belong there. Use Connectors.
ChatGPT
Connectors that call an external MCP server live behind developer mode. Turn it on in Settings, then Connectors, then Advanced, and add a connector pointing at https://leadbind.org/api/mcp. It uses the same sign-in flow as Claude, so there is no key field, and it lands read-only for the same reason.
Claude Code
One command, with the key in a header:
claude mcp add --transport http leadbind https://leadbind.org/api/mcp \
--header "Authorization: Bearer YOUR_KEY_HERE"
Cursor, and anything that takes a raw MCP config
Paste this and replace YOUR_KEY_HERE:
{
"mcpServers": {
"leadbind": {
"type": "http",
"url": "https://leadbind.org/api/mcp",
"headers": {
"Authorization": "Bearer YOUR_KEY_HERE"
}
}
}
}
Cursor reads .cursor/mcp.json in the project directory. For anything else, look for "MCP", "Connectors", or "Custom tools" in its settings.
Your terminal
The CLI is the same API with no browser at all:
curl -fsSL https://leadbind.org/install.sh | sh
leadbind login # paste your key
leadbind today
If you already have the CLI and are signed in, leadbind connect finds every AI client on the machine and wires LeadBind into each, then reports which ones it configured and which it skipped.
Restart the app if it does not pick the connection up right away. Most read MCP config only at startup.
What sign-in cannot do yet
A connector created by signing in starts with read permission, and today there is no screen that widens it. That is deliberate on the read-only default: logging in proves who you are, and it should not by itself hand an AI the ability to dial a stranger. It is a gap on the widening: if you want your assistant to book, create, or call, create a key with those permissions and use the header path above.
3. Confirm the endpoint is live
One curl, no key needed:
curl -s -X POST https://leadbind.org/api/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize"}'
It returns the protocol version and a short description of what the server is for. A call that needs a credential answers 401 with a WWW-Authenticate header pointing at the sign-in flow, which is exactly how a connector discovers where to log you in. See the API reference for the rest.
4. Ask it something
Start here, because it is the one that shows you what this is for:
"What should I work on in LeadBind today?"
That runs get_next_actions, which returns work rather than records: leads that went quiet, calls that connected but never got followed up, and what is on your calendar in the next two days.
Then try:
"Show me my calls from this week and which ones booked."
"What times do I have open Thursday?"
"Add Maria Lopez, her number is on the form she filled in, she called about a roof leak."
5. Combine it with your other tools
This is where it stops being a nicer dashboard.
If your assistant also has your calendar, your email, or your documents connected, ask for things that cross the line between them:
"Book my 2pm from LeadBind, then draft the confirmation email with directions to their address."
"Any lead I have called twice with no answer, put them on a list and remind me Monday morning."
LeadBind does not have an email integration. Your assistant does, and it can hold both at once.
Troubleshooting
"Invalid or missing API key": the key is wrong, revoked, or the word Bearer is missing before it. This comes back as HTTP 401, not as a normal result.
"This key lacks the 'write' scope": you connected read-only, or you made a read-only key, and then asked it to do something. Create a new key with the permission you need. Keys cannot be upgraded, on purpose.
It cannot see the tools at all: restart the assistant. Most apps read MCP config only at startup.
Claude Desktop's config file did not work: that screen runs local commands only. Add LeadBind under Settings, then Connectors, instead.
It booked at a time you are not free: your assistant guessed instead of checking. It is instructed to call get_availability first. If it keeps doing this, tell it to check your availability before booking, and see Availability to make sure your hours are right in the first place.
Still stuck: Get help.