Bring your own agent to LeadResponse.
Connect Claude, Grok Bot, ChatGPT, Cursor, Codex or any other MCP client to your account. Ask it how your campaigns are doing, have it audit your setup, and build or tweak campaigns and response agents by describing what you want. It shows you every change before it makes it, and it can never place a call or send a text.
What it is
Your LeadResponse account, as tools your AI can use
The LeadResponse MCP server is a standard Model Context Protocol endpoint. Point an MCP client at it, sign in, and the assistant can work with the same campaigns, agents, leads and analytics you see in the dashboard.
Reads your real account
Campaigns, response agents and their call flows, team, numbers, leads, the call queue and call analytics. No exports, no copy and paste.
Changes through a preview
If you allow changes, the agent proposes each one, shows you exactly what will happen, and applies it only after you say yes.
Scoped and masked
Access reaches your main account only, never a teammate's workspace. Lead phone numbers show the last 4 digits and secrets are never returned.
What an agent can do
The tools, grouped by job
These are the real tool names your client will list. Write tools only appear when you tick a write permission while connecting.
Monitoring and analytics
Call and lead numbers for any date range up to 180 days, computed from call and lead records.
call_stats
Calls, texts, pickups, pickup rate, voicemails, replies, bookings, transfers and conversions, split by campaign, day, channel or rep.
attempt_curve
Is the third call working? Pickup and reply rates by position in the follow-up sequence.
funnel_overview
Every campaign side by side for the same date range.
compare_periods
Two date ranges compared, for the account or one campaign.
get_daily_series
Day-by-day activity and outcomes in your account timezone.
campaign_funnel_stats
Leads received per campaign and where they ended up: reached, booked, transferred, callbacks.
list_revisions
When an agent or campaign config changed, so results can be read before and after a change.
Audits
Deterministic checks that only read. Each finding is a blocker, a warning or a note, blockers first.
audit_account
The whole account in one pass: campaigns, agents, numbers, integrations, tripwires, stuck leads and compliance.
audit_campaign
Is one campaign set up right? Agent, caller number or pool, hours, follow-up schedule, transfer and callback setup.
audit_agent
Script checks: flow issues, empty greeting, missing questions, merge fields your form never sends.
audit_numbers
Are any caller numbers getting burned? A proxy from your own calls: dials per day and answer-rate drops.
audit_stuck_leads
Leads in follow-up with no next touch, overdue touches, long holds and missed callbacks.
audit_compliance
Reports compliance settings and signals, such as missing consent records or missing lead timezones. Never changes them.
get_tripwire_status
The bad-traffic tripwires' current values against their thresholds.
audit_form_mapping
Checks the field names your sender posts against the campaign's field mapping and the fields the agent uses.
audit_integrations
Calendly and GoHighLevel connections, and booking links that will not book.
Your account, campaigns, agents and leads
The same records you see in the dashboard, with contact details masked.
whoami
Which account this connection reads, its timezone and what it is allowed to do.
get_account_overview
One-call snapshot: campaigns by status, agents, numbers, recent leads, connected calendars.
list_campaigns / get_campaign
Every campaign and its full settings: agent, number or pool, hours, retry schedule, routing.
list_agents / get_agent
Response agents in full: voice, rules and the call flow with its qualification steps.
list_call_templates
The built-in call templates a new agent can start from.
list_team / list_numbers
The reps on a campaign team, and your caller numbers and pools.
list_leads / get_lead
Leads with their state, history and call attempts. Phone shows the last 4 digits.
get_queue
The live call queue: who is waiting, who is mid follow-up, who is on a call now.
get_compliance
Your DNC list and suppression counts, masked. Needs the compliance box ticked when connecting.
how_it_works
How calling hours, retries, routing, lead states and metrics work, from the rules the system enforces.
Build and tweak campaigns
Describe a campaign in plain words and get one preview of the whole thing. New campaigns are always drafts.
get_build_options
What the account has to build with: voices, templates, numbers, pools, reps, calendars, schedule presets.
propose_build_campaign
A whole new campaign from your brief: agent, script, hours, follow-up schedule, number, team and calendars.
propose_update_campaign
Change a campaign's name, agent, number or pool, hours, retry schedule, routing and more.
propose_clone_campaign
Copy a campaign and its team into a new draft.
propose_set_campaign_status
Set a campaign live, paused or draft. Going live is refused while the audit finds a blocker.
propose_archive_campaign
Archive a campaign, or delete it if it never had a lead.
propose_create_test_lead
Add a paused sample lead to check merge fields and routing. It is never called or texted.
Agents, team and numbers
Tune how your response agents talk and who they route to.
propose_create_agent
A new agent from a call template, a copy of another agent, or the account default.
propose_update_agent
Edit an agent's name, voice, rules, voicemail, texts and call flow, or make small edits to the flow.
propose_add_agent_rule
Add one plain-words house rule, for example: never quote prices.
propose_delete_agent
Delete an agent no campaign uses. Refused for the account default.
propose_add_team_member / propose_update_team_member / propose_remove_team_member
Manage the reps on a campaign team: weight, hours, booking link, notifications.
propose_create_pool / propose_assign_number
Group numbers you already have into a pool. Never buys a number.
propose_set_outreach_paused
Pause or resume all outreach on the account. New leads still queue while paused.
Lead actions
A separate permission from settings changes.
propose_lead_action
Stop, pause or resume one lead, add its number to DNC, or close a held lead without calling. It can never call, text or reschedule a lead.
propose_add_dnc
Add a number to your Do Not Call list. Removing one is dashboard-only.
Confirm, cancel and undo
The second half of every change.
apply_change
Carries out a preview. Takes only the proposal id and a confirm, so the change cannot be altered after you saw it.
cancel_proposal / get_proposal
Throw a preview away, or show it again.
list_changes
Recent changes to agents, campaigns, team, pools and outreach pause, who made them, and which can be undone.
propose_revert
Undo a change from list_changes, itself shown as a preview first.
Connect your agent
Do it with your own agent
Add LeadResponse as a remote MCP server in the AI you already use. Clients that support MCP sign-in open a LeadResponse login, so there is no key to paste. Any other MCP client can use an API key.
Claude (claude.ai or Claude Desktop)
- Open Settings, then Connectors, and add a custom connector.
- Paste https://leadresponse.ai/api/mcp as the URL. Leave the OAuth client fields empty.
- Sign in to LeadResponse when asked and choose what to allow. Read access is ticked; changes are not.
- Ask Claude which LeadResponse account it is connected to.
Claude Code
- Add the server from your terminal:
claude mcp add --transport http leadresponse https://leadresponse.ai/api/mcp- In a Claude Code session, run /mcp, pick leadresponse, and approve in the browser window that opens.
Grok Bot
From a chat
- Ask Grok Bot to add a custom MCP server that is not in the catalog, at https://leadresponse.ai/api/mcp.
- Confirm, then finish the sign-in from the card it shows.
From the desktop app
- Open Connect apps and choose Add a custom connector at the bottom.
- Enter a Name, pick Type Remote HTTPS, and paste https://leadresponse.ai/api/mcp as the Server URL. Leave the OAuth Client ID empty.
- Choose Add plugin, then type @ in a chat to attach it.
Never paste an API key into an ordinary chat. If a key is ever needed, enter it in the secure secret request.
ChatGPT
- Use ChatGPT on the web. Go to Plugins, select the plus button, then Add custom MCP server.
- Enter a name. Under Connection, paste https://leadresponse.ai/api/mcp as the Server URL.
- Set authentication to OAuth, review the risk warning, and create it as a plugin.
- Install it, then type @ in a conversation and select the plugin.
OpenAI's guide says to use ChatGPT on the web, and workspace permissions may decide who can add a custom server.
OpenAI Codex
- Add the server. The Codex CLI, the Codex IDE extension and the ChatGPT desktop app share this setting.
codex mcp add leadresponse --url https://leadresponse.ai/api/mcp- Sign in, because this server uses OAuth:
codex mcp login leadresponseYou can also add it in the ChatGPT desktop app or the IDE extension: Settings or the gear menu, MCP servers, Add server, give it a name, choose Streamable HTTP, paste the URL, save, and Authenticate if it asks. Or add it to ~/.codex/config.toml:
[mcp_servers.leadresponse]
url = "https://leadresponse.ai/api/mcp"To use an API key instead, Codex can read a bearer token from an environment variable with bearer_token_env_var.
Cursor
- Add this to ~/.cursor/mcp.json for all projects, or .cursor/mcp.json for one project:
{
"mcpServers": {
"leadresponse": {
"url": "https://leadresponse.ai/api/mcp"
}
}
}- Sign in to LeadResponse when Cursor asks. Cursor supports OAuth for servers that require it.
You can also add MCP servers from Cursor's Customize page. To use an API key instead of sign-in, add a headers entry that sends Authorization: Bearer with your key, read from an environment variable.
Any other MCP client
- Add a remote MCP server (Streamable HTTP) with the URL https://leadresponse.ai/api/mcp.
- Sign in with OAuth if the client supports it. Otherwise, in LeadResponse open Settings, then Agent access, create an API key with the permissions you want, and send it as a Bearer token in the Authorization header.
- Keys can be revoked from the same page at any time.
Only the account owner or an account-wide admin can approve a connection or create a key. Every connection reads your main account, and you can see and revoke it from Settings, Agent access.
Things to ask once you are connected
Each one maps to tools that exist today. Swap in your own campaign names.
“Audit my LeadResponse account. List the blockers first, and for each one tell me which campaign or agent it affects and what would fix it. Don't change anything.”
Uses: audit_account, then audit_campaign or audit_agent for detail
“Give me a morning check: are any tripwires close to their thresholds, is any caller number getting too many dials, and are any leads stuck in follow-up?”
Uses: get_tripwire_status, audit_numbers, audit_stuck_leads
“Compare the last 7 days with the 7 days before, per campaign: pickup rate, conversions and conversion rate. Say which timezone the dates are in.”
Uses: funnel_overview for each week, or compare_periods per campaign
“Is the third call worth it? Show pickup rate by call number for my Solar campaign over the last 30 days.”
Uses: attempt_curve
“Build a new campaign for roof replacement leads. The agent should confirm they own the home, ask how old the roof is, and book an inspection on Mike's calendar. Call weekdays 8 AM to 8 PM. Ask me anything you need, then show me the plan before creating it.”
Uses: get_build_options, propose_build_campaign, then apply_change after your yes
“Add a rule to the agent on my Mortgage campaign: never quote rates, say the loan officer will go over that. Show me the preview first.”
Uses: propose_add_agent_rule, then apply_change after your yes
“Change the follow-up on my Auto campaign to five calls over two days and turn on stop on voicemail. Run the audit on the result before I approve.”
Uses: propose_update_campaign (its preview carries audit findings)
Build and tweak prompts need Change settings ticked when you connect. Without it, the agent can still read, audit and report, and will point you to the dashboard page for the change.
Use case
A second set of eyes on every campaign
You do not have to open the dashboard to know whether things are working. Ask your agent, in the tool you already have open.
Is anything broken?
audit_account checks every campaign, agent, number and integration and lists blockers first.
Did my change help?
list_revisions shows when an agent or campaign changed, and compare_periods puts the before and after side by side.
Are leads slipping?
audit_stuck_leads and get_queue show leads with no next touch, overdue touches and who is waiting right now.
Are my numbers healthy?
audit_numbers and get_tripwire_status flag heavy dialing, answer-rate drops and bad-traffic signals.
Audits and analytics only read. When an audit finding has a fix, the agent can name the change tool for it, but nothing changes until you ask for it and approve the preview.
Safety and control
You stay in charge of every change
These rules are built into the server, so they hold no matter which AI client is connected.
Read-only unless you say otherwise
When you connect, the read boxes are ticked and the write boxes are not. Change settings (config:write) and Update leads (leads:write) have to be ticked on purpose. Compliance records are also off until you tick them.
Every change is previewed first
A propose_ tool runs the change inside a transaction that is always rolled back, so every dashboard rule and ownership check runs and nothing is kept. The preview carries the summary, the before and after, the real-world effects and the audit findings. The server only applies a stored preview by its id with an explicit confirm, and the agent is instructed to show you the preview and wait for your yes.
Previews expire in 15 minutes
A preview that sits too long expires. apply_change is also refused if the preview was canceled or if anything it touches was edited since you saw it, so the agent has to propose again.
New campaigns start as drafts
Built and cloned campaigns are created as draft and cannot call or text anyone until set live. Going live is refused while the audit finds a blocker. Test leads are paused and never called.
It cannot call, text or email anyone
No tool can place or reschedule a call, send a text, or send an email. Our test suite proposes and applies every write tool with the queue, network calls, email and raw sockets wired to fail the test if anything is sent.
Hands off billing, compliance and secrets
No connection can buy or release numbers, change billing or pricing, change consent, recording disclosure, screening or calling-hours behavior, remove DNC entries, or show secrets, recordings or unmasked contact details.
Every change is logged, most can be undone
Each applied change is recorded with its before and after in the same transaction; if the record cannot be written, nothing changes. Campaign, agent, team, pool, status and outreach pause changes can be undone with propose_revert. Lead stops, DNC adds, agent deletes and archiving a campaign that had working leads cannot.
You can see every call it makes
Settings, Agent access shows the connected apps and keys, and a Recent activity log of the last 100 tool calls with who made them. Revoking an app or key cuts it off on its next call.
| Permission | What it allows | Default |
|---|---|---|
| config:read | See campaigns, response agents, call flows, team and phone numbers | On |
| analytics:read | See call and funnel analytics | On |
| integrations:read | See integration status and run account and campaign audits | On |
| leads:read | See leads and call outcomes, contact details masked | On |
| compliance:read | See your DNC list and suppression log, masked | Off |
| config:write | Change settings: campaigns, agents, call flows, team and numbers, after a preview you approve | Off |
| leads:write | Update leads: stop, pause or resume a lead and add numbers to DNC, after a preview you approve | Off |
A third write permission, staff:write, exists only on LeadResponse support keys and is never offered to a customer connection. Changes made by support show in your change history as LeadResponse support.
The server also tells the agent to treat lead submissions and call transcripts as data, never as instructions, so a lead cannot talk your agent into changing your account.
FAQ
Questions about agent access
What is MCP?
MCP, the Model Context Protocol, is an open standard that lets an AI assistant such as Claude, Grok Bot or ChatGPT use tools in another product. LeadResponse runs an MCP server at https://leadresponse.ai/api/mcp, so an assistant you already use can read your LeadResponse account and, if you allow it, change settings after you confirm.
What does bring your own agent mean here?
Instead of learning another dashboard feature, you use the AI assistant you already work in. You ask it in plain words to check how campaigns are doing, audit your setup, or build and adjust campaigns and response agents, and it does that through the LeadResponse MCP tools.
How do I connect Claude to LeadResponse?
In claude.ai or Claude Desktop, open Settings, Connectors, add a custom connector with the URL https://leadresponse.ai/api/mcp, then sign in with your LeadResponse login and choose what to allow. In Claude Code, run: claude mcp add --transport http leadresponse https://leadresponse.ai/api/mcp, then run /mcp to sign in. Only the account owner or an account-wide admin can approve a connection.
Can I use an MCP client other than Claude?
Yes. The endpoint is a standard remote MCP server, and this page has steps for Grok Bot, ChatGPT, OpenAI Codex and Cursor. Clients that support MCP sign-in can sign in with your LeadResponse login, and any other MCP client can connect to the same URL with an API key created in Settings, Agent access, sent as a Bearer token.
Can the agent place calls or send texts or emails?
No. No LeadResponse MCP tool can place a call, reschedule a call, send a text or send an email to anyone. New campaigns are created as drafts that cannot call, and test leads are paused and never called. Calling only happens through your live campaigns, the same way it does today.
How are changes confirmed?
Every change is two steps. The agent first calls a propose_ tool, which changes nothing and returns a preview with a summary, the before and after, and the effects. The server instructs the agent to show you that preview and ask, and to call apply_change with that preview's id only after you say yes. apply_change needs an explicit confirm and cannot alter the change. Previews expire after 15 minutes.
Is it safe to connect an AI to my account?
A connection is read-only unless you tick Change settings or Update leads when connecting. Contact details come back masked, secrets are never returned, and access reaches your main account only, never a teammate's workspace. Every change is previewed and confirmed, logged with its before and after, and listed in a Recent activity log you can review. You can revoke a connection at any time.
What can it change, and what can it never change?
With Change settings ticked it can build, update, clone, pause, set live and archive campaigns, create and edit response agents and their call flows, manage campaign teams and number pools, and pause or resume all outreach. With Update leads ticked it can stop, pause or resume a lead and add numbers to your DNC list. It can never buy numbers, change billing, change compliance settings, remove DNC entries, or show recordings, secrets or unmasked contact details.
Can I undo a change the agent made?
Most of them. Ask the agent for recent changes (list_changes) and it can propose an undo (propose_revert), which is itself a preview you confirm. Campaign, agent, team, pool, status and outreach pause changes can be undone. Lead stops, DNC adds, agent deletes and archiving a campaign that had working leads cannot be undone this way, and dashboard edits are changed back in the dashboard.
Will the agent's numbers match my dashboard?
Closely, not always exactly. MCP analytics are computed from call and lead records, while some dashboard tiles use running counters, so small differences are possible. Date ranges are whole days in your account timezone.
What does agent access cover?
It covers reading your account, audits, analytics and most campaign and agent settings. Some things, such as buying numbers, billing, compliance settings and integration credentials, stay in the dashboard on purpose.
Not a LeadResponse customer yet?
Agent access works on your own account once you are set up. Start with the demo: qualify, and our own AI agent calls you in about 60 seconds and books your time with the founder.
Get a demo