Less Annoying CRM MCP by usefulapi
Read and write Less Annoying CRM contacts, notes, tasks, events, pipelines and groups.
Connect it
Settings → Connectors → Add custom connector
URL: https://less-annoying-crm.usefulapi.io/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://less-annoying-crm.usefulapi.io/mcp{
"mcpServers": {
"less-annoying-crm": {
"url": "https://less-annoying-crm.usefulapi.io/mcp"
}
}
}claude mcp add --transport http less-annoying-crm https://less-annoying-crm.usefulapi.io/mcp{
"servers": {
"less-annoying-crm": {
"type": "http",
"url": "https://less-annoying-crm.usefulapi.io/mcp"
}
}
}23 tools, verified live
lacrm_get_userread-onlyReturn the user who owns this API key — UserId, name, email and timezone. A cheap way to confirm the key works, and the UserId to use for AssignedTo. LACRM: GetUser.
lacrm_list_usersread-onlyList the users on the account that you can see (admins see all), with their UserIds — needed to assign contacts, tasks or filter by owner. LACRM: GetUsers.
lacrm_search_contactsread-onlySearch (or list) contacts and companies. With no search_terms, returns everything visible, paged. Returns { HasMoreResults, Results }. LACRM: GetContacts.
lacrm_get_contactread-onlyFetch one contact or company record with all its fields (emails, phones, addresses, custom fields, owner). LACRM: GetContact.
lacrm_list_notesread-onlyList notes, newest first by default — across the whole CRM, or for one contact. Filter by date range and author. LACRM: GetNotes.
lacrm_list_tasksread-onlyList tasks due in a date range, optionally only incomplete/complete, for given users. If contact_id is given, ALL of that contact's tasks are returned regardless of dates or status. LACRM: GetTasks.
lacrm_list_eventsread-onlyList calendar events in a date range, filterable by user or calendar. If contact_id is given, all events attached to that contact are returned and other filters are ignored. LACRM: GetEvents.
lacrm_list_pipelinesread-onlyList the account's pipelines (e.g. Sales Leads) with their statuses (StatusId, Name, IsActive) and optionally their custom fields. This is the setup, not the items — use lacrm_list_pipeline_items for those. LACRM: GetPipelines.
lacrm_list_pipeline_itemsread-onlyList the items in one pipeline (deals, leads...), optionally only in given statuses or for given users. An empty status filter returns items in all ACTIVE statuses. LACRM: GetPipelineItems.
lacrm_get_contact_pipeline_itemsread-onlyAll pipeline items attached to one contact or company, grouped by pipeline. LACRM: GetPipelineItemsAttachedToContact.
lacrm_list_groupsread-onlyList the contact groups you can see (GroupId, Name, Sharing, Color), optionally with member counts. LACRM: GetGroups.
lacrm_list_contacts_in_groupread-onlyList the contacts that are members of one group. Identify the group by group_id (preferred) or group_name — not both. LACRM: GetContactsInGroup.
lacrm_get_contact_groupsread-onlyList the groups one contact or company belongs to. LACRM: GetGroupsAttachedToContact.
lacrm_list_custom_fieldsread-onlyList the account's field definitions (name, type, options) for contacts, companies or pipelines — use the Name values as keys in custom_fields when creating/editing contacts. LACRM: GetCustomFields.
lacrm_create_contactcan modifyCreate a new contact (person) or company record. For a person, company_name links them to that company (creating it if needed). Company names must be unique. If assigned_to is omitted, the record is assigned to the API key's own user (one extra GetUser call). Returns { ContactId }. LACRM: CreateContact.
lacrm_edit_contactcan modifyUpdate fields on an existing contact or company. Only the fields you pass change; omitted fields are left alone. Multi-value fields (email, phone, address, website) are REPLACED by the list you pass. Set is_company=true when renaming a company. LACRM: EditContact.
lacrm_create_notecan modifyAttach a plain-text note to a contact or company's history (newlines kept, HTML/markdown escaped). Returns { NoteId }. LACRM: CreateNote.
lacrm_create_taskcan modifyCreate a to-do on a user's task list (date only, no time — use lacrm_create_event for timed things). Optionally attach it to a contact. Returns { TaskId }. LACRM: CreateTask.
lacrm_edit_taskcan modifyUpdate a task — including marking it complete (is_complete=true) or re-opening it (false). Only passed fields change. LACRM: EditTask.
lacrm_create_eventcan modifyCreate a timed (or all-day) event on your calendar, optionally with contacts/users as attendees. The timezone of start_date becomes the event's timezone. Returns { EventId }. LACRM: CreateEvent.
lacrm_create_pipeline_itemcan modifyCreate a pipeline item (deal, lead...) on a contact in a given pipeline and status, with an optional note. Returns { PipelineItemId }. LACRM: CreatePipelineItem.
lacrm_update_pipeline_itemcan modifyMove a pipeline item to another status (e.g. Prospect → Won) and/or add a note to its history. LACRM: EditPipelineItem.
lacrm_add_contact_to_groupcan modifyAdd a contact or company to a group (creates a group membership). Identify the group by group_id (preferred) or group_name — not both. LACRM: CreateGroupMembership.
Alternatives in CRM & Sales
Compare →
Copper MCP by usefulapiB
Read and write Copper CRM people, companies, opportunities and activities.
Bird MCP by usefulapiB
Read SMS, WhatsApp, email, contacts and audiences from your Bird workspace, plus safe CRM writes.
MAMarkifact - Ads & AnalyticsB
AI marketing agent for Google Ads, Meta, GA4, TikTok, LinkedIn, Shopify, HubSpot and more.
GRGrowthKit Revenue IntelligenceB
Sales intelligence for B2B SMEs — lead scoring, ICP fit, CRM enrichment & writeback.
MUMuninB
Open-source all-in-one MCP-first customer platform: KB, Conversations, CRM, CMS, Outreach, Analytics
BonderyB
Open-source personal CRM for building better bonds