Developers

Give your assistant a phone number it can actually use.

LeadBind is an MCP server, so any AI that speaks MCP can work your leads. Ask it what needs your attention today, have it book the appointment for a time that is really open, and let it place the call from your own number. It is the same account, the same numbers and the same guardrails as the app, reached over JSON-RPC instead of a dashboard.

Create an API keyRead the docs
Endpointhttps://leadbind.org/api/mcp
32
tools
15
read
15
write
2
dial
Connect

Pick your AI. Two minutes, no SDK, no webhook to host.

Every client lands on the same server and the same account. Signing in never asks you to copy a secret, and a signed-in connection starts read only. A key carries exactly the scopes you gave it.

Claude

claude.ai and Claude Desktop
Sign inNo key to copy. Starts read only.
  1. Open Customize, then Connectors.
  2. Select the plus button, then Add custom connector.
  3. Paste the endpoint as the server URL and select Add.
  4. Connect it and sign in to LeadBind when the browser opens.
https://leadbind.org/api/mcp

On a Team or Enterprise plan an owner adds it first, under Organization settings, then Connectors, then Add, then Custom, then Web. Members then connect it from Customize. Claude Desktop uses the same connector screen; its config file is for local servers only.

Read from Claude's own documentation on 2026-09-30: support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp. Menus move; if a label differs, trust theirs.

Another client, or the terminal

Anything that accepts a remote MCP server can use the endpoint above with the same Authorization: Bearer header. The leadbind command line wires every AI client it finds on the machine in one go.

curl -fsSL https://leadbind.org/install.sh | sh && export PATH="$HOME/.leadbind/bin:$PATH"
leadbind login && leadbind connect

macOS and Linux. It installs to ~/.leadbind/bin. CLI reference.

Try it first

Prove the server is live before you connect anything.

The initialize handshake needs no key and no account. Run it now and read what comes back.

Request
curl -s -X POST https://leadbind.org/api/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize"}'
Response

200. The protocol version, the server's capabilities, and the instructions the model reads before it calls anything: where to start, which tool answers "what should I work on today", and the rule that it must check availability before it books a real person.

Send tools/call or tools/list to the same URL without a credential and you get a 401 carrying a WWW-Authenticate challenge that points at the OAuth discovery document. Nothing about an account is reachable unauthenticated.

32 tools

What your assistant can actually do.

15 read, 15 write and 2 dial, rendered from the definitions the server itself answers tools/list with. A key only ever sees the tools its permissions allow, so a read-only connection is never shown one it cannot call.

