method_get_account
Get API key owner
Who the API key acts as: the Method user behind it (id and name; use the id as an assignee). Also a cheap check that the key works. GET /api/v1/me.
Takes no parameters.
io.usefulapiPublished by usefulapi.ioOfficial publisherv1.17.5Updated Nov 8, 2026
Query Method CRM customers, leads, activities and invoices; create and update records.
The publisher's own server: Ably MCP by usefulapi
Hosted Method CRM connector that lets an assistant query customers, leads, contacts, activities and invoices, 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%2Fmethod-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": {
"method-crm-by-usefulapi": {
"type": "http",
"url": "https://method-crm.usefulapi.io/mcp"
}
}
}Query Method CRM customers, leads, activities and invoices; create and update records.
Live endpoint: https://method-crm.usefulapi.io/mcp · Homepage: https://usefulapi.io/method-crm
https://method-crm.usefulapi.io/mcp.claude mcp add --transport http method-crm https://method-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 Method CRM credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/method-crm/
On first connect you'll paste a Method API key (blue circle icon → Integrations → API → New; it is shown only once).
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.
*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to [email protected].
Pro covers this server only. Subscribe with method_upgrade (it returns a Stripe Checkout link). Cancel any time with method_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running method_upgrade before then undoes the cancel. Or write to [email protected].
MIT © usefulapi. Not affiliated with or endorsed by Method CRM.
Source: servers/method-crm/README.md at commit 4046075
Get API key owner
Who the API key acts as: the Method user behind it (id and name; use the id as an assignee). Also a cheap check that the key works. GET /api/v1/me.
Takes no parameters.
List tables
List every table on this Method account (standard QuickBooks/Xero/Method tables and custom ones) with its source and whether it can be created, updated or deleted. Tables differ per account: call this before querying a table you are unsure of. GET /api/v1/tables.
Takes no parameters.
Get table fields
The exact field names of a table with type, whether required, creatable and mutable, and for dropdowns the table they reference. Use it to pick `select` fields and to name fields in create/update calls (names are case-sensitive and wrong ones are silently ignored). GET /api/v1/tables/{table}/fields.
tablerequiredQuery records
Query any table (Customer, Contacts, Activity, Invoice, Estimate, Item, Users, custom tables ...). Always pass `select`. `filter` uses OData-style syntax: strings in single quotes, dates as '2026-05-26T00:00:00Z' with Z or an offset, operators eq ne lt gt le ge and or not, functions contains(Name,'x') startswith() endswith(); e.g. "BalanceRemaining gt 0 and DueDate lt '2026-10-01T00:00:00Z'". `apply` runs server-side aggregation instead of listing rows, e.g. "aggregate(BalanceRemaining with sum as Outstanding)" or "groupby((Customer), aggregate(Amount with sum as Total))". Default order is RecordID ascending (stable paging); page with next_skip. GET /api/v1/tables/{table}.
topskipapplytablerequiredfilterselectorderbyCount records
How many records a table has, optionally matching a filter (same filter syntax as method_query_records). Cheap: call it before paging through a big table. GET /api/v1/tables/{table}/count.
tablerequiredfilterGet record
One record by RecordID from any table. Pass `select` to limit the columns; `expand` names a related CHILD table whose rows are embedded (e.g. InvoiceLine on Invoice; at most 50 rows); a parent such as a contact's Entity is not expanded: read it with its own RecordID (Entity_RecordID). GET /api/v1/tables/{table}/{recordId}.
tablerequiredexpandselectrecord_idrequiredSearch customers and leads
Find customers and leads (the Customer table: Customers & Leads in Method) by text in the name or email, by lead/customer type, or list them all. Returns RecordID, name, email, phone, lead flag and status; override `select` for other fields (see method_get_table_fields with table Customer). Page with next_skip. GET /api/v1/tables/Customer.
topkindskiptextselectactive_onlyList contacts
List contacts (people), optionally those of one customer/lead entity (entity_id = the Customer's RecordID) or matching text in name/email/phone. Returns RecordID, name, email, phone, the entity link and active flag. Use a Contact's RecordID (not the Customer's) when linking activities. GET /api/v1/tables/Contacts.
topskiptextselectentity_idList activities
List activities (calls, emails, to-dos, notes), newest first. Filter by the entity they belong to, the assigned user or a due-date window. The note text is in Comments. Override `select` for other fields (method_get_table_fields with table Activity). GET /api/v1/tables/Activity.
topskipselectdue_afterentity_iddue_beforeassigned_to_idList invoices
List invoices, newest first, optionally only unpaid ones (BalanceRemaining > 0), one customer's (customer_id = Customer RecordID) or created since a time. Returns reference number, customer, dates, amount and balance; override `select` for other fields. For totals use method_query_records with `apply`. GET /api/v1/tables/Invoice.
topskipselectcustomer_idunpaid_onlycreated_sinceList files on a record
List the files attached to a record (name, size, who added it, id). Use the id with method_get_file_url. GET /api/v1/files.
tablerequiredrecord_idrequiredGet file download link
A temporary download link (valid 20 minutes) for an attached file, by the file id from method_list_files. The link works without the API key: share it only with someone allowed to see the file. GET /api/v1/files/{id}/url.
file_idrequiredCreate customer or lead
WRITE: creates a record in Method's Customer table. is_lead true = a Customer Lead (does not sync to the accounting system); is_lead false = a full customer, which Method syncs to QuickBooks/Xero (it appears there too). Method also creates the primary Contact; its RecordID is returned as contact_id when it could be found (use it, not the customer id, to link activities). Name is required (for a person with no company use "First Last"). `extra_fields` sets other fields by their exact names (see method_get_table_fields, table Customer). Not idempotent: calling twice creates two records, so search first (method_search_customers). POST /api/v1/tables/Customer.
namerequiredemailphoneis_leadrequiredlast_namefirst_namelead_statusextra_fieldsassigned_to_idLog an activity
WRITE: logs an activity (call, email, to-do, note) on a customer/lead. entity_id is the Customer RecordID; contact_id is the Contact RecordID (not the Customer's; method_list_contacts finds it). The text goes in Comments. Prefer activity_type_id (read it from an existing activity of that type) over the caption activity_type: a caption that matches zero or several options is silently dropped. Method requires an assignee on standard accounts. The reply re-reads the activity so you can check the links were stored (field names are account-specific; method_get_table_fields with table Activity shows them). It does not email anyone. Not idempotent. POST /api/v1/tables/Activity.
duecommentsrequiredentity_idrequiredstatus_idcontact_idactivity_typeassigned_to_idactivity_type_idCreate a record
WRITE: creates a record in any table that allows it (method_list_tables shows canCreate), e.g. Estimate, Invoice, Item, Vendor. For customers/leads and activities use the dedicated tools. Field names are case-sensitive and a wrong one is silently ignored: read them with method_get_table_fields first, and send dropdown links as their `_RecordID` integer. Creating accounting records (Invoice, Estimate, Customer ...) makes Method sync them to QuickBooks/Xero. Child lines (InvoiceLine ...) are not supported here. Not idempotent. Returns the new RecordID. POST /api/v1/tables/{table}.
tablerequiredfieldsrequiredUpdate a record
WRITE: changes fields on one record (PATCH: only the fields you pass change). Field names are case-sensitive and Method silently ignores wrong or read-only names, so the reply re-reads the record and shows the stored values of the fields you sent: check them. Linked fields are changed through their `_RecordID` integer field. Updating accounting records (Customer, Invoice ...) makes Method sync the change to QuickBooks/Xero; setting IsLeadStatusOnly to false converts a lead into a synced customer. There is no delete tool. PATCH /api/v1/tables/{table}/{recordId}.
tablerequiredfieldsrequiredrecord_idrequired100% 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
Ably MCP by usefulapi's hosted MCP server, published by usefulapi.io; no sign-in required; Streamable HTTP; 15 tools.
io.usefulapiOfficial publisher
Hosted read-only MCP server that lets an assistant read Tiltify campaigns, donations and top donor and fundraiser leaderboards.
io.usefulapiOfficial publisher
Hosted Termii server that lets an assistant send SMS, check wallet balance, DND status, sender IDs and message history.
io.usefulapiOfficial publisher
Hosted MCP server that lets an assistant read Temp Stick temperature and humidity sensors, their readings and alert notifications.
io.usefulapiOfficial publisher
Connects an assistant to a Stibee email marketing workspace to read address books, subscribers and email stats, and to add subscribers and group members.
{ "mcpServers": { "method-crm": { "url": "https://method-crm.usefulapi.io/mcp" } }}