Model Context Protocol

The CRM MCP connector for Claude & ChatGPT

Bring your CRM into the AI you already use. agentlyleads ships a Model Context Protocol connector, so Claude and ChatGPT can search your contacts, draft personalized outreach, log conversations from a pasted thread, and run a pipeline report. Everything is scoped to your workspace, and every write is saved as a draft for your approval.

Connector URL
https://agentlyleads.com/api/mcp

Authorization happens in your browser on connect (OAuth 2.1). No API keys to copy around.

Connect Claude

  • claude.ai: Settings → Connectors → Add custom connector → paste the URL → Connect.
  • Claude Code: claude mcp add --transport http agentlyleads https://agentlyleads.com/api/mcp.

Connect ChatGPT

  • Settings → Apps & Connectors → Developer mode.
  • Add a connector with the URL above and approve the OAuth sign-in.

133 tools, one connector

Everything the assistant can do, grouped by area. Read tools answer questions; write tools save drafts and records for a human to approve.

Search & read · 61

  • Check an account's engagementaccount_engagement

    See everyone at a company who engaged, or which accounts are heating up or went quiet.

  • Performance report for a date rangeactivity_report

    Report the Performance page's numbers for a date range: weighted forecast by close month and stage, campaign outreach results, per-rep activity (emails sent, replies, calls and notes, tasks done, deal stage moves) and won/lost by lead source.

  • Stop emailing an addressadd_suppression

    Add an email address to the suppression list as a manual opt-out, so no campaign, sequence, automation or send reaches it, and flag matching contacts as opted out.

  • Comment on a conversationadd_thread_comment

    Post an internal comment on a shared inbox conversation, visible only to teammates.

  • Archive inbox conversationsarchive_thread

    Archive shared inbox conversations, or bring them back with `archived: false`.

  • Assign a website chatassign_chat

    Give a website chat an owner, or unassign it. `assigneeId` is a user id, 'me' for yourself, or null to put it back in Unassigned.

  • Assign inbox conversationsassign_thread

    Give one or more shared inbox conversations an owner, who is then responsible for the reply.

  • Attach a file to a recordattach_file

    Attach a file (up to 10 MB) to any record: a contact, lead, deal, company, quote, contract, task, note, case, campaign or offering. Send either base64 bytes (`contentBase64`) or a public https `url` the server downloads (preferred for anything over ~100 KB; base64 wastes the context window). `recordId` is the raw record id (no type prefix) or the record's externalId.

  • Book a meeting slotbook_slot

    Book a specific open slot from `get_availability` on a host's booking type. Requires `hostEmail` and `typeSlug` (same reason as `get_availability`) and the exact `startAt` instant `get_availability` returned — never a time you reconstruct yourself, or you risk booking the wrong instant. Confirmation-gated: call once WITHOUT `confirm` to get a summary of what would be booked, show it to the human, then call again with `confirm: true` only after they agree. The first call never books anything.

  • Cancel a booked meetingcancel_booking

    Cancel a booked meeting as the host.

  • Close or reopen a website chatclose_chat

    Mark a website chat handled for the whole team, or reopen it with `reopen: true`.

  • Create a meeting typecreate_booking_type

    Create one of your own meeting types: a booking page people use to pick a time with you.

  • Create a custom fieldcreate_custom_field

    Define a new custom field on contacts, leads, companies or deals. Owner only.

  • Create a tagcreate_tag

    Create a tag in the workspace, or return the existing one if a tag with that exact name is already there.

  • Create an automation workflowcreate_workflow

    Create an automation workflow that runs actions when a record matches a trigger.

  • Delete a file from a recorddelete_file

    Permanently delete one file (by the file id from `list_files`) and its stored bytes. Campaign files can only be removed before the campaign sends. Confirm with the user before calling.

  • Who to call nowengagement_list

    List the contacts, leads or companies in one engagement tab, people to call first: HOT (a hot-lead alert in the last 24 hours, such as several opens in an hour or a click on an offer page),

  • Open a record's full historyfetch

    Pull up one contact, company, or deal with its full activity timeline.

  • Find a contact by exact emailfind_contact_by_email

    Find the exact person behind an email address before you log or send anything.

  • Find likely duplicate contactsfind_duplicate_contacts

    Spot likely duplicate contacts so you can clean them up.

  • Get open slots for a booking typeget_availability

    Find open meeting slots for one host's booking type in a date range, rendered in the requested time zone. Requires both `hostEmail` and `typeSlug` — a meeting-type slug is unique per person, not per workspace, so a slug alone can't tell two hosts' `30min` apart. Call `list_booking_types` first if you don't already have these. Each slot's raw `startAt` instant is echoed back in backticks — pass that exact value to `book_slot`, never a value you reconstruct from the rendered local time.

  • Get a booked meetingget_booking

    Show one booked meeting: when, with whom, the booking form answers, guests, join link, status, and the CRM contact, lead and task it created.

  • Show a meeting type's hoursget_booking_hours

    Show the weekly hours and date overrides of one of your meeting types, and the timezone they are read in.

  • Show your meeting typesget_booking_type

    Show one of your own meeting types in full (by `typeId` or `typeSlug`), or omit both to list all of them, paused ones included, with the ids the other booking-type tools take.

  • Read a website chatget_chat

    Read one website chat conversation: the visitor's details, the site and page they were on, who is handling it, and the transcript oldest first.

  • Read a shared inbox conversationget_inbox_thread

    Read one conversation from the shared inbox: its owner, state, tags, waiting time and every message in order.

  • Get one record's full detailget_record

    Open one contact, lead, company, or deal with its full activity and related records.

  • Get one workflowget_workflow

    Read one automation workflow by id, including its exact conditions and actions as JSON.

  • Hand a website chat backhand_back_chat

    Step out of a website chat you are handling. Inside the site's team hours it goes back to waiting and the team is notified; outside them the AI agent picks it up.

  • List booking typeslist_booking_types

    List the meeting types people can book on this workspace's public booking pages, with each one's host, duration and public URL. Use this first to find the `hostEmail` and `typeSlug` that `get_availability` and `book_slot` need.

  • List booked meetingslist_bookings

    List meetings people booked through booking links, one page at a time.

  • List calendarlist_calendar

    See tasks, meetings, deal close dates, and busy time across any date range.

  • List website chatslist_chats

    List website chat conversations from the /chat queue, newest first.

  • List custom fieldslist_custom_fields

    List the workspace's custom field definitions for contacts, leads, companies or deals: each field's key, label, type, allowed options and whether it is required.

  • List files on a recordlist_files

    List the files attached to one record (contact, lead, deal, company, quote, contract, task, note, case, campaign or offering), newest first, each with a download link valid for one hour.

  • List a form's submissionslist_form_submissions

    List the leads a lead-capture form created, newest first, with the page they submitted from and the contact id if the lead was converted.

  • List shared inbox conversationslist_inbox_threads

    List conversations in the team's shared email inbox, one row per thread, with owner, open or closed state, tags and how long each has been waiting on a reply.

  • Find times to move a booking tolist_reschedule_slots

    Find open times a booked meeting can be moved to.

  • List suppressed email addresseslist_suppressions

    List addresses the workspace will not email, newest first, with the reason: UNSUBSCRIBE, MANUAL, BOUNCE (hard bounce) or COMPLAINT (marked as spam).

  • List tagslist_tags

    List every tag in the workspace with its id, color, and how many contacts, leads, companies and deals carry it. Takes no arguments.

  • List taskslist_tasks

    Review open and completed tasks with due dates and their linked records.

  • Read internal comments on a conversationlist_thread_comments

    Read the internal team comments on a shared inbox conversation, oldest first.

  • List the teamlist_users

    List the people in this workspace with their name, email, role, whether they are active, and who they report to.

  • Recent runs of a workflowlist_workflow_runs

    Show what a workflow recently did: one row per action run with status OK, SKIPPED (with the reason) or ERROR (with the message), newest first.

  • List automation workflowslist_workflows

    List the workspace's automation workflows with their trigger, conditions, actions, active state and run count.

  • Mark a website chat as spammark_chat_spam

    Move a website chat to Spam and block that visitor on the site for 30 days, so they cannot start a new chat.

  • Find who wants a lotoffer_interest

    Rank the buyers who replied to or clicked an offer, so you know who to call first.

  • Move a booked meetingreschedule_booking

    Move a booked meeting to a new time as the host.

  • Schedule appointmentschedule_appointment

    Book a meeting, all-day entry, or repeating series on the shared calendar.

  • Search everythingsearch

    Search across contacts, leads, companies, and deals all at once.

  • Search records of one typesearch_records

    List contacts, leads, companies, or deals, filtered by status, owner, or keyword.

  • Set a meeting type's weekly hoursset_booking_hours

    Replace the weekly hours of one of your meeting types.

  • Change availability on one dateset_date_override

    Change one date's availability on one of your meeting types, leaving the weekly hours alone.

  • Close, reopen, spam or trash inbox conversationsset_thread_status

    Close or reopen shared inbox conversations, or move them to or out of spam or trash.

  • Turn a workflow on or offset_workflow_active

    Activate or pause an automation workflow.

  • Snooze inbox conversationssnooze_thread

    Hide shared inbox conversations until a later time, or wake them now with `until: null`.

  • Tag or untag a website chattag_chat

    Add a tag to a website chat, or remove one with `remove: true`.

  • Tag inbox conversationstag_thread

    Add or remove tags on shared inbox conversations.

  • Take over a website chattake_over_chat

    Take a website chat over from the AI agent or the waiting queue so you are the one answering.

  • Change a meeting typeupdate_booking_type

    Change one of your own meeting types.

  • Confirm who you're connected aswhoami

    Confirm which user and workspace you're connected to.

