MCP App Store
by KeenEthics

Overview

Search, analyze, and retrieve data from your Campfire ERP directly in Claude. Ask questions about projects, contacts, and financials in natural language. Create board decks, generate insights from your data, and make informed decisions as a native part of your AI workflow.

Tools

balance_sheet

ChatGPT
Generate balance sheet for a specified period and cadence. Dates must be YYYY-MM-DD. Can be filtered to specific departments, accounts and tags.

cash_flow_statement

ChatGPT
Generate cash flow statement for a specified period and cadence. Dates must be YYYY-MM-DD.

comparative_balance_sheet

ChatGPT
Comparative balance sheet: ending balances as of two dates, with difference and percentage columns. Use for prior-period or prior-year comparisons (e.g. period1=2024-12-31, period2=2025-12-31) or budget vs actual by passing budget_id. Each row carries <date>_Total columns, comparison_1_Difference and comparison_1_Percentage; 'headers' lists the column names.

comparative_income_statement

ChatGPT
Comparative income statement: two periods side by side, or budget vs actual, with variance columns. For budget vs actual pass budget_id and only the period2 dates; the budget is evaluated over the same range and the cadence defaults to the budget's cadence (a different cadence is rejected). Each row carries per-period totals plus comparison_1_Difference and comparison_1_Percentage.

get_accounts

ChatGPT
Retrieve chart of accounts with optional filtering by type, subtype, or search query. Returns {count, results}.

get_aging

ChatGPT
Retrieve AP/AR aging reports grouped by age buckets. Use aging_type='payable' for AP (bills); omit or use 'receivable' for AR (invoices). vendor_id is only applied when aging_type is 'payable' (AP). Dates in YYYY-MM-DD. tag_ids, tag_group_ids and department_ids narrow both report types, so an aging report can be scoped to one project tag or department.

get_amortizations

ChatGPT
Retrieve amortizations with optional filtering. Returns {count, results}.

get_approvals

ChatGPT
Retrieve draft queue / approval records (pending, approved and rejected changes). Use it to list what is awaiting approval or to audit who approved or rejected a change. Payloads are the serialized before/after state of the drafted object. Returns {count, results}.

get_bills

ChatGPT
Retrieve bills with optional filtering. Returns {count, results}. tag_ids and department_ids match against the bill's lines, so bills can be scoped to one project tag or department.

get_budget_accounts

ChatGPT
Retrieve the amount rows of a budget. Returns {count, results}. One row per (account, period, department) with id, account, account_name, period, department, department_name and amount. Budgets can have thousands of rows, so filter by account_id or period and paginate. Change amounts with set_budget_amounts.

get_budgets

ChatGPT
Retrieve budget headers with optional filtering by name or entity. Returns {count, results}. Each row carries id, name, cadence, periods, start_date, end_date, entity, department, breakdown_type and tags. Use get_budget_accounts for the per-account amounts and comparative_income_statement(budget_id=...) for budget vs actual.

get_cash_by_customer

ChatGPT
Cash collected per customer: credit-side activity offset against bank accounts. Dates are optional and bound the posted transactions; omit both for all activity.

get_cash_by_vendor

ChatGPT
Cash paid per vendor: debit-side activity offset against bank accounts. Dates are optional and bound the posted transactions; omit both for all activity.

get_chart_account_settings

ChatGPT
Retrieve the company's default accounts: AP, AR, unapplied credits/debits, deferred, accrued and unbilled revenue, discount, tax, clearing, processing fees, refund, fixed asset disposal and bad debt. Each setting has an account id plus a *_name_and_number display value. Call this before creating bills, invoices or memos to pick the right default accounts.

get_close_checklist

ChatGPT
Retrieve one month's close checklist as task rows with prepare/review status, assignees, linked journal numbers and note/attachment presence. Returns {count, results}. Use list_record_attachments with record_type close_task to inspect a task's files.

get_contract_line_items

ChatGPT
Retrieve one contract's line items of a given type. Returns {count, results}.

get_contracts

ChatGPT
Retrieve revenue recognition contracts with optional filtering. Returns {count, results}. Use line item filters to find matching contracts before inspecting one contract with get_contract_line_items. For usage without a tier, set line_item_type="usage" and has_usage_tier=false.

get_credit_memos

ChatGPT
Retrieve credit memos with optional filtering. Returns {count, results}.

get_current_user

ChatGPT
Describe who this connection acts as: the person, their workspace ("tenant"), their role, their permission grid per object type (none/read/draft/write) and approval rights, plus the MCP scopes granted to this connection. Call it first to learn which workspace you are in and what the write tools will be allowed to do.

get_custom_fields

ChatGPT
Retrieve custom field definitions. Returns {count, results}. Custom fields are extra typed attributes (text, single_select, date, number, boolean) defined per object type; values are written on an object as custom_field_<name> keys when creating or updating it. They are NOT tags: tags and tag groups (get_tags / get_tag_groups) are reporting dimensions attached to transactions and lines. Each row carries id, model, name, label, field_type, options, is_required, display_order and is_active.

get_debit_memos

ChatGPT
Retrieve debit memos with optional filtering. Returns {count, results}.

get_deferred_revenue_by_customer

ChatGPT
Deferred revenue (DEFERRED_REVENUE accounts, net credit) grouped by customer. Dates are optional and bound the posted transactions; omit both for all activity.

get_departments

ChatGPT
Retrieve department hierarchy with optional search filtering. Returns {count, results}.

get_entities

ChatGPT
Retrieve chart entities (companies, subsidiaries, locations). Returns {count, results}.