ToolWhat it doesPermissionIncluded in
list_leads
List leads
List the account's leads, newest first. Filter by pipeline stage, or find a lead by name, email or phone with search. Each lead comes back with its address and map coordinates when it has them. Returns next_offset when there are more; pass it back as offset for the next page. Use get_lead for one lead's full record.ReadEvery plan
get_lead
Read one lead
Read one saved lead in full: contact details, stage, notes, address, score, consent and do-not-call state, dial attempts, plus its recent calls (outcome, direction, duration and a short written summary, never a recording or transcript) and its appointments. Use after list_leads or get_next_actions when the user asks about a specific person.ReadEvery plan
list_calls
List recent calls
List recent calls for the account, newest first, with outcome, direction, duration, who called, the lead and appointment each call is linked to, and a short written summary of what was said with the caller's sentiment. Use for 'what happened on the phone today'. Recordings and transcripts are never returned. Returns next_offset when there are more; pass it back as offset for the next page.ReadEvery plan
list_appointments
List appointments
List the account's appointments in time order. By default, upcoming ones from now. Pass from and to to look up a past or future window, or leadId for one lead's bookings. Use for 'what is on my calendar' and 'when is my appointment with this person'. Returns next_offset when there are more; pass it back as offset for the next page.ReadEvery plan
get_call_metrics
Call performance metrics
Call performance over a period: total, connected, voicemail, and how many reached a real person. Reads the one canonical call vocabulary, so these numbers match the dashboard exactly.ReadEvery plan
get_next_actions
What to work on now
The agent's actual to-do list right now, in the order a person would take it: callbacks they promised and missed, real conversations that never got a follow-up, leads going quiet, leads nobody has touched, and appointments in the next two days. Call this when asked 'what should I do today', 'what needs attention', or at the start of a work session. Returns work to be done, not a data dump. Each item includes the lead id so you can act on it with other tools.ReadEvery plan
get_availability
Open booking slots
Open appointment slots for the account's booking calendar over the next two weeks, grouped by date. Call this BEFORE book_appointment so you offer a real time instead of guessing one. Pass calendar (a slug from list_calendars) when the account has more than one.ReadEvery plan
book_appointment
Book an appointment
Book an appointment on the account's calendar. Requires a slot returned by get_availability. The customer must have agreed to be contacted; pass consent only when they actually have.WriteEvery plan
reschedule_appointment
Move an appointment
Move an existing appointment to a new time. The new time must be an open slot from get_availability. The customer is emailed the new time and the booking's Google Calendar event is moved. Get the appointmentId from list_appointments.WriteEvery plan
cancel_appointment
Cancel an appointment
Cancel an existing appointment. The booking is kept as canceled, its slot opens up again, and its Google Calendar event is removed. Only cancel when the customer or the account owner asked for it. Get the appointmentId from list_appointments.WriteEvery plan
add_note
Add a note to a lead
Add a note to a saved lead. The note is appended with a timestamp and every earlier note is kept, unlike update_lead, which replaces the notes. Get the leadId from list_leads.WriteEvery plan
create_lead
Create a lead
Create a new lead on the account. Pass an address when you have one and the lead appears on the door-mode map, so a business your assistant found on a map becomes a stop a rep can walk to.WriteEvery plan
update_lead
Update a lead
Update a saved lead: its contact details, its pipeline stage, its notes, or its address. Only the fields you send are changed; everything else is left alone. Get the leadId from list_leads.WriteEvery plan
find_businesses
Find businesses
Search Google Maps for businesses in a place and save them to the account as leads, with their street address so they appear on the door-mode map. This one costs credits, so it works in two steps: call it first to get the price and the balance, then call it again with confirm set to true to actually run it. Available on every paid plan; each account's first 25 results are free. Set enrich to also read each business's website for what they do and a contact email, priced per site on top.WriteEvery paid plan, first 25 results free, then credits
list_lead_lists
List saved lead lists
List the account's saved lead lists with each list's member count and a per-stage rollup (new, contacted, booked, sold, and so on). Use this to find a listId to pass to run_list, and to watch results roll up as calls complete.ReadEvery plan
list_calendars
List booking calendars
List the account's named booking calendars and their settings.ReadEvery plan
create_calendar
Create a booking calendar
Create a named booking calendar. Slugs are unique per account, so re-running with an existing slug is refused rather than silently duplicating.WriteEvery plan
set_availability
Set weekly availability
Set the account's default weekly availability and booking rules. `weekly` maps each weekday to its open windows.WriteEvery plan
list_drips
List drip sequences
List the account's drip sequences and their steps.ReadEvery plan
create_drip
Create a drip sequence
Create a drip sequence with its ordered steps. Steps send on a delay after enrollment. Creating a sequence does NOT enroll anyone.WriteEvery plan
get_account_config
Read account configuration
Read the account's pipeline stages, custom lead field definitions, and automation settings. Use before writing config so you patch rather than clobber.ReadEvery plan
set_pipeline_config
Replace pipeline stages
Replace the account's pipeline stage configuration. Read get_account_config first, because this overwrites the whole object.WriteEvery plan
create_lead_field
Add a custom lead field
Add a custom lead field definition. Appends to the existing definitions rather than replacing them.WriteEvery plan
place_call
Place an AI phone call
Place an outbound AI phone call from the account's own number. The AI agent holds the conversation, books the appointment, and the call lands in list_calls when it completes. Dial a saved lead by leadId (uses the consent already on file), or an ad-hoc number with phone, name and consent: true, passed only when the person agreed to be called, including by an AI voice. Calls are DNC-scrubbed, consent-gated and placed only between 8 AM and 9 PM in the lead's own time zone; a blocked call returns the reason, and outside those hours the next allowed time, instead of dialing.DialRight Hand or Front Desk Pro
run_list
Run AI calls against a list
Run outbound AI calls against a set of leads at once. Pass a listId (from list_lead_lists) to call every member of a saved list, or leadIds (from list_leads) to call a hand-picked set. Each call goes out from the account's own number, DNC-scrubbed, consent-gated, and only inside legal calling hours; leads that cannot be called are returned with the reason instead of being forced. Optionally cap this run with maxCalls. Returns a per-lead summary of what was placed and what was skipped. Outcomes (connected, qualified, booked) land as each call finishes; read them with list_calls, get_call_metrics, or list_leads.DialRight Hand or Front Desk Pro
request_payment
Request a card payment
Create a payment request the customer can pay by card, and return a pay-link URL to send them. Money goes to the account's own connected Stripe. Pass amountCents (e.g. 25000 for $250.00) and a short description; optionally a leadId to attach it to a saved lead. Requires the account's Stripe to be connected. If it is not, this returns needsConnect.WriteEvery plan
list_accounts
List reachable accounts
List the accounts this key can act on. A per-account key returns just its own account. An organization key (held by a team lead) returns every seat in the org, each with an account_id to pass as `account_id` on any GTM tool to act on that seat.ReadEvery plan
verify_lead
Verify a lead
Re-verify a saved lead's email deliverability and phone line-type (mobile, landline, or VoIP), optionally enrich it, and store the result on the lead. Returns the verification detail and skip_dial (true when the number is proven invalid or VoIP, so it should not be dialed). An unchecked leg reports "unknown", never a guess.WriteEvery plan
score_lead
Score a lead
Score a saved lead now and return the reasons. Gives the 1-99 priority score, the hot/warm/cold tier, the fit and intent dimensions, the A-D x 1-4 grid, the routing call, and the factor breakdown. This is a read: it computes and explains, and writes nothing. Fit is null when the account has no closed-deal history to judge source fit from, which is honest, not an error.ReadEvery plan
get_closing_brief
Closing call brief
Build the closing-call brief for a saved lead: who they are, what they need, their pain points, the deal state, a price recommendation with its inputs shown, a talk track, and the next step. Every line cites the record it came from; a lead with no activity yet returns empty sections on purpose rather than guesses. Returns the structured brief and a ready-to-read text version.ReadEvery plan
record_close_outcome
Record a won or lost deal
Record a deal as won or lost so the GTM learning loop can learn from a real close. A won REQUIRES deal_id (a closed deal this account owns) and amount_cents. Optionally attach the lead, the reason it was won or lost, the price offered, and the asset/play ids that were in play, so the win is attributed back to what produced it. Nothing is counted from a timer; only this closer-confirmed outcome moves the loop.WriteEvery plan
get_market_intel
Market intel
Real go-to-market intel distilled from this account's vertical: per-source win rates, price anchors by tier, winning hooks, and losing patterns, all counted from closed deals (never guessed or competitor data). Pass an asset_type to also get the current winning assets of that kind. Returns available:false when not enough deals have closed yet.ReadEvery plan

