io.usefulapi/less-annoying-crm · v1.11.1 · sales-and-crm
Less Annoying CRM MCP by usefulapi is healthy: it completed an MCP handshake in 896 ms and exposes 23 tools.
Read and write Less Annoying CRM contacts, notes, tasks, events, pipelines and groups.
Endpoint: https://less-annoying-crm.usefulapi.io/mcp (streamable-http)
Repository · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 23 |
| Latency | 896 ms |
| Last checked (UTC) | 2026-10-15T12:10:06.649Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-15T12:10:06.649Z | Healthy | 896 |
lacrm_get_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_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_contacts | Search (or list) contacts and companies. With no search_terms, returns everything visible, paged. Returns { HasMoreResults, Results }. LACRM: GetContacts. |
lacrm_get_contact | Fetch one contact or company record with all its fields (emails, phones, addresses, custom fields, owner). LACRM: GetContact. |
lacrm_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_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_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_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_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_items | All pipeline items attached to one contact or company, grouped by pipeline. LACRM: GetPipelineItemsAttachedToContact. |
lacrm_list_groups | List the contact groups you can see (GroupId, Name, Sharing, Color), optionally with member counts. LACRM: GetGroups. |
lacrm_list_contacts_in_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_groups | List the groups one contact or company belongs to. LACRM: GetGroupsAttachedToContact. |
lacrm_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_contact | 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: CreateCont |
lacrm_edit_contact | 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_note | Attach a plain-text note to a contact or company's history (newlines kept, HTML/markdown escaped). Returns { NoteId }. LACRM: CreateNote. |
lacrm_create_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_task | Update a task — including marking it complete (is_complete=true) or re-opening it (false). Only passed fields change. LACRM: EditTask. |
lacrm_create_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_item | 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_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_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. |