Tool Reference
Complete technical reference for Kick MCP tools, endpoints, auth, conventions, inputs, and tool details.
Complete technical reference for Kick MCP. The hosted MCP server at https://use.kick.co/mcp exposes a consolidated tool list. Some tools handle several actions through an operation or report parameter.
Every tool executes through the Kick REST API under the same auth, workspace, permission, and audit checks as the web app.
For a user-facing capability summary, see → Kick Tool List.
Auth & Transport
Endpoint: https://use.kick.co/mcp
Auth: Authorization: Bearer kick_pat_...
OAuth: https://use.kick.co/.well-known/oauth-protected-resource
Scopes: mcp:read · mcp:writeWorkspace-scoped PATs auto-inject their bound workspace. User-scoped PATs and OAuth tokens must pass workspaceId in inputs where required.
Conventions
Confirmation flow (write tools)
All write tools are preview-first.
Call the tool without
confirmationToken→ receive apreviewobject describing the action and a fresh tokenRe-call with the same input plus the returned
confirmationToken→ mutation executes
Never invent or reuse a token. Each preview issues a new token bound to the exact input.
List output
Most read tools return:
fields projects which columns appear in rows. nextCursor is null when there is no more data. Some tools use domain-specific keys (for example counterparties, workspaces) instead of rows.
Pagination
Page cursor: 1-based string (
"1","2"...). Used by most list endpoints.Offset cursor: 0-based string (
"0","100"...). Used by accounting, rule transactions, and similar endpoints.Default limit: 25. Maximum limit: 100 unless noted otherwise.
Common ID types
workspaceId
UUID v7 string
entityId
positive integer (not a UUID)
transactionId, financialAccountId, financialDocumentId
positive integer
ruleId, groupId, categoryId, counterpartyId, classId, accountId, journalEntryId, taskId
UUID v7 string
GL-first workspaces
When glFirstEnabled is true on a workspace (visible via context_browse), classify transactions by GL account using accounting_query and accountOverrides on transactions_act. Do not send categoryId in GL-first workspaces; it is rejected. Category taxonomy tools (categories_act) are blocked in GL-first workspaces.
Tool roster
Context
context_browse, context_resolve
Financial accounts
financial_accounts_query
Transactions
transactions_query, transactions_act, transactions_transfer_matches_act, transactions_document_links_act
Categories
categories_query, categories_act
Classes
classes_query, classes_act
Counterparties
counterparties_query, counterparties_act
Rules
rules_query, rules_act
Accounting
accounting_query, accounting_act, account_groups_act, opening_balances_query, opening_balances_act, journals_query, journals_act
Reports
reports_query
Documents
documents_query, documents_download, documents_act
Entities
entities_query, entities_act
Activity
activity_query, activity_undo
Tasks
tasks_query, tasks_act
Organization
organization_clients_create
Invoices
invoices_create, invoices_update
Bills
bills_create, bills_update
Skills
list_kick_skills, load_kick_skill
The tool list can vary by plan and permissions. classes_* requires the Classes plan capability. invoices_* and bills_* require the Accrual Ledger plan capability. Plan-gated tools appear in tools/list but return a plan-capability error at execution. Only feature-flagged tools are omitted from listing.
Tool selection patterns
Orient to available workspaces and entities
context_browse
Resolve a workspace, entity, or ledger by name
context_resolve
Resolve a transaction by description/date/amount
transactions_query { operation: "find" } → "get"
Find both sides of a transfer
transactions_query { operation: "suggested_transfers" } → transactions_transfer_matches_act
Find accrual match candidates
transactions_query { operation: "suggested_accrual_*" }
Find a category/class/counterparty by name
*_query { operation: "search" }
Run any financial report
reports_query { report: "..." }
Audit what changed and possibly undo
activity_query → activity_undo
Context
context_browse
read · idempotent · GET /workspaces/list
Lists accessible workspaces with nested entity summaries. Call this first before workspace-scoped work.
workspaces (default)
(none)
context_resolve
read · idempotent
Resolves a workspace, entity, or ledger by name to the IDs Kick tools need.
target
Required fields
workspace
query
entity
query
ledger
entityId
Financial Accounts
financial_accounts_query
read · idempotent · GET /user/workspaces/:workspaceId/entities
Lists connected bank and payment accounts for a workspace.
list (default)
workspaceId
Transactions
transactions_query
read · idempotent
Finds, inspects, summarizes, and discovers match candidates for transactions.
find
workspaceId
GET /transactions
get
transactionId
GET /transactions/:id
statistics
workspaceId
GET /transactions/statistics
suggested_transfers
transactionId
GET /transactions/:id/suggested-matches
suggested_accrual_transactions
transactionId
GET /transactions/:id/suggested-accrual-match-transactions
suggested_accrual_invoices
transactionId
GET /transactions/:id/suggested-accrual-match-invoices
suggested_accrual_bills
transactionId
GET /transactions/:id/suggested-accrual-match-bills
similar
transactionId
GET /transactions/:id/similar
Use top-level since / until for date ranges, not filters. Accrual suggestion operations require the accrual ledger capability.
transactions_act
write · destructive
Updates, bulk-updates, splits, creates manual transactions, and manages the soft-deletion lifecycle. Permanent hard deletion is not available.
update
transactionId, payload
bulk_update
workspaceId, payload
update_splits
transactionId, payload
bulk_unsplit
workspaceId, payload
create_manual
payload
bulk_mark_for_deletion
payload (transactionIds)
cancel_deletion
transactionId
Single-transaction soft deletes use bulk_mark_for_deletion with one id in transactionIds.
transactions_transfer_matches_act
write · destructive
match
originTransactionId, payload (targetTransactionId)
unmatch
financialTransactionId
transactions_document_links_act
write · destructive
link
payload (financialDocumentId, financialTransactionId)
detach
financialTransactionId, matchId
Categories
categories_query
read · idempotent
list
workspaceId
search
workspaceId, search
list_global
(none)
statistics
workspaceId
categories_act
write · destructive · blocked in GL-first workspaces
create
workspaceId, payload
update
workspaceId, categoryId, payload
delete
workspaceId, categoryId
Classes
classes_query
read · idempotent · requires Classes plan
list
workspaceId
search
workspaceId, search
statistics
workspaceId
transaction_counts
workspaceId
classes_act
write · destructive · requires Classes plan
create
workspaceId, label
update
workspaceId, classId, label
delete
workspaceId, classId
Counterparties
counterparties_query
read · idempotent
list
workspaceId
search
workspaceId, search
counterparties_act
write · destructive
create
workspaceId, payload
update
workspaceId, counterpartyId, payload
delete
workspaceId, counterpartyId
merge
workspaceId, counterpartyToMergeId, counterpartyToKeepId
copy_global
workspaceId, globalCounterpartyId
Rules
rules_query
read · idempotent
groups_list
workspaceId
accounting_defaults
workspaceId
normalized_descriptions
workspaceId
matching_transactions
workspaceId, payload
applied_transactions
workspaceId, ruleId
matching_transfers
workspaceId, payload
applied_transfers
workspaceId, ruleId
rules_act
write · destructive
create
workspaceId, payload
update
workspaceId, ruleId, payload
change_order
workspaceId, ruleId, payload
update_note
workspaceId, ruleId, payload
delete
workspaceId, ruleId
groups_create
workspaceId, payload
groups_update
workspaceId, groupId, payload
groups_delete
workspaceId, groupId
Accounting
accounting_query
read · idempotent
accounts_list
entityId
accounts_get_workspace
workspaceId
ledgers_list
entityIds
ledgers_get
entityId
accounting_act
write · destructive
Creates, updates, bulk-updates, enables, disables, or deletes chart-of-accounts entries. Account merge is not available through hosted MCP.
create
workspaceId, payload
update
entityId, accountId, payload
bulk_update
payload
bulk_disable
payload
bulk_enable
payload
bulk_delete
payload
account_groups_act
write · destructive
create
workspaceId, payload
update
workspaceId, groupId, payload
delete
workspaceId, groupId
opening_balances_query
read · idempotent
list
entityId
get
entityId, accountId
opening_balances_act
write · destructive
upsert
entityId, accountId, payload
bulk_set
entityId, payload
remove
entityId, accountId
journals_query
read · idempotent
list
entityId
get
entityId, journalEntryId
journals_act
write · destructive
create
entityId, payload
bulk_create
entityId, payload
update
entityId, journalEntryId, payload
delete
entityId, journalEntryId, payload
Reports
reports_query
read · idempotent
Multiplexes nine financial reports through the report parameter.
report value
Required params
profit_loss
entityId, ledgerId, startDate, endDate
balance_sheet
entityId, ledgerId, startDate, endDate
trial_balance
entityId, ledgerId, startDate, endDate
cash_flow_statement
entityId, ledgerId, startDate, endDate
expenses_by_vendor
entityId, ledgerId, startDate, endDate
account_transactions
entityId, ledgerId
chart_of_accounts
workspaceId
owner_cash_flow
entityIds
top_transactions
entityIds, startDate, endDate, categoryIdentifier
Resolve ledgerId via accounting_query { operation: "ledgers_get" } or context_resolve { target: "ledger" }.
Documents
documents_query
read · idempotent
search
workspaceId
get_metadata
financialDocumentId
documents_download
read · idempotent · POST /financial-document/mcp-download
Returns a presigned download URL. Requires documentId.
documents_act
write
Two-step upload flow.
request_upload
workspaceId, fileName
confirm_upload
uploadToken
Entities
entities_query
read · idempotent
list
(none)
search
search
get_address
entityId
get_metadata
workspaceId, entityId
entities_act
write · destructive
create
payload
update
entityId, payload
update_address
payload (includes entityId)
save_tax_locations
payload (includes entityId)
Activity
activity_query
read · idempotent
list
workspaceId
logs_list
workspaceId
details_get
workspaceId, date, sourceType
activity_undo
write · destructive · POST /history/:workspaceId/history/revert
Reverts a prior change. Requires workspaceId, date, sourceType, resourceType, fields, and changeTypes.
Tasks
tasks_query
read · idempotent
list (default)
workspaceId
tasks_act
write · destructive
create
workspaceId, payload
update
workspaceId, taskId, payload
delete
workspaceId, taskId
New tasks are always type question.
Organization Clients
organization_clients_create
write · firm-admin only · POST /organization-client/:organizationId
Creates a new client organization workspace. Requires organizationId and payload (workspaceName, entity, bookkeepingStartDate, servicesOffered, plan, etc.). Listed only for organization-scoped or all-scoped credential grants.
Skills
list_kick_skills
read · idempotent
Lists available Kick skill guides. Skills document step-by-step workflows, query syntax, and pitfalls for related tools.
query
Optional ranked fuzzy search across skill names and descriptions
includeHeader
When true, include each skill's summary and covered tools
load_kick_skill
read · idempotent
Loads a Kick skill guide by name. Call list_kick_skills first if you are not certain of the exact skill name.
name
Exact skill name from list_kick_skills (for example kick/transaction-review-and-categorization)
headerOnly
When true, return only the summary and covered tools without the full guide body
Invoices
Requires Accrual Ledger plan capability.
invoices_create
write · POST /invoices/:workspaceId/mcp
Requires workspaceId and payload.invoices[] (each with entityId, invoiceNumber, status, currency, lines).
invoices_update
write · destructive · PUT /invoices/:workspaceId/mcp
Batch edit or remove MCP-sourced invoices via payload.upserts and payload.idsToRemove. Only invoices with source mcp can be changed.
Bills
Requires Accrual Ledger plan capability.
bills_create
write · POST /bills/:workspaceId/mcp
Requires workspaceId and payload.bills[] (each with entityId, invoiceNumber, status, currency, lines).
bills_update
write · destructive · PUT /bills/:workspaceId/mcp
Batch edit or remove MCP-sourced bills via payload.upserts and payload.idsToRemove. Only bills with source mcp can be changed.
Common workflows
Recategorize a transaction
context_browseorcontext_resolve→ confirm workspacetransactions_query{operation:"find", filters/search } → resolvetransactionIdcategories_query{operation:"search"} → resolvecategoryIdtransactions_act{operation:"update",transactionId,payload} → preview → confirm
Match a transfer
transactions_query{operation:"find"} → resolve origintransactionIdtransactions_query{operation:"suggested_transfers"} → pick counterparttransactions_transfer_matches_act{operation:"match"} → preview → confirm
Run a P&L
context_resolve{target:"entity"} →entityIdaccounting_query{operation:"ledgers_get",entityId} →ledgerIdreports_query{report:"profit_loss",params: { dates,entityId,ledgerId} }
Last updated
Was this helpful?