Every argument and return shape is in the tool reference. Each tool call is an ordinary JSON-RPC tools/call, so the command line and a plain curl reach the same tools.

Auth and safety

What the AI can do, and what it never can.

Your assistant works as you, inside limits the server enforces. None of these are promises in a prompt.

It can
  • Read your leads, call outcomes and the short written summary of each call, appointments, open times and call metrics.
  • Create and update leads, and book a real appointment. Booking needs the customer's consent to be passed, and the server tells the model never to infer it.
  • Set up calendars, weekly availability, follow-up sequences, pipeline stages and custom fields. Creating a sequence does not enroll anyone.
  • Create a card pay link for a customer. The money goes to your own connected payment account.
  • Place a call or run a list, only if the connection holds the dial permission on a plan that can call out. Blocked numbers come back with the reason instead of dialing.
It never can
  • Return a call recording, a transcript or raw audio. That is stripped at the exit of the server on every tool, at every permission.
  • Delete anything. There is no delete tool.
  • Reach another account. Only a team lead's organization key can act on the seats inside its own organization.
  • Create, read or change a key, see a card number, or change your LeadBind billing.
  • Spend on a search without two steps. find_businesses returns the price and your balance first, and only runs when called again with confirm set to true.
Sign-in and keys

Two credentials reach the same server. A signed-in connection uses OAuth: the client finds the sign-in flow itself from the discovery document and is tied to your account by a verified email. An API key starts with lb_live_, is shown once, and only its hash is stored.

A bad or missing credential is always HTTP 401, and a permission the connection lacks is 403 with nothing run. A key cannot be upgraded, you can hold ten active keys, and revoking one takes effect at once.

Limits and record
Read tools240 calls per 60 seconds
Write tools60 calls per 60 seconds
Dial tools10 calls per 60 seconds

Limits apply per credential. Every write and dial tool accepts an idempotency_key, so a retry after a timeout returns the first result instead of writing or calling twice. Each call is logged with the tool, the permission, the outcome and which credential made it, and never with the arguments. You can see that record on the AI Access page.

Plans

Every plan works your leads. Dialing is a real phone call.

29 of the 32 tools work on every plan, so any AI can log and work your leads. The 2 dial tools spend money and reach a person, and find_businesses spends credits, so those need a plan that can call out. Dial is granted on its own, never bundled into write.

Right Hand
$20/mo

Everything above, plus the dial tools and find_businesses. A dedicated number of your own, 60 talk minutes included, then $0.25 a minute. It takes your calls and makes calls for you.

A business search is $0.10 a result with a $1.00 minimum, billed from credits.

Get Right Hand
Front Desk Pro
$200/mo

The same tools for a business front desk: 750 minutes included, $0.50 a minute after included, and calls that go back to your leads.

Front Desk at $100 a month answers calls but does not place them, so the dial tools are refused on it.

Get Front Desk Pro

There are no unlimited minutes on any plan. Widen a signed-in connector, or create a key with dial, on the AI Access page. Plans able to call out today: Right Hand and Front Desk Pro.

Reference

Everything else.

AI access overview
What it is and why it exists.
Connect an assistant
The two-minute walkthrough.
Tool reference
Every argument, every return.
Keys and scopes
Creating, scoping, revoking.
Command line
Install, login, connect, today.
What we send
What leaves LeadBind, and what never does.