Contacts & leads · 20

  • Add a noteadd_note

    Add a note to the workspace or attach it to a specific contact.

  • Convert a lead to a contactconvert_lead

    Turn a qualified lead into a contact, carrying all its history across.

  • Open a support casecreate_case

    Open a support case for an issue, including straight from a customer email.

  • Create a recordcreate_record

    Create a new contact, lead, company, or deal in seconds.

  • Delete a notedelete_note

    Remove a note that's wrong or no longer applies.

  • Delete a recorddelete_record

    Permanently remove a contact, lead, company, or deal and its history.

  • Generate an AI brief for a contactgenerate_brief

    Get an AI summary of a contact with a recommended next step and draft message.

  • Get one support caseget_case

    Open one support case with its severity, age, account, and full history.

  • List support caseslist_cases

    Work the support queue by status, severity, owner, or account, with overdue ones flagged.

  • List lead-capture formslist_lead_forms

    List the workspace's embeddable lead-capture forms with their fields, active state and submission count.

  • Log a communicationlog_communication

    Record a call, email, note, or meeting on a contact's timeline.

  • Log a LinkedIn, meeting, or call conversationlog_conversation

    Turn a pasted LinkedIn, meeting, or call thread into a clean timeline entry.

  • Create or modify a taskmanage_task

    Create, update, complete, or reschedule a task, including repeating ones.

  • Merge two duplicate contactsmerge_contacts

    Combine two duplicate contacts into one, keeping all of their history.

  • Tag recordstag_records

    Add one or more tags to up to 500 contacts, leads, companies or deals of the same type in one call.

  • Today's brieftoday_brief

    See what needs attention today: top priorities, pipeline snapshot, and follow-ups.

  • Remove tags from recordsuntag_records

    Remove one or more tags from up to 500 contacts, leads, companies or deals of the same type in one call.

  • Update a support caseupdate_case_status

    Move a case forward, change its severity, or hand it to someone else.

  • Update a noteupdate_note

    Revise a note's text or reattach it to a different contact.

  • Update a recordupdate_record

    Change details on a contact, lead, company, or deal.

