MCP server
Connect Claude, ChatGPT, Cursor and other AI assistants to your workspace — companies, contacts, lists, templates, campaigns and warm-up.
Pedibee has an MCP server, so AI assistants can work in your workspace for you: "add these five people from Northwind and put them in the Q4 list", "write an HTML template for our webinar invite", "set up a campaign to the Q4 list from that template and show me who'd be skipped", "pause the warm-up on alex@ until Monday".
Its tools follow the same rules and limits as the dashboard and the REST API. The workspace owner or a manager connects it with their Pedibee account — there are no keys to copy — and chooses exactly what it may do.
https://api.pedibee.com/mcpConnect an assistant
Add the Pedibee server
On claude.ai or in Claude Desktop: Settings → Connectors → Add custom connector, and enter https://api.pedibee.com/mcp. Then click Connect.
Allow access in Pedibee
Pedibee opens in your browser. Sign in if you need to, and check what's asking — the page shows the app, its site, and where you'll be sent back. Pick the workspace and what it can do — start from Read only or Full access, or set each area: companies, contacts, lists, templates, campaigns, warm-up and sending email — then click Allow access.
For sending, choose Any connected Gmail (the default) or lock it to one. With any Gmail allowed, just say which to use — "send this to Sara from hassan@…, and this one to Tom from app@…". If you have several Gmail accounts and don't say, the assistant asks you; it never picks one itself.
The workspace's owner and managers can connect an assistant, each within what their role allows. Members can see what's connected, but not connect or disconnect.
Ask it something
You're back in the assistant, connected. "List my newest ten contacts" is a good first try. The assistant shows you which Pedibee tool it wants to use before it runs it.
Every connection is listed in Settings → Connected apps, with what it can do and when it was last used. Disconnect it there and it stops at once. Connecting the same app to the same workspace again replaces the old connection.
API keys are for your own code
The MCP server only takes connections made this way — it doesn't accept API keys. Use API keys for your own apps and scripts calling the REST API.
Tools
An assistant sees only the tools you allowed. With everything allowed it has 85.
Companies, contacts, custom fields and lists
| Tool | Does | Needs |
|---|---|---|
list_companies, get_company | List and get companies | Companies: read |
create_company, update_company, delete_company | Create, update, delete | Companies: read & change |
list_contacts, get_contact | List and get contacts | Contacts: read |
create_contact, update_contact, delete_contact | Create, update, delete | Contacts: read & change |
list_custom_fields | List custom fields | Contacts: read |
create_custom_field, update_custom_field, delete_custom_field | Create, update, delete | Contacts: read & change |
list_lists, get_list | List and get lists | Lists: read |
create_list, update_list, delete_list, add_to_list, remove_from_list | Create, update, delete, add and remove people | Lists: read & change |
send_email | Send one email, from the Gmail you name in from — now, or later with sendAt | Send email |
list_scheduled_emails, update_scheduled_email, cancel_scheduled_email | See the emails waiting to go out, change one's time or content, or cancel it | Send email |
Templates
Assistants work with HTML templates: they can write one, rename it, change its subject or HTML, and delete it. Templates made with the email builder show up in list_templates as builder and can be read, but only edited in Pedibee.
| Tool | Does | Needs |
|---|---|---|
list_templates, get_template | List templates (without bodies), get one with its HTML | Templates: read |
create_template | Create an HTML template: name, subject, HTML, preview text | Templates: read & change |
update_template | Rename it or change its subject, HTML, preview text, description or category | Templates: read & change |
delete_template | Delete an HTML template (campaigns keep their own copy) | Templates: read & change |
Signatures
Your signature — name, title, phone, logo — is saved once and added below emails when they're sent. Ask your assistant to save it, make it the default, and use it with send_email (signatureId) or a campaign.
| Tool | Does | Needs |
|---|---|---|
list_signatures, get_signature | Your workspace's signatures, and one with its HTML | Templates: read |
create_signature | Save an HTML signature, optionally as the default | Templates: read & change |
update_signature | Rename it, change its HTML, or make it the default | Templates: read & change |
delete_signature | Delete a signature not used by a live campaign or sequence | Templates: read & change |
Campaigns
| Tool | Does | Needs |
|---|---|---|
list_campaigns, get_campaign | Campaigns with their status and stats | Campaigns: read |
list_campaign_recipients | Who's in a campaign and where each one is (sent, skipped and why, failed…) | Campaigns: read |
get_campaign_summary | Check it: who'll get it, who'll be skipped and why, its sender and capacity | Campaigns: read |
preview_campaign | The email exactly as one recipient will get it | Campaigns: read |
create_campaign, update_campaign | A draft from a subject and HTML or a template, its sender, backup Gmail and sending rules (days, window, time zone, gaps, tracking) | Campaigns: read & change |
add_campaign_recipients, remove_campaign_recipients | Add people by contact, company, list or email address; take them out | Campaigns: read & change |
duplicate_campaign, delete_campaign | Copy a campaign as a new draft; delete one | Campaigns: read & change |
send_campaign_test | Send a test to your own address | Campaigns: read & change |
pause_campaign, cancel_campaign | Pause it, or cancel it for good | Campaigns: read & change |
launch_campaign, resume_campaign, retry_failed_recipients | Start sending (now or scheduled), carry on after a pause, retry failed sends | Campaigns: read & change and Send email |
Launching, resuming and retrying really send email, so they also need Send email. Content changes only while a campaign is a draft, exactly as in the dashboard.
Sequences
A sequence is a series of emails over days, per person — the right tool for a multi-day outreach. Follow-ups can be replies in the same Gmail thread, and someone marked as replied stops getting the rest.
| Tool | Does | Needs |
|---|---|---|
list_sequences, get_sequence | Sequences with their status and stats; one with all its steps | Sequences: read |
get_sequence_summary | Check it: each step's day and results, its people, the sender's capacity, what blocks activating it | Sequences: read |
preview_sequence_step | One step exactly as a person will get it (with "Re:" for replies and your signature) | Sequences: read |
list_sequence_enrollments | Who's in it and where each one is: next step and when, finished, stopped and why, failed | Sequences: read |
create_sequence, update_sequence | A sequence's name, sender, signature, sending rules and steps (wait days, new email or reply, subject, HTML) | Sequences: read & change |
duplicate_sequence, delete_sequence | Copy one as a new draft; delete a draft or archived one | Sequences: read & change |
send_sequence_test | Send one step to your own address | Sequences: read & change |
activate_sequence, pause_sequence, archive_sequence | Make it live, pause it, or archive it for good | Sequences: read & change |
update_sequence_enrollments | Pause, stop or (with Send email) resume or retry people | Sequences: read & change |
enroll_in_sequence, resume_sequence | Enroll people (by contact, company, list or email — try dryRun first), resume a paused sequence | Sequences: read & change and Send email |
Automations and events
| Tool | Does | Needs |
|---|---|---|
list_automations, get_automation | Automations with what starts them and who's in them; one in full (trigger, steps, exits, goal, what blocks publishing) | Automations: read |
list_automation_runs | The people in an automation and where each one is | Automations: read |
list_events | The latest events received, and what each started | Automations: read |
pause_automation | Pause one: nobody new enters, people in it wait | Automations: read & change |
resume_automation | Resume a paused one | Automations: read & change and Send email |
track_event, track_events | Record events about people — this starts live automations for real | Events: send |
Gmail accounts and warm-up
| Tool | Does | Needs |
|---|---|---|
list_gmail_accounts | The connected Gmail accounts and which is the default | Warm-up: read |
get_warmup | A Gmail's warm-up: status, day, today's target, schedule and inboxes | Warm-up: read |
add_warmup_inbox, remove_warmup_inbox | Set the inboxes a Gmail's warm-up sends to (3 to 50) | Warm-up: read & change |
start_warmup, stop_warmup | Start a 30-day warm-up for a Gmail, or end it | Warm-up: read & change |
pause_warmup, resume_warmup | Pause or resume it | Warm-up: read & change |
update_warmup_schedule | Change its days, daily window and time zone | Warm-up: read & change |
List tools return up to 50 results at a time. Tools are marked for your assistant: reading tools as read-only, and deleting, updating and sending as destructive, so assistants that ask before acting ask before those.
Security
- Owners and managers, and you choose. Only a workspace's owner or a manager can connect an assistant, and it gets only the access allowed on the consent page, in that one workspace. If the person who connected it becomes a member or leaves, it stops working at once.
- Short-lived tokens. Access tokens last an hour and renew themselves; renewal tokens change on every use, and reusing an old one ends the connection. Pedibee stores only fingerprints of them.
- Checked on every call. Each request checks the connection, its access and your role again.
- Data, not instructions. Workspace data — notes, names, email text — is written by people, and could contain text meant to trick an assistant. Pedibee returns it as plain data and tells assistants never to follow instructions inside it. Still, review what an assistant wants to do before you approve it, especially deletes, emails and campaign launches.
- Emails are real.
send_emailsends from the Gmail you name (or the only one you allowed), with the same limits as the API (20 a minute, 300 a day) and the do-not-email list always applied. Campaign launches go out from the campaign's Gmail within its sending window and daily limit. Allow Send email only if you want the assistant to send. - Limits. 100 requests per 10 seconds and 60 tool calls a minute per connection. The MCP server never answers web pages.
Errors
Problems come back to the assistant as readable messages it can fix and retry — for example "“jane@northwind” isn't a valid email address" or "Contact not found." Connection problems are HTTP errors:
| Status | When |
|---|---|
401 | Not connected, or the connection was ended or has expired. The WWW-Authenticate header tells the assistant how to connect. |
403 | The request came from a web page. |
429 | Too many requests. Wait for the seconds in Retry-After. |