Less Annoying CRM MCP by usefulapi

io.usefulapiPublished by usefulapi.ioOfficial publisherv1.39.2Updated Nov 14, 2026

Read and write Less Annoying CRM contacts, notes, tasks, events, pipelines and groups.

The publisher's own server: Ably MCP by usefulapi

VerifiedStreamable HTTPWeb executableProductivity & WorkflowBusiness & Commerce

Overview

AI-generated overview

Hosted connector to Less Annoying CRM that lets an assistant search contacts, read notes, tasks, events and pipelines, and create or update records.

What you can do
  • Search, list and read contacts and companies, including custom fields and owners
  • Read notes, tasks, calendar events, pipelines, pipeline items, groups and custom field definitions
  • Create and edit contacts and companies, and add notes to their history
  • Create and edit tasks, schedule calendar events, and add contacts to groups
  • Create pipeline items and move them between statuses
  • Check usage, request a feature, upgrade or cancel the subscription
When to use it
Useful when you want an assistant to answer questions about your CRM data — what is due this week, which deals sit in each pipeline stage, what the latest notes on a company say — or to log new contacts, notes, tasks and events without opening the CRM.
Requirements
A remote MCP endpoint added by URL only; no local install. Sign-in uses OAuth, and the login page asks for your Less Annoying CRM API key (Settings, Programmer API), which is validated and stored per user. A free plan allows 50 tool calls per month; paid plans are billed per user.
Before you install
Write tools create and change CRM records, so confirm before letting an assistant run them. Your Less Annoying CRM API key is entered on the provider's login page and stored by that third party, and CRM data passes through it. Usage is metered: the free tier is capped at 50 calls a month, and upgrade tools return Stripe payment links, with plan changes charged immediately and no refund for the current period.

Installation

In SourceWeft

  1. Open Less Annoying CRM MCP by usefulapi in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.usefulapi%2Fless-annoying-crm/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "less-annoying-crm-by-usefulapi": {
      "type": "http",
      "url": "https://less-annoying-crm.usefulapi.io/mcp"
    }
  }
}

README

Less Annoying CRM MCP by usefulapi

Use Less Annoying CRM from Claude, Cursor, or any MCP client — search contacts, read notes, tasks, events and pipelines, and create contacts, notes, tasks, events and pipeline items. Hosted, no local install: connect with your own Less Annoying CRM credentials.

Live endpoint: https://less-annoying-crm.usefulapi.io/mcp · Homepage: https://usefulapi.io/less-annoying-crm

Connect

  • Claude (claude.ai, Desktop): open Customize → Connectors, click + Add → Add custom connector, and paste https://less-annoying-crm.usefulapi.io/mcp.
  • Claude Code: claude mcp add --transport http less-annoying-crm https://less-annoying-crm.usefulapi.io/mcp, then run /mcp to log in.
  • VS Code: Add to VS Code.
  • Cursor and other clients: add the URL as a remote MCP server:
json
{  "mcpServers": {    "less-annoying-crm": {      "url": "https://less-annoying-crm.usefulapi.io/mcp"    }  }}

Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Less Annoying CRM credentials.

Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/less-annoying-crm/

On first connect you'll provide your Less Annoying CRM API key (Settings → Programmer API). They're validated, stored per-user, and scoped to you — no keys in config files.

Tools

ToolTypeWhat it does
lacrm_get_userreadGet the current user
lacrm_list_usersreadList users
lacrm_search_contactsreadSearch contacts and companies
lacrm_get_contactreadGet a contact or company
lacrm_list_notesreadList notes
lacrm_list_tasksreadList tasks
lacrm_list_eventsreadList calendar events
lacrm_list_pipelinesreadList pipelines
lacrm_list_pipeline_itemsreadList pipeline items
lacrm_get_contact_pipeline_itemsreadGet a contact's pipeline items
lacrm_list_groupsreadList groups
lacrm_list_contacts_in_groupreadList contacts in a group
lacrm_get_contact_groupsreadGet a contact's groups
lacrm_list_custom_fieldsreadList custom fields
lacrm_create_contactwriteCreate a contact or company
lacrm_edit_contactwriteEdit a contact or company
lacrm_create_notewriteAdd a note to a contact
lacrm_create_taskwriteCreate a task
lacrm_edit_taskwriteEdit or complete a task
lacrm_create_eventwriteSchedule a calendar event
lacrm_create_pipeline_itemwriteAdd a contact to a pipeline
lacrm_update_pipeline_itemwriteMove or annotate a pipeline item
lacrm_add_contact_to_groupwriteAdd a contact to a group
lacrm_usage_statusmetaUsage status (free-tier meter)
lacrm_request_featuremetaRequest a missing feature
lacrm_upgrademetaUpgrade to Pro or Pro+
lacrm_cancel_subscriptionmetaCancel the Pro subscription

read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.

Pricing

PlanPriceLimit
Free$050 tool calls / month
Pro (per user)$9/mo or $90/yr (2 months free)10,000 tool calls / month
Pro+ (per user)$39/mo or $390/yr (2 months free)100,000 tool calls / month

Each paid plan covers this server only. Ask your AI to run lacrm_upgrade and choose Pro or Pro+, billed monthly or yearly (it returns a Stripe Checkout link). If you already have Pro, ask to change it to Pro+. The change requires your confirmation, keeps your billing interval and charges the price difference for the rest of the period immediately. Cancel any time with lacrm_cancel_subscription: your paid plan continues to the end of the paid period, with no refund for the current period, and asking to resume the same plan with lacrm_upgrade before then undoes the cancel. Or write to [email protected].

License

MIT © usefulapi. Not affiliated with or endorsed by Less Annoying CRM.

Source: servers/less-annoying-crm/README.md at commit f22f848

