KashFlow MCP by usefulapi
Read KashFlow invoices, customers, suppliers, banking and reports; add customers, notes.
使うべきか
品質と安全性
検出事項(4)
- LOWkashflow_find_customer_by_email 内
- LOWkashflow_list_customer_invoices 内
- LOWkashflow_list_supplier_receipts 内
- LOWkashflow_list_bank_transactions 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"kashflow": {
"url": "https://kashflow.usefulapi.io/mcp"
}
}
}リモートエンドポイント
https://kashflow.usefulapi.io/mcpstreamable-httpできること
ツール一覧
ツール(38)
🟢kashflow_get_company_details
The KashFlow company: name, address, contact, VAT registration, currency, payment terms and business type. SOAP GetCompanyDetails.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_customers(limit, offset)
All customers (name, code, contact, email, phone, address, VAT number, payment terms, notes), paged here: the reply says total and next_offset. SOAP GetCustomers.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_customer(customer_code)
One customer by its KashFlow customer code (the short code shown in the customer list, e.g. ACME01). SOAP GetCustomer.
入力スキーマ
{
"type": "object",
"properties": {
"customer_code": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The customer code, e.g. ACME01."
}
},
"required": [
"customer_code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_customer_by_id(customer_id)
One customer by its numeric CustomerID (as returned in other replies). SOAP GetCustomerByID.
入力スキーマ
{
"type": "object",
"properties": {
"customer_id": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The numeric CustomerID."
}
},
"required": [
"customer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_find_customer_by_email(email)
The customer whose e-mail address matches. SOAP GetCustomerByEmail.
入力スキーマ
{
"type": "object",
"properties": {
"email": {
"type": "string",
"minLength": 3,
"maxLength": 254,
"description": "The customer's e-mail address."
}
},
"required": [
"email"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_customer_balance(customer_code)
What one customer owes: the total invoiced value and the outstanding balance. SOAP GetCustomerBalance.
入力スキーマ
{
"type": "object",
"properties": {
"customer_code": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The customer code, e.g. ACME01."
}
},
"required": [
"customer_code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡kashflow_create_customer(code, name, contact, email, telephone, ...)
WRITE: create a new customer. The code must be unique (KashFlow refuses a code that exists) and nothing existing is changed. Returns the new CustomerID. SOAP InsertCustomer.
入力スキーマ
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "A unique customer code, e.g. ACME01."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The customer / company name."
},
"contact": {
"description": "Contact person.",
"type": "string",
"maxLength": 200
},
"email": {
"type": "string",
"maxLength": 254
},
"telephone": {
"type": "string",
"maxLength": 50
},
"mobile": {
"type": "string",
"maxLength": 50
},
"address1": {
"type": "string",
"maxLength": 200
},
"address2": {
"type": "string",
"maxLength": 200
},
"address3": {
"type": "string",
"maxLength": 200
},
"address4": {
"type": "string",
"maxLength": 200
},
"postcode": {
"type": "string",
"maxLength": 20
},
"country_name": {
"description": "Country name, e.g. United Kingdom.",
"type": "string",
"maxLength": 100
},
"country_code": {
"description": "Two-letter ISO country code, e.g. GB.",
"type": "string",
"pattern": "^[A-Za-z]{2}$"
},
"website": {
"type": "string",
"maxLength": 200
},
"vat_number": {
"type": "string",
"maxLength": 50
},
"tax_region": {
"description": "VAT classification of the customer: uk (default, domestic), eu (EC customer) or outside_eu. Set it for customers outside the UK.",
"type": "string",
"enum": [
"uk",
"eu",
"outside_eu"
]
},
"payment_terms_days": {
"description": "Payment terms in days.",
"type": "integer",
"minimum": 0,
"maximum": 3650
},
"notes": {
"type": "string",
"maxLength": 5000
}
},
"required": [
"code",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_suppliers(limit, offset)
All suppliers (name, code, contact, email, phone, address, VAT number, payment terms), paged here: the reply says total and next_offset. SOAP GetSuppliers.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_supplier(supplier_code)
One supplier by its KashFlow supplier code. SOAP GetSupplier.
入力スキーマ
{
"type": "object",
"properties": {
"supplier_code": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "The supplier code."
}
},
"required": [
"supplier_code"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡kashflow_create_supplier(code, name, contact, email, telephone, ...)
WRITE: create a new supplier. The code must be unique (KashFlow refuses a code that exists) and nothing existing is changed. Returns the new SupplierID. SOAP InsertSupplier.
入力スキーマ
{
"type": "object",
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 100,
"description": "A unique supplier code, e.g. OFFICE01."
},
"name": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "The supplier / company name."
},
"contact": {
"description": "Contact person.",
"type": "string",
"maxLength": 200
},
"email": {
"type": "string",
"maxLength": 254
},
"telephone": {
"type": "string",
"maxLength": 50
},
"mobile": {
"type": "string",
"maxLength": 50
},
"address1": {
"type": "string",
"maxLength": 200
},
"address2": {
"type": "string",
"maxLength": 200
},
"address3": {
"type": "string",
"maxLength": 200
},
"address4": {
"type": "string",
"maxLength": 200
},
"postcode": {
"type": "string",
"maxLength": 20
},
"website": {
"type": "string",
"maxLength": 200
},
"vat_number": {
"type": "string",
"maxLength": 50
},
"eu_supplier": {
"description": "True for a supplier in another EU country (EC supplier). Default false (UK).",
"type": "boolean"
},
"payment_terms_days": {
"description": "Payment terms in days.",
"type": "integer",
"minimum": 0,
"maximum": 3650
},
"notes": {
"type": "string",
"maxLength": 5000
}
},
"required": [
"code",
"name"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_invoice(invoice_number)
One sales invoice by its invoice number: customer, dates, lines (description, quantity, rate, VAT), net, VAT, amount paid and a link. SOAP GetInvoice.
入力スキーマ
{
"type": "object",
"properties": {
"invoice_number": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The invoice number, e.g. 1042."
}
},
"required": [
"invoice_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_invoices(start_date, end_date, limit, offset)
Sales invoices dated within a range (inclusive; a bare end date means the end of that day), paged here. Dates are yyyy-mm-dd. SOAP GetInvoicesByDateRange.
入力スキーマ
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "First invoice date, yyyy-mm-dd."
},
"end_date": {
"type": "string",
"description": "Last invoice date, yyyy-mm-dd."
},
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_customer_invoices(customer_id, limit, offset)
All sales invoices of one customer, by numeric CustomerID (see kashflow_get_customer for the id), paged here. SOAP GetInvoicesForCustomer.
入力スキーマ
{
"type": "object",
"properties": {
"customer_id": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The numeric CustomerID."
},
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"customer_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_unpaid_invoices(limit, offset)
All sales invoices not yet paid in full, paged here. SOAP GetInvoices_Unpaid.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_overdue_invoices(limit, offset)
All sales invoices past their due date and not paid in full, paged here. SOAP GetInvoices_Overdue.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_recent_invoices(count)
The most recently created sales invoices. SOAP GetInvoices_Recent.
入力スキーマ
{
"type": "object",
"properties": {
"count": {
"description": "How many invoices (default 20, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_invoice_payments(invoice_number)
The payments recorded against one sales invoice (date, amount, method, bank account, note), by invoice number. SOAP GetInvoicePayment.
入力スキーマ
{
"type": "object",
"properties": {
"invoice_number": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The invoice number."
}
},
"required": [
"invoice_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_payments_by_date(start_date, end_date, page_number)
Customer payments received within a date range (date, amount, invoice, method, bank account). KashFlow returns them a page at a time: set page_number 1, 2, ... until a page comes back empty. Dates are yyyy-mm-dd. SOAP GetInvoicePaymentsByDateRange.
入力スキーマ
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "First payment date, yyyy-mm-dd."
},
"end_date": {
"type": "string",
"description": "Last payment date, yyyy-mm-dd."
},
"page_number": {
"description": "Page number, starting at 1 (default 1).",
"type": "integer",
"minimum": 1,
"maximum": 100000
}
},
"required": [
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_invoice_notes(invoice_id)
The notes attached to one sales invoice, by its InvoiceDBID (the numeric id in invoice replies, not the invoice number). SOAP GetInvoiceNotes.
入力スキーマ
{
"type": "object",
"properties": {
"invoice_id": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The invoice's InvoiceDBID."
}
},
"required": [
"invoice_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟡kashflow_add_invoice_note(invoice_id, note, note_date)
WRITE: add a note to a sales invoice, by its InvoiceDBID (the numeric id in invoice replies). Existing notes and the invoice are not changed. SOAP InsertInvoiceNote.
入力スキーマ
{
"type": "object",
"properties": {
"invoice_id": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The invoice's InvoiceDBID."
},
"note": {
"type": "string",
"minLength": 1,
"maxLength": 5000,
"description": "The note text."
},
"note_date": {
"description": "Note date, yyyy-mm-dd or yyyy-mm-ddThh:mm:ss (default: now, UTC).",
"type": "string"
}
},
"required": [
"invoice_id",
"note"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_quotes(limit, offset)
All sales quotes (same shape as invoices), paged here. SOAP GetQuotes.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_receipt(receipt_number)
One purchase (supplier invoice / receipt) by its receipt number: supplier, dates, lines, net, VAT, amount paid. SOAP GetReceipt.
入力スキーマ
{
"type": "object",
"properties": {
"receipt_number": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The purchase (receipt) number."
}
},
"required": [
"receipt_number"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_recent_receipts(count)
The most recently created purchases (supplier invoices / receipts). SOAP GetReceipts_Recent.
入力スキーマ
{
"type": "object",
"properties": {
"count": {
"description": "How many purchases (default 20, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_supplier_receipts(supplier_id, limit, offset)
All purchases (supplier invoices / receipts) of one supplier, by numeric SupplierID (see kashflow_get_supplier), paged here. SOAP GetReceiptsForSupplier.
入力スキーマ
{
"type": "object",
"properties": {
"supplier_id": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The numeric SupplierID."
},
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"supplier_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_products(limit, offset)
The product catalogue (name, code, description, price, stock level), paged here. SOAP GetProducts.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_bank_accounts
The bank accounts (AccountID, name, nominal code). SOAP GetBankAccounts.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_bank_transactions(account_id, limit, offset)
The transactions of one bank account (date, money in/out, VAT, type, comment, customer/supplier), by AccountID from kashflow_list_bank_accounts, paged here. SOAP GetBankTransactions.
入力スキーマ
{
"type": "object",
"properties": {
"account_id": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The bank account's AccountID."
},
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"account_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_bank_balance(account_id, date)
The balance of one bank account on a date (default today). SOAP GetBankBalance.
入力スキーマ
{
"type": "object",
"properties": {
"account_id": {
"type": "integer",
"minimum": 1,
"maximum": 2147483647,
"description": "The bank account's AccountID."
},
"date": {
"description": "Balance date, yyyy-mm-dd (default today, UTC).",
"type": "string"
}
},
"required": [
"account_id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_nominal_codes(limit, offset)
The chart of accounts: nominal codes with their names. SOAP GetNominalCodes.
入力スキーマ
{
"type": "object",
"properties": {
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_vat_rates
The VAT rates set up in the account. SOAP GetVATRates.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_list_projects
The projects defined in the account (id, name). SOAP GetProjects.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_profit_and_loss(start_date, end_date)
The profit and loss report for a date range: turnover, cost of sales, gross profit, expenses and net profit, with the lines of each section. SOAP GetProfitAndLoss.
入力スキーマ
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "Start of the period, yyyy-mm-dd."
},
"end_date": {
"type": "string",
"description": "End of the period, yyyy-mm-dd."
}
},
"required": [
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_balance_sheet(date)
The balance sheet at a date (default today): fixed assets, current assets, current liabilities, capital and reserves with the lines of each. SOAP GetBalanceSheet.
入力スキーマ
{
"type": "object",
"properties": {
"date": {
"description": "Balance sheet date, yyyy-mm-dd (default today, UTC).",
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_trial_balance(start_date, end_date, limit, offset)
The trial balance for a date range: every nominal code with debit, credit and balance. SOAP GetTrialBalance.
入力スキーマ
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "Start of the period, yyyy-mm-dd."
},
"end_date": {
"type": "string",
"description": "End of the period, yyyy-mm-dd."
},
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"required": [
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_aged_debtors(date, limit, offset)
Who owes you money at a date (default today), aged into current, three periods and older, per customer. SOAP GetAgedDebtors.
入力スキーマ
{
"type": "object",
"properties": {
"date": {
"description": "Report date, yyyy-mm-dd (default today, UTC).",
"type": "string"
},
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_aged_creditors(date, limit, offset)
Who you owe money to at a date (default today), aged into current, three periods and older, per supplier. SOAP GetAgedCreditors.
入力スキーマ
{
"type": "object",
"properties": {
"date": {
"description": "Report date, yyyy-mm-dd (default today, UTC).",
"type": "string"
},
"limit": {
"description": "How many records to return (default 100, max 500).",
"type": "integer",
"minimum": 1,
"maximum": 500
},
"offset": {
"description": "How many records to skip (default 0), to get the next page.",
"type": "integer",
"minimum": 0,
"maximum": 10000000
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_vat_report(start_date, end_date)
The VAT return figures (boxes 1 to 9) for a period, and whether it was submitted to HMRC. SOAP GetVATReport.
入力スキーマ
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "Start of the VAT period, yyyy-mm-dd."
},
"end_date": {
"type": "string",
"description": "End of the VAT period, yyyy-mm-dd."
}
},
"required": [
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢kashflow_get_kpis(start_date, end_date, exclude_vat, exclude_same_day_payments)
Key figures for a date range (income, expenses, profit and similar, as name/value pairs). SOAP GetKPIs.
入力スキーマ
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "Start of the period, yyyy-mm-dd."
},
"end_date": {
"type": "string",
"description": "End of the period, yyyy-mm-dd."
},
"exclude_vat": {
"description": "Leave VAT out of the figures (default false).",
"type": "boolean"
},
"exclude_same_day_payments": {
"description": "Leave out invoices paid the day they were issued (default false).",
"type": "boolean"
}
},
"required": [
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}コミュニティ
エビデンス