get_expenses_by_department

ChatGPT
Operating expenses (OPERATING_EXPENSES accounts, net debit) grouped by department. Dates are optional and bound the posted transactions; omit both for all activity.

get_expenses_by_vendor

ChatGPT
Operating expenses (OPERATING_EXPENSES accounts, net debit) grouped by vendor, largest first. Dates are optional and bound the posted transactions; omit both for all activity.

get_fixed_asset_classes

ChatGPT
Retrieve fixed asset classes: useful life plus the asset, accumulated depreciation and depreciation expense accounts used for PP&E. Use it to find asset class ids for get_fixed_assets and create_fixed_asset. Returns {count, results}.

get_fixed_assets

ChatGPT
Retrieve fixed assets with optional filtering. Returns {count, results}.

get_invoices

ChatGPT
Retrieve invoices with optional filtering. Returns {count, results}. tag_ids and department_ids match against the invoice's lines, so invoices can be scoped to one project tag or department.

get_journal_entries

ChatGPT
Retrieve journal entry headers, optionally with their transaction lines. Lines are the same ChartTransaction rows get_transactions returns, nested per entry. Omitting both dates returns only recent entries; pass explicit dates to reach older ones. Returns {count, results}; count is the full total so truncation is visible.

get_journal_entry_summary

ChatGPT
Cheap aggregate of journal entries: total count, count by source, earliest and latest date, line count and booked debit/credit totals. Use it as a pre-flight check for whether Campfire holds data for an entity or period before pulling entries or transactions.

get_leases

ChatGPT
Retrieve leases with optional filtering. Returns {count, results}.

get_payment_terms

ChatGPT
Retrieve payment terms (Net 30, Net 60, Due on Receipt, ...) ordered by due days. Use it to find payment term ids for create_invoice and create_bill. Returns {count, results}.

get_prepaid_expenses_by_vendor

ChatGPT
Prepaid expense balances (PREPAID accounts, net debit) grouped by vendor. Dates are optional and bound the posted transactions; omit both for all activity.

get_products

ChatGPT
Retrieve the product and service catalog. Use it to find product ids for invoices and contract line items. Returns {count, results}.

get_revenue_by_customer

ChatGPT
Revenue (REVENUE accounts, net credit) grouped by customer, largest first. Dates are optional and bound the posted transactions; omit both for all activity.

get_revenue_transactions

ChatGPT
Retrieve revenue transactions with optional filtering. Returns {count, results}.

get_tag_groups

ChatGPT
Retrieve tag groups (custom dimensions such as 'Location' or 'Product Line'). A tag group is a reporting dimension whose values are tags; it is NOT a custom field (see get_custom_fields for typed per-object attributes). Returns {count, results}; each row carries id, name, slug and timestamps. Pass a group's id as group_id to get_tags to list its values, or its name as tag_group_name to the financial report tools when group_by='tag'.

get_tags

ChatGPT
Retrieve transaction tags (custom dimension values). Returns {count, results}. Tags are reporting dimensions attached to transactions and document lines; they are NOT custom fields (typed per-object attributes, see get_custom_fields). Each tag row carries id, name, group, group_name, parent, parent_name and is_active. Filter by `q (matches tag or group name) and group_id. With groups_only=True returns the customer's tag groups as {id, name}` rows instead; prefer get_tag_groups for the full group representation.

get_transactions

ChatGPT
Retrieve general ledger transactions with filtering and pagination. All dates YYYY-MM-DD. Returns {count, results}.

get_trial_balance

ChatGPT
Monthly trial balance, one row per account with a debit-positive balance column per YYYY-MM period. With cumulative=true it is an authoritative ending-balance source for reconciliations. Use get_trial_balance_summary for a cheap account-type rollup instead. Returns {count, results}.

get_trial_balance_summary

ChatGPT
Trial balance collapsed to totals by account type per period, plus account counts and per-period absolute totals. A cheap "is there data for this period?" check; drill into accounts with get_trial_balance.

get_unearned_revenue_by_customer

ChatGPT
Accrued / unearned revenue (ACCRUED_REVENUE accounts, net credit) grouped by customer. Dates are optional and bound the posted transactions; omit both for all activity.

get_vendors

ChatGPT
Retrieve vendors with optional filtering by search query and vendor type. Returns {count, results}.

income_statement

ChatGPT
Generate income statement for a specified period and cadence. Dates must be YYYY-MM-DD. Can be filtered to specific departments, accounts and tags.

list_record_attachments

ChatGPT
List file attachments on one record as safe metadata (file id, name, content type, size, timestamps). Storage paths and uploader details are never returned. A missing or inaccessible record reports status not_found.

read_help_article

ChatGPT
Read one complete Campfire help article by the Article ID surfaced by search_docs. Returns {content} as markdown.

read_record_attachment

ChatGPT
Read a bounded portion of one attachment's text. PDFs return page labels and continuation hints; other documents use character offsets. Content passes a safety scan before it is returned, which counts toward the company's Ember AI spend. Call list_record_attachments first to get the file id.

search_docs

ChatGPT
Search Campfire help documentation and return the most relevant sections in full, each with its public link and an 'Article ID:' line. Use read_help_article with that id when a section is not enough context. Returns {content} as markdown.

balance_sheet

Claude

cash_flow_statement

Claude

get_accounts

Claude

get_aging

Claude

get_budgets

Claude

get_contracts

Claude

get_departments

Claude

get_entities

Claude

get_tags

Claude

get_transactions

Claude

get_vendors

Claude

income_statement

Claude

Similar Apps