usefulapi

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

Claude

  1. Open Settings → Connectors → Add custom connector
  2. Paste this URL:
    https://less-annoying-crm.usefulapi.io/mcp
  3. Authenticate with Less Annoying CRM when prompted

Cursor · VS Code · Windsurf · Cline

Add to your MCP config, then reload & authorize:

{
  "mcpServers": {
    "less-annoying-crm": {
      "url": "https://less-annoying-crm.usefulapi.io/mcp"
    }
  }
}
live25 toolsFree 100 tool calls / monthPro $9/mo · $90/yr

Tools 25

ToolTypeWhat it does
lacrm_get_userread
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.
lacrm_list_usersread
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.
lacrm_search_contactsread
Search contacts and companies
Search (or list) contacts and companies. With no search_terms, returns everything visible, paged. Returns { HasMoreResults, Results }. LACRM: GetContacts.
lacrm_get_contactread
Get a contact or company
Fetch one contact or company record with all its fields (emails, phones, addresses, custom fields, owner). LACRM: GetContact.
lacrm_list_notesread
List notes
List notes, newest first by default — across the whole CRM, or for one contact. Filter by date range and author. LACRM: GetNotes.
lacrm_list_tasksread
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.
lacrm_list_eventsread
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.
lacrm_list_pipelinesread
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.
lacrm_list_pipeline_itemsread
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.
lacrm_get_contact_pipeline_itemsread
Get a contact's pipeline items
All pipeline items attached to one contact or company, grouped by pipeline. LACRM: GetPipelineItemsAttachedToContact.
lacrm_list_groupsread
List groups
List the contact groups you can see (GroupId, Name, Sharing, Color), optionally with member counts. LACRM: GetGroups.
lacrm_list_contacts_in_groupread
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.
lacrm_get_contact_groupsread
Get a contact's groups
List the groups one contact or company belongs to. LACRM: GetGroupsAttachedToContact.
lacrm_list_custom_fieldsread
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.
lacrm_create_contactwrite
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.
lacrm_edit_contactwrite
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.
lacrm_create_notewrite
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.
lacrm_create_taskwrite
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.
lacrm_edit_taskwrite
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.
lacrm_create_eventwrite
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.
lacrm_create_pipeline_itemwrite
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.
lacrm_update_pipeline_itemwrite
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.
lacrm_add_contact_to_groupwrite
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.
lacrm_usage_statusmeta
Usage status (free-tier meter)
Report the caller's current free-tier usage this month: calls used, monthly limit, remaining, and whether the cap is reached. Read-only; does not count against the meter.
lacrm_upgrademeta
Upgrade to Pro (unlimited)
Subscribe to the Pro plan for UNLIMITED Less Annoying CRM tool calls (the free tier caps monthly usage). Choose monthly ($9/month) or yearly ($90/year — 2 months free) billing. Returns a Stripe Checkout link to open in your browser; after payment your account upgrades automatically. Read-only; does not count against the meter.

Pricing

PlanPriceLimit
Free$0100 tool calls / month
Proper user$9/mo · $90/yrUnlimited

This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.