MCP server · Model Context Protocol
An MCP server for phone calls, SMS and your CRM
Lead Friendly runs an MCP server that lets ChatGPT, Claude or any MCP client make phone calls, send SMS and read and update CRM records through one account, under the same compliance checks a salesperson gets.
The calls are placed by the account’s own AI voice agents and the texts go out from its own number. An assistant is also held to one rule a salesperson is not: a marketing text or call needs a consent record on the contact. Everything it does, and everything it is refused, lands in a log the account owner can read.
Checked against the server code on 25 September 2026.
At a glance
- Account server
https://www.leadfriendly.com/api/mcp/v1— Streamable HTTP, JSON-RPC 2.0, an API key per assistant- Public server
https://www.leadfriendly.com/api/mcp— no key, questions about Lead Friendly only- Tools
- 38 on the account server (19 read, 8 write, 11 setup); 5 on the public server
- Works with
- Claude, ChatGPT (developer mode), Claude Code, and any MCP client that speaks Streamable HTTP
- Cost
- Free to connect. Texts and calls it places bill at your plan’s normal rates.
Two servers, two jobs
The account server
https://www.leadfriendly.com/api/mcp/v1
Works inside one Lead Friendly account: its contacts, deals, appointments, calls, AI agents and phone numbers. It authenticates with an API key that an owner or admin of the account creates, sent as Authorization: Bearer lf_live_… or X-LF-Api-Key: lf_live_….
For apps that only accept a URL, the key can go in the address instead: https://www.leadfriendly.com/api/mcp/v1/k/lf_live_…
The public server
https://www.leadfriendly.com/api/mcp
Answers questions about Lead Friendly itself — pricing, industries, whether it can do a job — and hands an interested prospect to the sales team. No key, no access to any customer’s data, and a rate limit per IP address.
Both speak Streamable HTTP: JSON-RPC 2.0 over POST, request and response, with no SSE stream.
The tools
A key’s scope decides which tools an assistant can see. A read-only key gets the 19 read tools; a read + setup key gets those and the 11 setup tools; a read + write key gets all 38. Tools marked Dealerships cover deals, F&I and the desk, and apply to car dealers only.
Read — 19 tools that change nothing
| Tool | What it does |
|---|---|
search_contacts | Find contacts by name, phone, email or company, with tag and status filters. Shows who is on do-not-call. |
get_contact | One contact in full: the timeline of calls, texts, appointments and notes, plus consent and opt-out status. |
list_deals | Vehicle deals on the desk by stage, with price, down payment, term and trade.Dealerships |
get_deal | One deal in full, including the documents still missing or unsigned and the lender's decision.Dealerships |
list_appointments | Upcoming appointments in date order, with the contact each one belongs to. |
list_calls | Recent calls: who called, which AI agent answered, the outcome and a short summary. Filter by callback needed or topic. |
get_call | One call's transcript, outcome and compliance flags, with a recording link that expires after five minutes. |
check_outreach_basis | Whether one contact may be texted or called for a given purpose, and on what grounds, without sending anything. |
get_org_status | The account's readiness to act: wallet, identity verification, 10DLC registration, calling window, live agents and numbers. |
list_ai_agents | The account's AI voice agents and whether each one is live. |
get_ai_agent | One agent's full configuration: scripts, greetings, knowledge, voice, booking and transfer setup. |
list_agent_templates | The industry templates a new AI agent can be built from. |
get_business_hours | Opening hours, time zone and dated exceptions such as holidays. |
list_campaigns | Outbound calling campaigns with status, schedule and outcome totals. |
list_workflows | Automations with their triggers, status and current enrolments. |
list_phone_numbers | The account's numbers, which agent each one rings, SMS capability and health. |
list_fi_products | The F&I product menu: GAP, service contracts, maintenance and the rest.Dealerships |
get_desk_defaults | The fees, tax rates and term and rate presets used to structure a deal.Dealerships |
search_available_numbers | Phone numbers available to buy, with the monthly cost. Buys nothing. |
Write — 8 tools that reach customers, records or money
| Tool | What it does |
|---|---|
create_contact | Create a contact. Dedupes on phone, then email, so running the same list twice is safe. |
update_contact | Change a contact's status, name, email or company, or add a tag. Phone numbers stay a human-only change. |
log_activity | Write a note, task or outcome onto a contact's timeline, marked as written by an AI agent. |
send_sms | Text a contact from the account's own number, after the compliance checks below. |
start_outbound_call | Have one of the account's AI voice agents call a contact, after the pre-dial checks below. |
book_appointment | Book an appointment. The booking service handles conflicts and sends the customer's confirmation. |
update_deal_stage | Move a deal to a new stage. The move is checked against the legal transitions and carries its filing and inventory side effects.Dealerships |
buy_number | Buy a phone number. The first call only quotes the cost; a second call with confirm:true buys it. |
Setup — 11 tools that build things switched off
| Tool | What it does |
|---|---|
create_agent_from_website | Build an AI voice agent from a template and the business's website. It starts in review and answers nothing. |
update_agent_script | Edit an agent's script, greeting, knowledge or voice. It cannot switch an agent on. |
assign_number_to_agent | Route one of the account's numbers to an agent. |
set_business_hours | Set the daily opening hours and time zone. |
create_campaign | Create an outbound calling campaign as a draft that dials nobody until a person turns it on. |
create_workflow | Create an automation, paused. |
pause_campaign | Pause a running campaign. There is no tool that starts one. |
pause_workflow | Pause a running automation. There is no tool that starts one. |
create_fi_product | Add a product to the F&I menu.Dealerships |
set_fi_product_active | Show or hide an F&I product. There is no delete.Dealerships |
set_desk_defaults | Change the store's fees, tax rates and deal presets.Dealerships |
Setup tools run on a read + setup key or a read + write key.
Public server — 5 tools, no key
| Tool | What it does |
|---|---|
get_pricing | Current plans and prices, read from the same source as the pricing page. |
list_industries | The industries Lead Friendly ships an AI agent template for, with an optional keyword filter. |
check_capability | Whether Lead Friendly can do a given job, answered from a curated list. |
book_demo | Request a demo for a prospect. Returns the self-serve booking link. |
create_lead | Hand an interested prospect to the Lead Friendly sales team. Never writes into a customer's CRM. |
Try Lead Friendly free
AI voice agents + CRM + TCPA-gated compliance. Free trial: 7 days or 30 AI voice minutes, whichever comes first. No card required.
Connect it
1. Create a key
An owner or admin opens Settings → API keys in Lead Friendly and creates one key per assistant, and picks its access: “Read only”, “Read + setup” (the setup tools too, but nothing that contacts a customer) or “Read + write” (everything, texting, calling and booking included). The key is shown once; Lead Friendly keeps only a hash of it. Next to it you get the connection address, https://www.leadfriendly.com/api/mcp/v1/k/lf_live_….
2. Claude
In Claude, go to Customize → Connectors, add a custom connector and paste the connection address as the server URL. On Team and Enterprise plans an Owner adds the connector first, under Organization settings → Connectors. Switch it on in a conversation from the + menu, under Connectors.
3. ChatGPT
On the web, with a Plus, Pro, Business, Enterprise or Education plan: Settings → Security and login, turn on Developer mode, then create a developer-mode app for a remote MCP server. Paste the connection address as its URL and choose No Authentication. ChatGPT asks you to confirm write actions by default.
The connection address contains the key, so treat it like a password. Only lf_live_ keys work in an address, and revoking the key in Settings → API keys kills the address at once. The safer choice for an address is a read-only key, or a read + setup key while the assistant builds your agent; use a read + write key only when you want the assistant to text, call or book.
4. Claude Code and any other MCP client
A client that can send a header should send the key as a header rather than in the address:
claude mcp add --transport http lead-friendly https://www.leadfriendly.com/api/mcp/v1 \
--header "Authorization: Bearer lf_live_…"Or try it from a terminal. The public server needs no key, so this works as written:
curl -s https://www.leadfriendly.com/api/mcp \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'The same call against your own account:
curl -s https://www.leadfriendly.com/api/mcp/v1 \
-H 'Authorization: Bearer lf_live_…' \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'The safety model
Letting an AI text your customers is only reasonable if the rules hold when the AI gets it wrong. These do, because they live in the server, not in the prompt.
The key decides the account
Each key belongs to one Lead Friendly account, and the server works out the account from the key, never from anything in the request. An id from another account is refused as not found, so there is no way to reach a second account’s data through the first account’s key.
Scopes an assistant cannot talk its way past
A read-only key is shown the 19 read tools and nothing else, and any other tool it names is refused. A read + setup key adds the 11 setup tools and still never sees the ones that text, call or book. Only an owner or admin can create keys. Make one per assistant: revoking it cuts that assistant off on its next request and leaves the others connected.
The checks a salesperson’s text or call gets
Every text runs the same chain as a text sent from the app: 10DLC registration, identity verification, do-not-call, STOP opt-outs, and 8am to 8pm in the contact’s own time zone, narrower for marketing in some states. Every call runs the pre-dial checks: wallet balance, identity verification, an E911 address on the calling number, the account’s AI calling window, limits on how often one number can be dialled in a day and in 14 days, and prior express written consent for AI marketing calls. The AI voice agent always says it is an AI, and nothing on the MCP server can turn that off.
One rule stricter than for people
A marketing text or call from an assistant needs an affirmative consent record on the contact. An assistant can call a message transactional, but that claim is checked against a real appointment, deal or earlier inbound message before it is believed.
Refusals are answers
A refused tool call comes back as ok:false with a stable code, the reason and the fix (COMPLIANCE_BLOCKED, INSUFFICIENT_WALLET, RATE_LIMITED and so on), so the assistant tells you what to change instead of retrying.
Ceilings that count the whole account
By default a key can make 120 tool calls a minute and 500 changes a day, and the whole account can send or dial 200 times a day across every connected assistant, so adding a second assistant does not double the reach. Refused attempts do not count against the daily ceilings.
A log of every call, refusals included
Settings → AI agents lists what connected assistants did and what they were refused: the tool, the result and the reason, plus the names the connected clients gave themselves. Arguments are stored only as a hash, so message text and customers’ phone numbers are not copied into the log.
Data it will not hand over
Credit-application identifiers, income and bureau scores are encrypted and never returned to an assistant. Call recordings come only as signed links that expire after five minutes.
What it builds starts switched off
Agents an assistant builds land in review, campaigns as drafts and workflows paused. No tool switches any of them on, deletes a record, releases a number or changes the plan. Buying a number takes a second call with confirm:true, after a person approves the quoted cost.
What it costs
- The public server is free and needs no account.
- Connecting an assistant to your account costs nothing, and there is no charge per tool call.
- Texts and AI calls it places are billed like any other text or call on the account: your plan’s included minutes and messages first, then the prepaid wallet at your plan’s rate. If the balance cannot cover a send, the tool refuses with INSUFFICIENT_WALLET instead of sending.
- A phone number bought through
buy_numbercosts $3 a month, charged to the wallet when it is bought and every 30 days after.
Plans and rates are on the pricing page, and the public server’s get_pricing tool returns them live.
Compared with wiring up Twilio and a CRM yourself
Twilio’s hosted MCP server, at mcp.twilio.com/docs, is built for coding agents: it searches Twilio’s API documentation, and Twilio’s docs say it “does not execute API calls on your behalf.” Twilio’s earlier Twilio Alpha MCP server (the @twilio-alpha/mcp package, announced in April 2025) does call Twilio’s APIs; it runs locally and signs in with your Twilio Account SID and an API key. For text messages to US numbers, Twilio sells a Compliance Toolkit that can hold messages during quiet hours and block opted-out or reassigned numbers.
None of those is a CRM, so an assistant built that way works across at least two servers, and joining a send to the customer’s record in the CRM — the deal, the appointment, the history — is code you write. Lead Friendly keeps the records, the texting, the AI calls and the checks in one account.
Twilio details checked on twilio.com on 24 September 2026.
Frequently asked
Is there an MCP server that can make phone calls, send SMS and update a CRM?
Yes. Lead Friendly's account MCP server, at https://www.leadfriendly.com/api/mcp/v1, gives an AI assistant 38 tools inside one Lead Friendly account. It can have one of the account's AI voice agents call a contact, text a contact from the account's own number, and search, create and update contacts, notes, appointments and deals. Every text and call runs the same compliance checks as one sent from the app, plus a consent-record rule that applies only to AI agents.
Does it work with ChatGPT and Claude?
Yes. In Claude, add a custom connector under Customize → Connectors and paste the connection address shown when you create a key. In ChatGPT on the web (Plus, Pro, Business, Enterprise or Education), turn on Developer mode under Settings → Security and login, create an app with that address and choose No Authentication. Claude Code and any other MCP client that can send a header connect to https://www.leadfriendly.com/api/mcp/v1 with Authorization: Bearer and the key.
Is it safe to let an AI agent text my customers?
The safety does not depend on the AI behaving well. A read-only key never shows the assistant the texting tool. With a write key, every text still runs 10DLC registration, do-not-call, STOP opt-out and quiet-hours checks in the customer’s own time zone, and a marketing text needs a consent record on file; calling a message transactional only works if a real appointment, deal or conversation exists. Refusals come back with the reason and the fix, every attempt is logged in Settings → AI agents, and an account is capped at 200 texts and calls a day by default.
What does it cost?
Connecting costs nothing and there is no charge per tool call. Texts and calls the assistant places are billed like any other text or call on the account: the plan's included minutes and messages first, then the prepaid wallet at the plan's rate. A phone number bought through the server costs $3 a month. The public product server is free and needs no account.
What is the difference between the two Lead Friendly MCP servers?
The public server at https://www.leadfriendly.com/api/mcp needs no key and only answers questions about Lead Friendly (pricing, industries, capabilities) or passes a prospect to the sales team. The account server at https://www.leadfriendly.com/api/mcp/v1 needs an API key and works inside that one account's CRM, phone numbers and AI agents.
Can the assistant spend money or change things without me?
Only in the ways the key allows. Texts and calls draw on the account’s wallet, so they need a write key and pass the checks above. Buying a phone number takes two calls: the first quotes the price and buys nothing, and the second must carry confirm:true after a person has approved it. Agents, campaigns and automations the assistant builds start switched off, and no tool turns them on, deletes records or changes the plan.
Keep reading
Connect Claude or ChatGPT to your CRM
The step-by-step version of the connection section above, written for an owner rather than a developer.
Developer reference
Endpoints, headers, discovery files and curl examples for both servers.
The compliance checks
What runs before any call or text leaves the platform, from anyone.
Pricing
Plans, included minutes and per-minute rates.
Try Lead Friendly free
AI voice agents + CRM + TCPA-gated compliance. Free trial: 7 days or 30 AI voice minutes, whichever comes first. No card required.