Tools

23

lacrm_get_user

Get the current user

Return 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.

Takes no parameters.

lacrm_list_users

List users

List 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.

Takes no parameters.

lacrm_search_contacts

Search contacts and companies

Search (or list) contacts and companies. With no search_terms, returns everything visible, paged. Returns { HasMoreResults, Results }. LACRM: GetContacts.

Parameterspagesort_bymax_resultsrecord_typesearch_termsowner_user_idssort_directionadvanced_filtersrequires_write_access

lacrm_get_contact

Get a contact or company

Fetch one contact or company record with all its fields (emails, phones, addresses, custom fields, owner). LACRM: GetContact.

Parameterscontact_idrequired

lacrm_list_notes

List notes

List notes, newest first by default — across the whole CRM, or for one contact. Filter by date range and author. LACRM: GetNotes.

Parameterspagedate_enduser_idscontact_iddate_startmax_resultssort_direction

lacrm_list_tasks

List tasks

List 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.

Parameterspageend_daterequireduser_idscontact_idstart_daterequiredmax_resultssort_directioncompletion_status

lacrm_list_events

List calendar events

List 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.

Parameterspageend_dateuser_idscontact_idstart_datemax_resultscalendar_idssort_direction

lacrm_list_pipelines

List pipelines

List 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.

Parametersinclude_archivedinclude_custom_fields

lacrm_list_pipeline_items

List pipeline items

List 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.

Parameterspagesort_byuser_idsstatus_idsmax_resultspipeline_idrequiredsort_directionadvanced_filters

lacrm_get_contact_pipeline_items

Get a contact's pipeline items

All pipeline items attached to one contact or company, grouped by pipeline. LACRM: GetPipelineItemsAttachedToContact.

Parameterscontact_idrequired

lacrm_list_groups

List groups

List the contact groups you can see (GroupId, Name, Sharing, Color), optionally with member counts. LACRM: GetGroups.

Parameterspagemax_resultsinclude_contact_counts

lacrm_list_contacts_in_group

List contacts in a group

List the contacts that are members of one group. Identify the group by group_id (preferred) or group_name — not both. LACRM: GetContactsInGroup.

Parameterspagegroup_idgroup_namemax_results

lacrm_get_contact_groups

Get a contact's groups

List the groups one contact or company belongs to. LACRM: GetGroupsAttachedToContact.

Parameterspagecontact_idrequiredmax_results

lacrm_list_custom_fields

List custom fields

List 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.

Parameterspagemax_resultspipeline_idrecord_typeinclude_archived

lacrm_create_contact

Create a contact or company

Create 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.

Parametersnamerequiredemailphoneaddresswebsitebirthdayjob_titleis_companyassigned_tocompany_namecustom_fieldsbackground_info

lacrm_edit_contact

Edit a contact or company

Update 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.

Parametersnameemailphoneaddresswebsitebirthdayjob_titlecontact_idrequiredis_companyassigned_tocompany_namecustom_fields+1 more

lacrm_create_note

Add a note to a contact

Attach a plain-text note to a contact or company's history (newlines kept, HTML/markdown escaped). Returns { NoteId }. LACRM: CreateNote.

Parametersnoterequiredcontact_idrequireddate_displayed

lacrm_create_task

Create a task

Create 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.

Parametersnamerequireddue_datecontact_idassigned_tocalendar_iddescription

lacrm_edit_task

Edit or complete a task

Update a task — including marking it complete (is_complete=true) or re-opening it (false). Only passed fields change. LACRM: EditTask.

Parametersnametask_idrequireddue_datecontact_idassigned_tocalendar_iddescriptionis_complete

lacrm_create_event

Schedule a calendar event

Create 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.

Parametersnamerequiredend_daterequiredlocationattendeesis_all_daystart_daterequiredcalendar_iddescription

lacrm_create_pipeline_item

Add a contact to a pipeline

Create a pipeline item (deal, lead...) on a contact in a given pipeline and status, with an optional note. Returns { PipelineItemId }. LACRM: CreatePipelineItem.

Parametersnotestatus_idrequiredcontact_idrequiredpipeline_idrequiredrun_status_automation

lacrm_update_pipeline_item

Move or annotate a pipeline item

Move a pipeline item to another status (e.g. Prospect → Won) and/or add a note to its history. LACRM: EditPipelineItem.

Parametersnotestatus_idpipeline_item_idrequiredrun_status_automation

lacrm_add_contact_to_group

Add a contact to a group

Add 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.

Parametersgroup_idcontact_idrequiredgroup_name

Version history

25
  1. v1.39.2LatestNov 14, 2026
  2. v1.39.1Nov 13, 2026
  3. v1.38.0Nov 12, 2026
  4. v1.37.4Nov 11, 2026
  5. v1.36.4Nov 7, 2026
  6. v1.35.3Nov 5, 2026
  7. v1.35.2Nov 5, 2026
  8. v1.35.1Nov 4, 2026
  9. v1.35.0Nov 3, 2026
  10. v1.34.1Nov 3, 2026
  11. v1.33.0Nov 1, 2026
  12. v1.31.0Oct 31, 2026
  13. v1.30.0Oct 31, 2026
  14. v1.29.2Oct 30, 2026
  15. v1.29.0Oct 30, 2026
  16. v1.24.0Oct 26, 2026
  17. v1.21.3Oct 25, 2026
  18. v1.21.0Oct 25, 2026
  19. v1.20.0Oct 24, 2026
  20. v1.17.0Oct 23, 2026
  21. v1.16.4Oct 22, 2026
  22. v1.16.3Oct 21, 2026
  23. v1.11.1Oct 9, 2026
  24. v1.10.0Oct 9, 2026
  25. v1.0.0Sep 29, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Usefulapi integrations