Skip to main content

MCP server

MCP server

The same datasets and QuickBooks actions as tools, for Claude, ChatGPT and any other assistant that speaks the Model Context Protocol.

https://api.clickr.cloud/mcp
  • Streamable HTTP. Assistants connect with OAuth: you sign in to Clickr when you add it.
  • Try it first on a sample builder, with no account: https://api.clickr.cloud/mcp/playground

Add it to Claude Code

Terminal
claude mcp add --transport http clickr https://api.clickr.cloud/mcp

In Claude or ChatGPT, add https://api.clickr.cloud/mcp as a custom connector and sign in when asked. The tools act with your access on the account: an assistant only sees the datasets and actions you can use. Step-by-step setup for Claude and ChatGPT

A tool that fails returns its error as the tool's result, with HTTP 200, so a client should read the result rather than the status. The QuickBooks tools start a run and return its id; check it with get_event_status.

Tools

9 tools, as the server lists them.

list_integrations

Reads only

Start here. Lists every integration Clickr supports (QuickBooks, Buildertrend), including ones not yet connected on this account so you can flag them to the user, with the write-action tools and dataset types each one offers. Use list_dataset_types/list_datasets/list_dataset_records to actually read dataset records.

No arguments.

list_dataset_types

Reads only

List every dataset type Clickr can offer (both already configured on this account and available to add). Start here to discover what's possible, then use list_datasets to see what's actually configured, then list_dataset_records to read records. Each entry includes filterableFields (the only field names list_dataset_records will accept filters on for that type) and, where a field's name does not tell you what it holds, fieldNotes explaining it. Read fieldNotes before reporting on a dataset: some fields do not mean what they appear to (on Tasks and Lead activities, isCompleted is not a completion flag).

No arguments.

list_datasets

Reads only

List the datasets configured on this account, with their sync status. Use list_dataset_types first if you need the human-readable label or filterableFields for a recordType. Use the returned datasetId with list_dataset_records to read records. Only datasets with status 'enabled' have complete data.

No arguments.

list_dataset_records

Reads only

List records inside one dataset configured on this account. Get datasetId from list_datasets first. Results are paginated (default 25, max 100 per page): use skip to page through and check hasMore.

datasetIdstringRequired

Dataset ID from list_datasets

filtersarray of objects

Optional filters, applied as an AND

fieldstringRequired

Field name. Must be one of this dataset's filterableFields (see list_dataset_types)

operatorstringRequired

One of eq, ne, gt, gte, lt, lte, contains, in

valuestringRequired

Filter value. For operator 'in', pass a comma-separated list.

limitinteger

Max records to return (default 25, capped at 100)

skipinteger

Records to skip, for pagination (default 0)

create_quickbooks_project

Makes changes

Create a new project in QuickBooks for a customer. Returns an event ID: use get_event_status to check if it succeeded.

projectNamestringRequired

Name of the project

projectCodestring

Value for the 'Project ID' field on the QuickBooks project form (your own reference, e.g. a job number). Not the QuickBooks-assigned projectId. Ignored if the account's project form has no Project ID field.

customerNamestringRequired

QuickBooks customer name to assign this project to

statusstring

Project status (defaults to in-progress)

One of not-started, in-progress, completed, canceled

startDatestring

Start date in MM/DD/YYYY format

endDatestring

End date in MM/DD/YYYY format

notesstring

Project notes or description

update_quickbooks_project

Makes changes

Update an existing QuickBooks project. Identify it by projectId or projectNameIdentifier, then provide the fields to change.

projectIdstring

QuickBooks project ID

projectNameIdentifierstring

Current project name to find it by (requires Velocity plan)

projectNamestring

New name for the project

projectCodestring

New value for the 'Project ID' field on the QuickBooks project form. Not the projectId used to identify the project. Ignored if the account's project form has no Project ID field.

customerNamestring

New customer to assign the project to

statusstring

New project status

One of not-started, in-progress, completed, canceled

startDatestring

New start date in MM/DD/YYYY format

endDatestring

New end date in MM/DD/YYYY format

notesstring

New project notes

get_quickbooks_project

Reads only

Retrieve a QuickBooks project's details by ID or name. Returns an event ID: use get_event_status to get the result once complete.

projectIdstring

QuickBooks project ID

projectNamestring

Project name to search for

convert_quickbooks_estimate_to_invoice

Makes changes

Convert a QuickBooks estimate into an invoice using its transaction ID. Needs Estimates on the QuickBooks connector. Returns an event ID: use get_event_status to confirm completion.

transactionIdstringRequired

The QuickBooks transaction ID (txnId) of the estimate to convert

percentagestringRequired

Used for partial invoicing. E.g. '50' will invoice 50% of the estimate.

amountstringRequired

Used for partial invoicing. E.g. '500' will invoice $500 of the estimate.

invoiceNumberstring

Invoice number to assign to the new invoice

invoiceDatestring

Invoice date in MM/DD/YYYY format

dueDatestring

Invoice due date in MM/DD/YYYY format

noteToCustomerstring

Note to the customer printed on the invoice

memoOnStatementstring

Internal memo shown on the account statement

lineItemsarray of objects

Override line items on the invoice. Each entry targets one invoice line, either by its match or, without one, by its position in the array.

matchobject

Names which invoice line this entry fills, instead of using its position in the array. Both keys are matched exactly, ignoring case, and are combined when both are given. Either every entry carries a match or none do. Prefer it: a progress invoice only carries over the estimate lines that still have an unbilled balance, so array positions do not line up with the estimate once part of it has been invoiced.

productOrServicestring

Product or service name of the line to fill

descriptionstring

Description of the line to fill

productOrServicestring

Product or service name

descriptionstring

Line item description

dueobject

Used for progressive invoicing in QuickBooks. If line items is provided, and the account has progressive invoicing enabled, we will adjust the due amounts manually per item. Otherwise we'll apply the top-level 'percent' or 'amount' input. If none are provided, we'll invoice the whole estimate

valuestring

Line item due amount

unitstring

Line item due unit

One of percent, amount

qtystring

Quantity

ratestring

Unit rate

amountstring

Line item total amount

get_event_status

Reads only

Check the status and result of a previously queued operation (create/update/get project). Poll this after queueing an operation.

eventIdstringRequired

The event ID returned from a create, update, or get operation