Deals & catalog · 17

  • Create a contractcreate_contract

    Record what was agreed with a customer and when the term runs out, straight from a won deal.

  • Create an offeringcreate_offering

    Add a product, service, subscription, or contract to your catalog.

  • Add a pipeline stagecreate_pipeline_stage

    Add a stage to a deal pipeline, at the end or at a given position. Owner only.

  • Create a quotecreate_quote

    Build a line-item quote for a deal, contact, or company, priced from your catalog.

  • Get one contractget_contract

    Open one contract with its term, value, account, and how long is left to run.

  • Get one offering's detailget_offering

    Open one catalog item with its price, details, and the campaigns, deals, and quotes around it.

  • Get one quote's detailget_quote

    Open one quote with its line items, total, and who it is for.

  • List contractslist_contracts

    See every contract by status or account, soonest to expire first.

  • List offering categorieslist_offering_categories

    See how your catalog is organized by category and item count.

  • List offerings (catalog)list_offerings

    Browse your full product and service catalog, filtered by type or category.

  • List pipelines and stageslist_pipelines

    List the workspace's deal pipelines with their stages in board order, each stage's id, whether it counts as won or lost, and how many deals sit in it.

  • List quoteslist_quotes

    Review quotes by status, deal, or contact, with totals and expiry dates.

  • Sales pipeline reportpipeline_report

    See open and won deal value, win rate, and a stage-by-stage breakdown.

  • Update a contract's status or termupdate_contract_status

    Activate, expire, or cancel a contract, or reset its term when it renews.

  • Update an offeringupdate_offering

    Change the price, cost, or details of a catalog item.

  • Update a pipeline stageupdate_pipeline_stage

    Rename a pipeline stage, change whether it counts as won or lost, or move it to a new position on the board. Owner only.

  • Change a quote's statusupdate_quote_status

    Mark a quote sent, accepted, or declined as the buyer responds.

