KikoBooks MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KIKOBOOKS_API_KEY | No | API key for authentication (alternative to access token) | |
| KIKOBOOKS_BASE_URL | Yes | KikoBooks API base URL (required) | |
| KIKOBOOKS_ENVIRONMENT | No | Environment: sandbox or production (optional) | |
| KIKOBOOKS_ACCESS_TOKEN | No | Direct JWT access token (alternative to API key) | |
| KIKOBOOKS_REFRESH_TOKEN | No | JWT refresh token (optional, for token management) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_accountsA | List chart of accounts from KikoBooks. Supports filtering by category (ASSET, LIABILITY, EQUITY, INCOME, EXPENSE), type, and text search. Returns paginated results. |
| search_bill_paymentsB | List bill payments (AP) from KikoBooks. Supports filtering by vendor, status, payment method, date range, and text search. Returns paginated results. |
| search_billsA | List bills (accounts payable) from KikoBooks. Filter by status, vendor, date range, or overdue status. Returns paginated results. |
| search_credit_memosA | List credit memos (AR) from KikoBooks. Supports filtering by customer, status, reason, date range, amount range, and remaining balance. Returns paginated results. |
| search_customersB | Search customers in KikoBooks. Supports text search across name, company, and email. Returns paginated results with sorting options. |
| search_invoicesC | Search invoices in KikoBooks. Filter by status (DRAFT, PENDING, SENT, PAID, etc.), customer, date range, or overdue status. Returns paginated results. |
| search_itemsC | List products/services (items) from KikoBooks. Returns paginated results with search support. |
| search_journal_entriesA | List journal entries from KikoBooks general ledger. Filter by date range, source (MANUAL, AR_INVOICE, AP_BILL, etc.), and posted status. Posted entries are immutable. |
| search_paymentsB | List customer payments (AR) from KikoBooks. Supports filtering by customer, status, payment method, date range, and text search. Returns paginated results. |
| search_purchasesC | Search purchases (expenses) in KikoBooks. Supports filtering by vendor, status, date range, and text search. |
| search_sales_receiptsA | List sales receipts from KikoBooks. Sales receipts record instant payments (no invoice needed). Supports filtering by customer, status, payment method, and date range. |
| search_vendorsC | Search vendors in KikoBooks. Supports text search by name or company. Returns paginated results. |
| search_leadsA | Search CRM leads (prospective customers). Filter by status, lead source, tag, or text. Requires the Sales module — call get_enabled_modules first for self-service (CB) orgs. Returns paginated results. |
| search_dealsA | Search CRM deals (sales opportunities) in the pipeline. Filter by status, pipeline, stage, lead, tag, or text. Requires the Sales module — call get_enabled_modules first for CB orgs. Returns paginated results. |
| search_proposalsA | Search proposals in KikoBooks. Filter by customer, status (draft, sent, signed, declined), name, source, or date range. Requires the Sales module — call get_enabled_modules first for CB orgs. Returns paginated results. |
| search_jobsA | Search jobs (shown as 'Projects' for self-service businesses, 'Engagements' for accounting firms). Filter by customer, status, name, or tags. Requires the Workflow module — call get_enabled_modules first for CB orgs. Returns paginated results. |
| get_accountA | Get a single chart of accounts entry by ID from KikoBooks. Returns full account details including balances, hierarchy, and metadata. |
| get_bill_paymentB | Get a bill payment (AP) by ID from KikoBooks. Returns full payment details including bill applications. |
| get_billA | Get a single bill by ID from KikoBooks. Returns full bill details including line items, payment history, and balance due. |
| get_credit_memoA | Get a credit memo by ID from KikoBooks. Returns full credit memo details including line items and application history. |
| get_customerA | Get a single customer by ID from KikoBooks. Returns full customer details including contact info, addresses, and balance. |
| get_invoiceA | Get a single invoice by ID from KikoBooks. Returns full invoice details including line items, payments, credits, and balance due. |
| get_itemA | Get a single product/service item by ID from KikoBooks. Returns full item details including pricing and account mapping. |
| get_journal_entryB | Get a single journal entry by ID from KikoBooks. Returns full entry details including debit/credit lines, posting status, and audit hash. |
| get_paymentA | Get a customer payment (AR) by ID from KikoBooks. Returns full payment details including allocations to invoices. |
| get_purchaseB | Get a single purchase (expense) by ID from KikoBooks. Returns full purchase details. |
| get_sales_receiptB | Get a sales receipt by ID from KikoBooks. Returns full receipt details including line items and payment information. |
| get_vendorA | Get a single vendor by ID from KikoBooks. Returns full vendor details including contact, addresses, and payment terms. |
| get_connection_statusA | Report whether the KikoBooks MCP server is connected to an organization. Returns status (connected | unauthenticated | disconnected), whether credentials are configured, and the API base URL. Never returns the API key or any token. Call this first to confirm connectivity before other tools. |
| get_enabled_modulesA | List the modules and capabilities enabled for the connected organization. Bookkeeping and AI are always available. CRM, Proposals (Sales), and Workflow are mandatory for accounting firms (CA) but opt-in for self-service businesses (CB), so call this before offering any sales, proposal, or job/workflow action — if a module is not enabled, do not attempt its tools. |
| get_leadA | Get a single CRM lead by ID with full detail (contact info, status, source, linked customer). Requires the Sales module. |
| get_dealA | Get a single CRM deal by ID with full detail (value, stage, pipeline, linked lead/customer). Requires the Sales module. |
| get_pipelineA | Get the CRM sales pipeline with its stages and per-stage deal counts — the 'where are my deals' overview. Optionally narrow to one pipeline by ID. Requires the Sales module. |
| get_proposalA | Get a single proposal by ID with full detail (status, pricing options, line items, signatures). Requires the Sales module. |
| get_jobA | Get a single job (Project/Engagement) by ID with full detail (status, customer, dates, billing). Requires the Workflow module. |
| list_job_tasksA | List the tasks for a specific job (Project/Engagement). Filter by status or name. Requires the Workflow module. |
| create_accountB | Create a new account in the KikoBooks chart of accounts. Requires account number, name, category (ASSET/LIABILITY/EQUITY/INCOME/EXPENSE), and type code. |
| create_bill_paymentB | Create a bill payment (AP) in KikoBooks. Requires vendor ID, payment date, source account, and amount. Optionally apply to specific bills. |
| create_billC | Create a new bill (accounts payable) in KikoBooks. Requires vendor ID, dates, and line items. |
| create_credit_memoB | Create a credit memo (AR) in KikoBooks. Requires customer ID, date, reason code, and at least one line item. Can be linked to a specific invoice. |
| create_customerC | Create a new customer in KikoBooks. Requires at minimum a display name. Optionally include contact details, billing address, and payment terms. |
| create_invoiceC | Create a new invoice in KikoBooks. Requires customer ID, dates, and at least one line item with description, quantity, and unit price. |
| create_itemB | Create a new product/service item in KikoBooks. Requires a name. Optionally include pricing, type, and account mappings. |
| create_journal_entryA | Create a manual journal entry in KikoBooks. Requires entry date and debit/credit lines that balance. Once posted, entries are immutable — corrections require reversal entries. |
| create_paymentB | Create a customer payment (AR) in KikoBooks. Requires customer ID, date, method, and amount. Optionally allocate to specific invoices. |
| create_purchaseC | Create a purchase (expense) in KikoBooks. Requires expense date and line items with amounts and expense accounts. |
| create_sales_receiptB | Create a sales receipt in KikoBooks. Sales receipts record instant payment+sale in one step (no separate invoice needed). Requires date and at least one line item. |
| create_vendorC | Create a new vendor in KikoBooks. Requires display name. Optionally include contact details, address, and 1099 eligibility. |
| create_leadA | Create a new CRM lead. Requires first and last name; optionally include company, contact details, status, score, source, and tags. Requires the Sales module and the write scope. Preview the details and confirm with the user before calling. |
| create_dealA | Create a new CRM deal (sales opportunity) from a lead. Requires leadId, pipelineStageId, and dealName; optionally include value, currency, status, expected close date, probability, and tags. Requires the Sales module and the write scope. Confirm with the user before calling. |
| update_accountC | Update an existing account in the KikoBooks chart of accounts. Provide the account ID and the fields to update. |
| update_billB | Update an existing bill in KikoBooks. Only DRAFT/PENDING bills can be fully edited. |
| update_customerC | Update an existing customer in KikoBooks. Provide the customer ID and the fields to update. |
| update_invoiceA | Update an existing invoice in KikoBooks. Only DRAFT invoices can be fully edited. For posted invoices, only status changes and memo updates are allowed. |
| update_itemC | Update an existing product/service item in KikoBooks. |
| update_purchaseC | Update an existing purchase (expense) in KikoBooks. |
| update_vendorC | Update an existing vendor in KikoBooks. Provide the vendor ID and the fields to update. |
| update_dealA | Update an existing CRM deal. Supply the deal_id and the full deal object (leadId, pipelineStageId, and dealName are required). Use this to change value, status, close date, or probability. Requires the Sales module and the write scope. Read the current deal first (get_deal), then confirm changes. |
| update_job_statusA | Update a job's (Project/Engagement) status. Requires the Workflow module and the write scope. Read the current job first (get_job) and confirm the new status with the user before calling. |
| update_task_statusA | Update a job task's status (e.g. mark a task complete). Requires the Workflow module and the write scope. List tasks first (list_job_tasks) and confirm the new status with the user before calling. |
| delete_customerB | Delete (deactivate) a customer in KikoBooks. This performs a soft delete by setting the customer as inactive. |
| delete_purchaseC | Delete a purchase (expense) in KikoBooks. |
| delete_vendorB | Delete (deactivate) a vendor in KikoBooks. This performs a soft delete by setting the vendor as inactive. |
| post_journal_entryA | Post a journal entry to the general ledger in KikoBooks. Once posted, the entry becomes immutable and affects account balances. |
| reverse_journal_entryA | Reverse a posted journal entry in KikoBooks. Creates a new entry with opposite debits/credits. Posted entries cannot be deleted — only reversed. |
| void_bill_paymentA | Void a bill payment (vendor payment) in KikoBooks. Voiding reverses the payment's accounting impact without physically deleting the record. |
| void_billA | Void a bill in KikoBooks. Voiding marks the bill as cancelled and reverses any accounting impact. Only applicable to posted bills. |
| move_deal_stageA | Move a CRM deal to a different pipeline stage (advance or regress it on the board). Requires the Sales module and the write scope. Preview the target stage and confirm before calling. |
| promote_deal_to_customerA | Promote a deal's customer to the 'Customer' lifecycle stage and link it to the deal. This is the required gate before creating a proposal or job from a deal. Requires the Sales module and the write scope. Confirm with the user before calling. |
| generate_invoice_from_proposalA | Generate a DRAFT AR invoice from a signed/contracted proposal — the Proposal → invoice bridge. Maps the selected pricing option's line items onto a new draft invoice (does not post to GL). Requires the Sales module and the write scope. Confirm the proposal and terms with the user before calling, then verify the created invoice with search_invoices or get_invoice. |
| generate_invoice_from_jobA | Generate a DRAFT AR invoice from a job's approved timesheets and billable expenses — the Job → invoice bridge. Creates a draft invoice (does not post to GL). Requires the Workflow module and the write scope. Confirm the job and date with the user before calling, then verify the created invoice with get_invoice. |
| copy_proposalA | Duplicate an existing proposal into a new draft. Requires the Sales module and the write scope. Confirm with the user before calling. |
| create_job_from_proposalA | Create a job (with tasks) from an accepted proposal's line items — the Proposal → Workflow bridge. Requires proposal_id and job_name. Requires the Sales and Workflow modules and the write scope. Confirm the proposal and job name with the user before calling, then verify with search_jobs. |
| get_trial_balanceA | Get the trial balance (debit/credit balances per GL account) as of a date. Read-only financial report. Optionally filter by account category, type, or code. |
| get_profit_and_lossA | Get the monthly profit & loss (income statement) trend — revenue, expenses, and net profit per month. Read-only. Use trendPeriods to control how many months. |
| get_ar_agingA | Get accounts-receivable aging brackets (current, 1-30, 31-60, 61-90, 90+ days) — how much customers owe and how overdue. Read-only report. |
| get_ap_agingA | Get accounts-payable aging brackets (current, 1-30, 31-60, 61-90, 90+ days) — how much is owed to vendors and how overdue. Read-only report. |
| get_cash_positionB | Get the current cash position across GL cash accounts and bank accounts as of a date. Read-only report. |
| get_expense_by_categoryA | Get the expense breakdown grouped by category/account. Read-only report for understanding where money is being spent. |
| get_income_by_categoryA | Get the income/revenue breakdown grouped by category/account. Read-only report for understanding revenue sources. |
| get_business_healthA | Get the overall business-health summary (composite financial health indicators and scores) for the organization. Read-only dashboard report. |
| search_bank_accountsB | Search the organization's bank accounts (connected/manual) with paging and filters. Read-only. |
| get_bank_accountA | Get full details of a single bank account by ID. Read-only. |
| search_bank_transactionsA | Search imported bank transactions with filters (account, date range, direction, match status, duplicates). Read-only — this is append-only bank evidence. |
| get_bank_transactionA | Get full details of a single imported bank transaction by ID. Read-only. |
| search_reconciliation_sessionsA | Search bank reconciliation sessions (open and completed) with filters by account and status. Read-only. |
| get_reconciliation_summaryA | Get the bank reconciliation summary across accounts — matched/unmatched counts and cleared balances. Read-only. |
| search_depositsB | Search bank deposits (grouped undeposited payments moved to a bank account) with filters. Read-only. |
| get_depositA | Get full details of a single bank deposit by ID, including its allocated payments. Read-only. |
| search_fixed_assetsB | Search fixed assets (capitalized property/equipment) with filters by category, status, depreciation method, location, or department. Read-only. |
| get_fixed_assetA | Get full details of a single fixed asset by ID, including depreciation settings. Read-only. |
| search_recurring_schedulesA | Search recurring invoice schedules (templates that auto-generate invoices on a cadence) with filters. Read-only. |
| get_recurring_scheduleA | Get full details of a single recurring invoice schedule by ID. Read-only. |
| search_statementsB | Search customer statements (periodic AR statements sent to customers) with filters. Read-only. |
| get_statementA | Get full details of a single customer statement by ID. Read-only. |
| get_organization_detailsA | Get the connected organization's profile — legal name, currency, fiscal settings, and enabled modules. Read-only. |
| create_depositA | Create a bank deposit from undeposited payments/receipts (DR Bank, CR Undeposited Funds on posting). Created as a DRAFT; use post_deposit to post it. Preview and confirm with the user before calling. |
| update_depositA | Update a DRAFT bank deposit. Posted deposits cannot be edited. Preview and confirm with the user first. |
| delete_depositA | Soft-delete a DRAFT deposit. Posted deposits must be voided, not deleted. Confirm with the user first. |
| void_depositA | Void a deposit (sets status to VOID with a reversing effect). Use instead of delete for posted deposits. Confirm with the user first. |
| post_depositA | Post a DRAFT deposit to the General Ledger (DR Bank, CR Undeposited Funds). Irreversible except by void. Confirm with the user first. |
| create_fixed_assetB | Register a new fixed asset, optionally with depreciation settings (method, useful life, salvage, GL accounts). Preview and confirm with the user first. |
| update_fixed_assetA | Update a fixed asset. Financial fields are locked once depreciation has been posted. Confirm with the user first. |
| dispose_fixed_assetA | Dispose a fixed asset (sale/scrap/donation) — creates a disposal record and updates asset status, recognizing any gain/loss. Confirm with the user first. |
| run_depreciationA | Run depreciation for a fiscal year + period — posts all unposted depreciation schedule entries and updates accumulated depreciation. Posts to the GL. Confirm with the user first. |
| delete_recurring_scheduleA | Soft-delete a DRAFT recurring invoice schedule. Confirm with the user first. |
| pause_recurring_scheduleA | Pause an active recurring invoice schedule so it stops generating invoices. Confirm with the user first. |
| resume_recurring_scheduleA | Resume a paused recurring invoice schedule. Confirm with the user first. |
| activate_recurring_scheduleA | Activate a DRAFT recurring invoice schedule so it begins generating invoices on its cadence. Confirm with the user first. |
| generate_recurring_invoiceA | Generate an invoice now from a recurring schedule and advance its next-run date. Creates a DRAFT invoice. Confirm with the user first. |
| delete_statementA | Soft-delete a DRAFT customer statement. Confirm with the user first. |
| send_statementA | Send a customer statement to the customer (email). Show the recipient to the user and confirm before sending. |
| start_reconciliationA | Start a bank reconciliation session for an account over a statement period, seeded with the closing statement balance. Confirm with the user first. |
| complete_reconciliationA | Complete/finish a reconciliation session. Fails if a difference remains unless forceComplete is set. Confirm with the user first. |
| cancel_reconciliationA | Cancel an in-progress reconciliation session (discards its clearing state). Confirm with the user first. |
| set_statement_balanceA | Update the closing statement balance on an in-progress reconciliation session. Confirm with the user first. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 116 tools
Most tools map to a distinct resource plus action, and descriptions clarify boundaries such as search_bills versus search_bill_payments. A few overlaps remain—update_deal versus move_deal_stage, get_payment versus get_bill_payment, and search_accounts versus search_bank_accounts—but overall selection is largely manageable.
All tool names use snake_case with a verb_noun pattern (search_/get_/create_/update_/delete_/void_/post_/generate_). Minor variations such as list_job_tasks and action-specific verbs still follow the same predictable convention.
116 tools is extreme for a single MCP server, far beyond the 3-15 well-scoped range and well past the 50+ threshold. The surface is overwhelming and likely to strain tool selection, even if many tools are individually justified.
The server covers search/get/create/update for many core entities and includes reports, banking, fixed assets, and CRM flows. However, notable lifecycle gaps exist: proposals have no create/update/send tools, jobs lack direct creation and timesheet tools despite invoice-from-timesheet support, and invoices lack void/send operations.