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.
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
Hosted connector to Less Annoying CRM that lets an assistant search contacts, read notes, tasks, events and pipelines, and create or update records.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
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.Add this to your client's mcpServers config.
{
"mcpServers": {
"less-annoying-crm-by-usefulapi": {
"type": "http",
"url": "https://less-annoying-crm.usefulapi.io/mcp"
}
}
}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
https://less-annoying-crm.usefulapi.io/mcp.claude mcp add --transport http less-annoying-crm https://less-annoying-crm.usefulapi.io/mcp, then run /mcp to log in.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.
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.
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].
MIT © usefulapi. Not affiliated with or endorsed by Less Annoying CRM.
Source: servers/less-annoying-crm/README.md at commit f22f848
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.
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.
Search contacts and companies
Search (or list) contacts and companies. With no search_terms, returns everything visible, paged. Returns { HasMoreResults, Results }. LACRM: GetContacts.
pagesort_bymax_resultsrecord_typesearch_termsowner_user_idssort_directionadvanced_filtersrequires_write_accessGet a contact or company
Fetch one contact or company record with all its fields (emails, phones, addresses, custom fields, owner). LACRM: GetContact.
contact_idrequiredList notes
List notes, newest first by default — across the whole CRM, or for one contact. Filter by date range and author. LACRM: GetNotes.
pagedate_enduser_idscontact_iddate_startmax_resultssort_directionList 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.
pageend_daterequireduser_idscontact_idstart_daterequiredmax_resultssort_directioncompletion_statusList 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.
pageend_dateuser_idscontact_idstart_datemax_resultscalendar_idssort_directionList 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.
include_archivedinclude_custom_fieldsList 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.
pagesort_byuser_idsstatus_idsmax_resultspipeline_idrequiredsort_directionadvanced_filtersGet a contact's pipeline items
All pipeline items attached to one contact or company, grouped by pipeline. LACRM: GetPipelineItemsAttachedToContact.
contact_idrequiredList groups
List the contact groups you can see (GroupId, Name, Sharing, Color), optionally with member counts. LACRM: GetGroups.
pagemax_resultsinclude_contact_countsList 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.
pagegroup_idgroup_namemax_resultsGet a contact's groups
List the groups one contact or company belongs to. LACRM: GetGroupsAttachedToContact.
pagecontact_idrequiredmax_resultsList 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.
pagemax_resultspipeline_idrecord_typeinclude_archivedCreate 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.
namerequiredemailphoneaddresswebsitebirthdayjob_titleis_companyassigned_tocompany_namecustom_fieldsbackground_infoEdit 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.
nameemailphoneaddresswebsitebirthdayjob_titlecontact_idrequiredis_companyassigned_tocompany_namecustom_fields+1 moreAdd 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.
noterequiredcontact_idrequireddate_displayedCreate 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.
namerequireddue_datecontact_idassigned_tocalendar_iddescriptionEdit 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.
nametask_idrequireddue_datecontact_idassigned_tocalendar_iddescriptionis_completeSchedule 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.
namerequiredend_daterequiredlocationattendeesis_all_daystart_daterequiredcalendar_iddescriptionAdd 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.
notestatus_idrequiredcontact_idrequiredpipeline_idrequiredrun_status_automationMove 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.
notestatus_idpipeline_item_idrequiredrun_status_automationAdd 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.
group_idcontact_idrequiredgroup_name100% 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.
io.usefulapiOfficial publisher
Hosted MCP server for Ably that lets an assistant inspect realtime channels, presence and usage stats, publish messages, and review app configuration.
io.usefulapiOfficial publisher
Read-only access to ROLLER venue data: search bookings, check product availability, and look up guests, waivers, gift cards and daily reports.
io.usefulapiOfficial publisher
Hosted Planerio connector that lets an assistant read shifts, staffing requirements, staff, employees, absences and vacation days.
io.usefulapiOfficial publisher
Read-only access to Marmin UAE e-invoicing data: invoices, credit notes, UBL XML, Peppol status and business profiles.
io.usefulapiOfficial publisher
Remote MCP server for Oyster that lets an assistant read team, time off, expense, contract and invoice data and approve or decline requests.
{ "mcpServers": { "less-annoying-crm": { "url": "https://less-annoying-crm.usefulapi.io/mcp" } }}