Email & outreach · 21

  • Cancel a paced batchcancel_drip_plan

    Call off a paced batch — every email still waiting goes back to your drafts.

  • Classify a received replyclassify_reply

    Record how an incoming reply landed so you can see which pitch is working.

  • Send a batch slowly, one at a timecreate_drip_plan

    Space a batch of finished drafts out over hours or days instead of sending them all at once.

  • Delete a drafted email (drafts only)delete_email_draft

    Discard an email draft you no longer want to send.

  • Write personalized outreach draftsdraft_outreach

    Have the AI write personalized outreach drafts, saved for your review before sending.

  • Check a paced batchget_drip_plan

    See what a paced batch has sent, what is still queued, and who replied before their turn.

  • Read one email in fullget_email

    Open any draft or sent email to check its content before it goes out.

  • List emails (drafts and sent)list_emails

    Find pending drafts, recover a draft, or review what a contact was sent.

  • List threads that are due a follow-uplist_followups_due

    Find conversations that went quiet and are due a follow-up nudge.

  • Pull prospects and context for an offeringlist_offering_prospects

    Pull every eligible contact for an offering with timeline context, ready to personalize.

  • List the workspace's From addresseslist_sending_identities

    See which verified addresses and mailboxes you can send email from.

  • List replies awaiting classificationlist_unclassified_replies

    See incoming replies you haven't sorted yet, newest first.

  • Find contacts suitable for an offeringmatch_offering_to_contacts

    Have the AI rank which contacts best fit an offering, with a reason for each.

  • Pause a paced batchpause_drip_plan

    Hold a paced batch mid-send without losing its place in the queue.

  • Reply in a website chatreply_to_chat

    Send a message to the visitor in a website chat, as you.

  • Draft a reply in an existing threadreply_to_email

    Draft a reply that continues the same thread, saved for your approval before sending.

  • Resume a paced batchresume_drip_plan

    Start a paused batch again, re-spaced from now so the backlog doesn't go out at once.

  • Send an approved draftsend_draft

    Send an approved email draft to the recipient once a person signs off.

  • Compose an email to a contactsend_email

    Compose an email to a contact, saved as a draft for approval, attachments included.

  • Include or exclude an outreach candidateset_candidate_decision

    Choose which matched contacts to include before drafting outreach.

  • Edit an email draftupdate_email_draft

    Edit a draft's subject, body, sender, or campaign before it's approved.

Campaigns & sequences · 12

  • Attach a file to a campaignadd_campaign_attachment

    Attach a file that goes out with every email in a campaign.

  • See how a campaign is doingcampaign_analytics

    Replies, interest and deals per campaign, with every buyer conversation and whose turn it is.

  • Create a draft campaigncreate_campaign

    Start a draft email campaign to a tag or a fixed list of contacts.

  • Create an email/task sequencecreate_sequence

    Build a multi-step outreach sequence of timed emails and tasks.

  • Delete a draft campaigndelete_campaign

    Remove a draft campaign that was never sent.

  • Enroll contacts in a sequenceenroll_in_sequence

    Start one or more contacts on a sequence's scheduled steps.

  • Get one campaign's detail and analyticsget_campaign

    Open a campaign with its audience, status, and delivery stats.

  • Get one sequence's detail and statsget_sequence

    Open a sequence with its steps and enrollment numbers.

  • Launch or schedule a campaignlaunch_campaign

    Launch or schedule a campaign, creating a draft per recipient for approval.

  • List campaignslist_campaigns

    Review all email campaigns and their status at a glance.

  • List sequenceslist_sequences

    Review all outreach sequences with their steps and enrollment counts.

  • Edit a draft campaignupdate_campaign

    Revise a draft campaign's copy or audience before it sends.

Admin & sync · 2

  • Check or run a HubSpot synchubspot_sync

    Check your HubSpot connection status or start a two-way sync.

  • Check or run a Zoho synczoho_sync

    Check your Zoho CRM connection status or start a two-way sync.

Questions

What is a CRM MCP connector?
It is a Model Context Protocol server that exposes your CRM as tools an AI assistant can call. Connect it once in Claude or ChatGPT and the assistant can search records, draft emails, log conversations, and report on your pipeline on your behalf.
Does it work with both Claude and ChatGPT?
Yes. The same connector is a Claude custom connector and a ChatGPT connector. It uses OAuth 2.1, so you sign in with your existing CRM account and approve access in your browser.
Can the AI send emails without my approval?
No. Every write is confirmation-gated and outbound emails are always saved as drafts. A human reviews and approves before anything is sent.

Already have an account? Connect it from Settings → AI connector.