{"name":"accountsos","version":"1.0.0","tools":[{"name":"get_transactions","description":"Get transactions for the company with optional filters","inputSchema":{"type":"object","properties":{"from_date":{"type":"string","description":"Start date (YYYY-MM-DD)"},"to_date":{"type":"string","description":"End date (YYYY-MM-DD)"},"category":{"type":"string","description":"Filter by category"},"min_amount":{"type":"number","description":"Minimum amount"},"max_amount":{"type":"number","description":"Maximum amount"},"search":{"type":"string","description":"Search in description"},"limit":{"type":"number","description":"Max results (default 50, max 100)"},"offset":{"type":"number","description":"Skip this many rows (default 0) for pagination"}}},"title":"Get Transactions","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_balance","description":"Get current account balance","inputSchema":{"type":"object","properties":{"account_id":{"type":"string","description":"Specific account (optional)"}}},"title":"Get Balance","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_deadlines","description":"Get upcoming tax and filing deadlines","inputSchema":{"type":"object","properties":{"include_completed":{"type":"boolean","description":"Include completed deadlines"}}},"title":"Get Deadlines","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_vat_summary","description":"Get VAT summary for a quarter","inputSchema":{"type":"object","properties":{"quarter":{"type":"string","description":"Quarter (e.g., \"Q1 2025\")"}}},"title":"Get Vat Summary","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"categorize_transaction","description":"Suggest a category for a transaction","inputSchema":{"type":"object","properties":{"transaction_id":{"type":"string","description":"Transaction ID"}},"required":["transaction_id"]},"title":"Categorize Transaction","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"search_documents","description":"Search uploaded documents (receipts, invoices). Can also list documents by status without a query — status [\"pending\", \"error\"] is the Incoming queue.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query (optional when filtering by status or type)"},"type":{"type":"string","description":"Document type (receipt, invoice, statement)"},"status":{"type":"array","items":{"type":"string"},"description":"Filter by status: pending, error, processed, matched"}}},"title":"Search Documents","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"read_wiki","description":"Read a page from Finn's knowledge base — compiled UK (and US) tax and accounting guidance: rules, cross-references, edge cases, plain-English advice for company directors. Call with page=\"index\" first to list all available pages.","inputSchema":{"type":"object","properties":{"page":{"type":"string","description":"Wiki page name (e.g. \"index\", \"corporation-tax\", \"vat\", \"ir35\", \"us-sales-tax-nexus\"). Use \"index\" to see all pages."}},"required":["page"]},"title":"Read Wiki","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"search_wiki","description":"Search Finn's knowledge base by keyword. Returns matching page names and excerpts. Use when unsure which page covers a topic.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search keyword (e.g. \"marginal relief\", \"employment allowance\", \"flat rate scheme\")"}},"required":["query"]},"title":"Search Wiki","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"read_company_wiki","description":"Read a page from this company's private memory wiki — Finn's long-term per-company notes (preferences, decisions, people, recurring Q&A). Call with slug=\"index\" first to list available pages.","inputSchema":{"type":"object","properties":{"slug":{"type":"string","description":"Page slug (e.g. \"index\", or a specific topic). Defaults to \"index\"."}}},"title":"Read Company Wiki","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"search_company_wiki","description":"Search this company's private memory wiki by keyword. Returns matching page slugs, titles and excerpts.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search keyword"}},"required":["query"]},"title":"Search Company Wiki","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_tax_facts","description":"Look up current UK tax rates, thresholds and allowances (income_tax, national_insurance, corporation_tax, dividends, capital_allowances, vat, pensions, mileage, self_assessment, home_office, mtd). Returns the figure plus its source.","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Tax category (e.g. \"income_tax\", \"dividends\", \"mileage\")"},"item":{"type":"string","description":"Specific item within the category (optional — omit for all items)"},"tax_year":{"type":"string","description":"Tax year (e.g. \"2025-26\"). Defaults to current."}},"required":["category"]},"title":"Get Tax Facts","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"search_tax_facts","description":"Search UK tax knowledge by keyword when unsure which category/item to look up. Returns matching tax facts across all categories.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search query (e.g. \"employment allowance\", \"dividend tax\")"},"tax_year":{"type":"string","description":"Tax year. Defaults to current."}},"required":["query"]},"title":"Search Tax Facts","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"upload_document","description":"Upload a document (receipt, invoice, bank statement) for processing. The document will be analyzed by AI to extract data.","inputSchema":{"type":"object","properties":{"file_name":{"type":"string","description":"Original filename (e.g., \"receipt.pdf\")"},"file_data":{"type":"string","description":"Base64-encoded file content. A \"data:<mime>;base64,...\" prefix is also accepted."},"document_type":{"type":"string","description":"Type of document: receipt, invoice, bank_statement, or other","enum":["receipt","invoice","bank_statement","other"]}},"required":["file_name","file_data"]},"title":"Upload Document","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"create_transaction","description":"Create a new transaction manually","inputSchema":{"type":"object","properties":{"date":{"type":"string","description":"Transaction date (YYYY-MM-DD)"},"description":{"type":"string","description":"Transaction description"},"amount":{"type":"number","description":"Transaction amount (positive number)"},"direction":{"type":"string","enum":["in","out"],"description":"Money direction: in (income) or out (expense)"},"category_id":{"type":"string","description":"Category ID (optional - will auto-categorize if not provided)"},"counterparty":{"type":"string","description":"Name of the other party"},"notes":{"type":"string","description":"Additional notes"},"trading_entity_id":{"type":"string","description":"Trading entity ID to assign transaction to a specific income stream"}},"required":["date","description","amount","direction"]},"title":"Create Transaction","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"update_transaction","description":"Update a transaction (category, notes, reconciliation status)","inputSchema":{"type":"object","properties":{"transaction_id":{"type":"string","description":"Transaction ID"},"category_id":{"type":"string","description":"New category ID"},"notes":{"type":"string","description":"Notes to add/update"},"reconciled":{"type":"boolean","description":"Mark as reconciled"},"direction":{"type":"string","enum":["in","out"],"description":"Money direction: in (income/money received) or out (expense/money paid). Use to fix a transaction imported with the wrong sign, e.g. income that came in as an expense."},"trading_entity_id":{"type":"string","description":"Trading entity ID to assign transaction to"}},"required":["transaction_id"]},"title":"Update Transaction","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"create_deadline","description":"Create a new tax or filing deadline","inputSchema":{"type":"object","properties":{"type":{"type":"string","description":"Deadline type (e.g., vat_return, corporation_tax, confirmation_statement)"},"due_date":{"type":"string","description":"Due date (YYYY-MM-DD)"},"description":{"type":"string","description":"Description"},"period_start":{"type":"string","description":"Period start date"},"period_end":{"type":"string","description":"Period end date"}},"required":["type","due_date"]},"title":"Create Deadline","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"list_categories","description":"List available transaction categories for categorization","inputSchema":{"type":"object","properties":{"type":{"type":"string","description":"Filter by type: income, expense, asset, liability, equity"}}},"title":"List Categories","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_dla_balance","description":"Get the Director's Loan Account (DLA) balance and recent transactions. Shows if director owes company or vice versa, with S455 tax warnings.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"Max number of transactions to return (default 10)"}}},"title":"Get Dla Balance","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_invoices","description":"Get invoices the user has raised, with summary stats on outstanding and overdue amounts. Use when user asks about invoices, outstanding payments, or money owed to them.","inputSchema":{"type":"object","properties":{"status":{"type":"string","description":"Filter by status: draft, sent, paid, overdue, cancelled, all"},"contact_id":{"type":"string","description":"Filter by client/contact ID"},"search":{"type":"string","description":"Search by invoice number"}}},"title":"Get Invoices","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_contacts","description":"List contacts (clients, suppliers, leads). Use when user asks about customers, suppliers, or contacts.","inputSchema":{"type":"object","properties":{"type":{"type":"string","description":"Filter by type: client, supplier, lead, other"},"search":{"type":"string","description":"Search by name or email"},"limit":{"type":"number","description":"Max results (default 50)"}}},"title":"Get Contacts","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"create_contact","description":"Create a new contact (client, supplier, lead).","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Contact or company name"},"email":{"type":"string","description":"Email address"},"phone":{"type":"string","description":"Phone number"},"type":{"type":"string","description":"Contact type: client, supplier, lead, other"},"company_name":{"type":"string","description":"Company/organisation name"},"notes":{"type":"string","description":"Notes about this contact"}},"required":["name"]},"title":"Create Contact","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_bills","description":"Get supplier bills/invoices owed by the company. Shows what you owe to suppliers.","inputSchema":{"type":"object","properties":{"status":{"type":"string","description":"Filter: draft, received, paid, overdue, all"},"contact_id":{"type":"string","description":"Filter by supplier contact ID"},"limit":{"type":"number","description":"Max results (default 50)"}}},"title":"Get Bills","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"create_bill","description":"Record a supplier bill/invoice that the company owes.","inputSchema":{"type":"object","properties":{"contact_id":{"type":"string","description":"Supplier contact ID"},"bill_number":{"type":"string","description":"Supplier invoice/reference number"},"bill_date":{"type":"string","description":"Bill date (YYYY-MM-DD)"},"due_date":{"type":"string","description":"Payment due date (YYYY-MM-DD)"},"items":{"type":"array","description":"Line items: [{description, quantity, unit_price, vat_rate?}]","items":{"type":"object","properties":{"description":{"type":"string"},"quantity":{"type":"number"},"unit_price":{"type":"number"},"vat_rate":{"type":"number"}},"required":["description","quantity","unit_price"]}},"notes":{"type":"string","description":"Internal notes"}},"required":["contact_id","bill_date","due_date","items"]},"title":"Create Bill","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"pay_bill","description":"Record a payment against a bill.","inputSchema":{"type":"object","properties":{"bill_id":{"type":"string","description":"Bill ID to pay"},"amount":{"type":"number","description":"Payment amount"},"payment_date":{"type":"string","description":"Payment date (YYYY-MM-DD)"},"payment_method":{"type":"string","description":"Payment method (bank_transfer, card, cash, other)"}},"required":["bill_id","amount","payment_date"]},"title":"Pay Bill","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_estimates","description":"Get estimates/quotes sent to clients.","inputSchema":{"type":"object","properties":{"status":{"type":"string","description":"Filter: draft, sent, accepted, declined, all"},"contact_id":{"type":"string","description":"Filter by client contact ID"},"limit":{"type":"number","description":"Max results (default 50)"}}},"title":"Get Estimates","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"create_estimate","description":"Create a new estimate/quote for a client.","inputSchema":{"type":"object","properties":{"contact_id":{"type":"string","description":"Client contact ID"},"estimate_date":{"type":"string","description":"Estimate date (YYYY-MM-DD)"},"valid_until":{"type":"string","description":"Expiry date (YYYY-MM-DD)"},"items":{"type":"array","description":"Line items: [{description, quantity, unit_price, vat_rate?}]","items":{"type":"object","properties":{"description":{"type":"string"},"quantity":{"type":"number"},"unit_price":{"type":"number"},"vat_rate":{"type":"number"}},"required":["description","quantity","unit_price"]}},"notes":{"type":"string","description":"Notes to client"}},"required":["contact_id","estimate_date","items"]},"title":"Create Estimate","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_profit_and_loss","description":"Get Profit and Loss (income statement) report for a period.","inputSchema":{"type":"object","properties":{"from_date":{"type":"string","description":"Start date (YYYY-MM-DD)"},"to_date":{"type":"string","description":"End date (YYYY-MM-DD)"}}},"title":"Get Profit And Loss","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_balance_sheet","description":"Get Balance Sheet report as at a given date.","inputSchema":{"type":"object","properties":{"as_at":{"type":"string","description":"Report date (YYYY-MM-DD). Default: today"}}},"title":"Get Balance Sheet","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_trial_balance","description":"Get Trial Balance showing all account balances.","inputSchema":{"type":"object","properties":{"from_date":{"type":"string","description":"Start date (YYYY-MM-DD)"},"to_date":{"type":"string","description":"End date (YYYY-MM-DD)"}}},"title":"Get Trial Balance","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_tasks","description":"Get tasks and to-dos for the company.","inputSchema":{"type":"object","properties":{"completed":{"type":"boolean","description":"Filter by completion status"},"priority":{"type":"string","description":"Filter: low, medium, high, urgent"},"limit":{"type":"number","description":"Max results (default 20)"}}},"title":"Get Tasks","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"create_task","description":"Create a new task or to-do item.","inputSchema":{"type":"object","properties":{"title":{"type":"string","description":"Task title"},"description":{"type":"string","description":"Task description"},"priority":{"type":"string","description":"Priority: low, medium, high, urgent"},"due_date":{"type":"string","description":"Due date (YYYY-MM-DD)"},"type":{"type":"string","description":"Task type: general, chase_invoice, pay_bill, filing_deadline, reconcile, review"}},"required":["title"]},"title":"Create Task","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_expense_claims","description":"Get expense claims and reimbursement requests.","inputSchema":{"type":"object","properties":{"status":{"type":"string","description":"Filter: draft, submitted, approved, reimbursed, rejected"},"limit":{"type":"number","description":"Max results (default 20)"}}},"title":"Get Expense Claims","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_bank_accounts","description":"List bank accounts connected to the company.","inputSchema":{"type":"object","properties":{}},"title":"Get Bank Accounts","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_journal_entries","description":"Get General Ledger journal entries. Double-entry accounting records.","inputSchema":{"type":"object","properties":{"from_date":{"type":"string","description":"Start date (YYYY-MM-DD)"},"to_date":{"type":"string","description":"End date (YYYY-MM-DD)"},"limit":{"type":"number","description":"Max results (default 50)"}}},"title":"Get Journal Entries","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"list_opportunities","description":"List sales pipeline opportunities/deals. Shows prospects, their stage, value, and next actions.","inputSchema":{"type":"object","properties":{"stage":{"type":"string","description":"Filter by pipeline stage name"},"status":{"type":"string","enum":["active","won","lost","all"],"description":"Which deals to return, judged by the pipeline stage: \"active\" = still in play (default), \"won\" = in a closed-won stage, \"lost\" = in a closed-lost stage, \"all\" = every deal. This is NOT the project delivery status."},"limit":{"type":"number","description":"Max results (default 50)"}}},"title":"List Opportunities","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_opportunity","description":"Get detailed information about a specific pipeline opportunity/deal, including notes and activity history.","inputSchema":{"type":"object","properties":{"opportunity_id":{"type":"string","description":"Opportunity/project ID"}},"required":["opportunity_id"]},"title":"Get Opportunity","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"create_opportunity","description":"Create a new sales pipeline opportunity/deal.","inputSchema":{"type":"object","properties":{"name":{"type":"string","description":"Deal/opportunity name"},"contact_id":{"type":"string","description":"Contact ID for the prospect"},"value":{"type":"number","description":"Estimated deal value"},"stage_id":{"type":"string","description":"Pipeline stage ID (get from list_opportunities)"},"source":{"type":"string","description":"Lead source (e.g., referral, website, linkedin)"},"next_action":{"type":"string","description":"Next planned action"},"next_action_at":{"type":"string","description":"When the next action is due (YYYY-MM-DD)"},"notes":{"type":"string","description":"Initial notes"}},"required":["name"]},"title":"Create Opportunity","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"add_opportunity_note","description":"Add a note or activity log to a pipeline opportunity.","inputSchema":{"type":"object","properties":{"opportunity_id":{"type":"string","description":"Opportunity/project ID"},"content":{"type":"string","description":"Note content"},"type":{"type":"string","description":"Note type: note, call, email, meeting, task"}},"required":["opportunity_id","content"]},"title":"Add Opportunity Note","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"update_opportunity_stage","description":"Move an opportunity to a different pipeline stage (e.g., from Lead to Proposal).","inputSchema":{"type":"object","properties":{"opportunity_id":{"type":"string","description":"Opportunity/project ID"},"stage_id":{"type":"string","description":"New pipeline stage ID"},"next_action":{"type":"string","description":"Updated next action"},"next_action_at":{"type":"string","description":"Updated next action date (YYYY-MM-DD)"}},"required":["opportunity_id","stage_id"]},"title":"Update Opportunity Stage","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_financial_snapshot","description":"Get the headline money figures in one call — cash, what the company is owed (open invoices), what it owes (open bills), and net profit this month — the EXACT numbers on the user's Home dashboard. Use for \"how am I doing\", \"how much am I owed\", \"what do I owe\", \"what's my position\", or any quick headline-figure question. For invoice/bill line-level detail use get_invoices/get_bills; for ageing use get_aged_debtors/get_aged_creditors.","inputSchema":{"type":"object","properties":{}},"title":"Get Financial Snapshot","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_vat_periods","description":"List the company's VAT return periods and their status (open, locked, submitted, failed, overdue), with the net VAT due, due date, and HMRC receipt for any submitted ones. Use this FIRST when the user asks about VAT returns, \"which quarters are outstanding\", \"have I filed Q1\", or before calculating/locking/submitting — it gives you the period_id you need for the other VAT tools.","inputSchema":{"type":"object","properties":{"status":{"type":"string","description":"Optional filter: open, ready, locked, submitted, overdue, failed."},"year":{"type":"string","description":"Optional 4-digit year filter (e.g. \"2026\")."},"limit":{"type":"number","description":"Max periods to return (default 12)."}}},"title":"Get Vat Periods","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"calculate_vat_period","description":"Preview the 9-box VAT breakdown for a period WITHOUT locking it. Computes the boxes from the period's transactions using the same logic as the VAT page, so the user can review the figures before locking. Use when the user says \"what's my VAT for this quarter\", \"show me the 9 boxes\", or before lock_vat_period so they can check first. Read-only — does not change anything.","inputSchema":{"type":"object","properties":{"period_id":{"type":"string","description":"VAT period ID (UUID). Use get_vat_periods to find it."}},"required":["period_id"]},"title":"Calculate Vat Period","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_hmrc_vat_obligations","description":"Read the company's VAT obligations (the returns HMRC expects, with their period keys, start/end dates, due dates, and whether they are Open or Fulfilled) directly from HMRC MTD. Use when the user asks \"what does HMRC say I owe a return for\", \"when is my next VAT return due according to HMRC\", or to reconcile our periods against HMRC's record. Requires HMRC MTD connected.","inputSchema":{"type":"object","properties":{"from":{"type":"string","description":"Start date (YYYY-MM-DD). Defaults to ~18 months ago."},"to":{"type":"string","description":"End date (YYYY-MM-DD). Defaults to today."}}},"title":"Get Hmrc Vat Obligations","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_hmrc_vat_liabilities","description":"Read the company's VAT liabilities (amounts HMRC says are owed and when they are due) directly from HMRC MTD. Use when the user asks \"how much VAT do I owe HMRC\", \"what's outstanding on my VAT account\". Requires HMRC MTD connected.","inputSchema":{"type":"object","properties":{"from":{"type":"string","description":"Start date (YYYY-MM-DD). Defaults to ~18 months ago."},"to":{"type":"string","description":"End date (YYYY-MM-DD). Defaults to today."}}},"title":"Get Hmrc Vat Liabilities","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_hmrc_vat_payments","description":"Read the VAT payments HMRC has received on the company's account directly from HMRC MTD. Use when the user asks \"has HMRC received my VAT payment\", \"what VAT have I paid\". Requires HMRC MTD connected.","inputSchema":{"type":"object","properties":{"from":{"type":"string","description":"Start date (YYYY-MM-DD). Defaults to ~18 months ago."},"to":{"type":"string","description":"End date (YYYY-MM-DD). Defaults to today."}}},"title":"Get Hmrc Vat Payments","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_gov_guidance","description":"Search official GOV.UK tax and business guidance. Use when the user asks \"what does HMRC say about X?\", asks about tax rules, filing requirements, or wants to know the official guidance on a topic like VAT, corporation tax, dividends, or director responsibilities.","inputSchema":{"type":"object","properties":{"topic":{"type":"string","description":"The topic to search for, e.g. \"VAT returns\", \"corporation tax\", \"dividends\", \"director loans\", \"expenses\""}},"required":["topic"]},"title":"Get Gov Guidance","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_aged_debtors","description":"Aged debtors report: outstanding invoices grouped by contact, bucketed by days past due (current/not-yet-due, 1-30, 31-60, 61-90, 90+). Use when the user asks \"who owes me money\", \"what's in our debtors book\", \"show aged receivables\", or wants to pick which clients to chase. Read-only.","inputSchema":{"type":"object","properties":{"as_of_date":{"type":"string","description":"Calculate ageing as of this date (YYYY-MM-DD). Defaults to today."},"contact_id":{"type":"string","description":"Optional contact ID to scope the report to a single client"}}},"title":"Get Aged Debtors","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_aged_creditors","description":"Aged creditors report: outstanding bills grouped by supplier, bucketed by days past due (current/not-yet-due, 1-30, 31-60, 61-90, 90+). Use when the user asks \"who do I owe\", \"what bills are due\", \"show aged payables\", or is planning supplier payments. Read-only.","inputSchema":{"type":"object","properties":{"as_of_date":{"type":"string","description":"Calculate ageing as of this date (YYYY-MM-DD). Defaults to today."},"contact_id":{"type":"string","description":"Optional supplier contact ID to scope the report"}}},"title":"Get Aged Creditors","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_goals","description":"Get active business/financial goals and their progress. Use when user asks about their goals, targets, or how they are tracking against objectives.","inputSchema":{"type":"object","properties":{"status":{"type":"string","description":"Filter by status: active, completed, all (default: active)"},"goal_type":{"type":"string","description":"Filter by type: revenue_target, expense_reduction, savings_target, profit_margin, cash_reserve, debt_reduction, client_acquisition, invoice_collection, custom"}}},"title":"Get Goals","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"list_employees","description":"List active employees for the company. Use when the user asks about their employees, staff, team members, or headcount.","inputSchema":{"type":"object","properties":{"include_inactive":{"type":"boolean","description":"Include terminated/on_leave employees (default false)"}}},"title":"List Employees","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_payroll_summary","description":"Get year-to-date payroll figures, last run date, and next payment due. Use when user asks about payroll costs, total salary spend, or when the next payroll run is.","inputSchema":{"type":"object","properties":{"tax_year":{"type":"string","description":"Tax year (e.g. \"2025-26\"). Defaults to current tax year."}}},"title":"Get Payroll Summary","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_projects","description":"List projects (pipeline, active, completed). Use when the user asks about their projects, deals, or pipeline.","inputSchema":{"type":"object","properties":{"status":{"type":"string","description":"Filter by status: pitched, won, in_progress, completed, lost, all (default: all)"},"search":{"type":"string","description":"Search by project name"}}},"title":"Get Projects","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_project_pnl","description":"Get a deal/project's mini P&L: income, costs by category, and net margin, computed from bank transactions linked to it, plus invoice/bill/expense-claim commitment summaries. Use for \"how is project X doing\", \"project profit\", \"mini P&L for a project\", and for the final report when a project completes. Pass project_id if known, or project_name to resolve it by name.","inputSchema":{"type":"object","properties":{"project_id":{"type":"string","description":"Project ID (preferred if known)"},"project_name":{"type":"string","description":"Project name to resolve if project_id is not known. Case-insensitive; errors with candidate names if ambiguous."}}},"title":"Get Project Pnl","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_expenses","description":"List expense claims. Use when the user asks about expenses, expense claims, reimbursements, or receipts they have submitted.","inputSchema":{"type":"object","properties":{"status":{"type":"string","description":"Filter by status: pending, approved, rejected, reimbursed, all (default: all)"},"limit":{"type":"number","description":"Max results (default 50)"}}},"title":"Get Expenses","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_chart_of_accounts","description":"List account categories (chart of accounts). Use when the user asks about their chart of accounts, account codes, or available categories for categorizing transactions.","inputSchema":{"type":"object","properties":{"type":{"type":"string","description":"Filter by type: income, expense, asset, liability, equity, cost_of_sales"}}},"title":"Get Chart Of Accounts","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_fixed_assets","description":"List fixed assets on the register with cost, net book value, monthly depreciation and status. Use when the user asks about their asset register, depreciation schedules, NBV, or capital items tracked per asset. Filter by active, disposed, or all.","inputSchema":{"type":"object","properties":{"status":{"type":"string","enum":["active","disposed","all"],"description":"Filter by asset status. Defaults to active."}}},"title":"Get Fixed Assets","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_capital_allowance_hint","description":"Get a tax capital allowance hint for a fixed asset (book depreciation vs tax relief). GB companies get AIA/WDA guidance from official rates; other countries get a jurisdiction note. Use when the user asks about capital allowances, AIA, or tax relief on a specific asset — not a filing computation.","inputSchema":{"type":"object","properties":{"asset_id":{"type":"string","description":"Fixed asset ID from get_fixed_assets"}},"required":["asset_id"]},"title":"Get Capital Allowance Hint","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_reconciliation_status","description":"Show unreconciled transaction count per bank account. Use when the user asks about reconciliation progress, unreconciled transactions, or bank account status.","inputSchema":{"type":"object","properties":{}},"title":"Get Reconciliation Status","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_cash_flow_forecast","description":"13-week cash-flow forecast. Returns current bank balance, projected weekly inflows/outflows/running balance for the next 13 weeks, projected low point, recurring patterns detected from history, outstanding invoices expected to clear, recurring invoice projections, and tax deadlines that could draw cash. Use when the user asks about cashflow, runway, \"can I afford X\", \"when will I run out\", or wants to plan ahead.","inputSchema":{"type":"object","properties":{}},"title":"Get Cash Flow Forecast","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"month_close_summary","description":"Composite read returning everything needed to close a month in one call: P&L for the period, balance-sheet snapshot at period end, VAT summary if registered, unreconciled transaction count, outstanding invoices, and overdue deadlines. Use when the user asks about month-end, \"how did we do in [month]\", a period close, or wants a one-shot business health view — saves several round-trips compared to calling each report tool separately.","inputSchema":{"type":"object","properties":{"period_start":{"type":"string","description":"YYYY-MM-DD start of the period (e.g. 2026-05-01). Defaults to the first day of the previous calendar month."},"period_end":{"type":"string","description":"YYYY-MM-DD end of the period (e.g. 2026-05-31). Defaults to the last day of the previous calendar month."}}},"title":"Month Close Summary","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_dividends","description":"List dividend records. Use when user asks about dividends paid, dividend history, or shareholder payments.","inputSchema":{"type":"object","properties":{"tax_year":{"type":"string","description":"Filter by tax year (e.g. \"2025/26\")"},"limit":{"type":"number","description":"Max results (default 20)"}}},"title":"Get Dividends","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_recurring_invoices","description":"List recurring invoice templates. Use when user asks about recurring invoices, scheduled invoices, or subscription billing.","inputSchema":{"type":"object","properties":{"status":{"type":"string","enum":["active","paused","completed"],"description":"Filter by status (default: active)"}}},"title":"Get Recurring Invoices","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"deel_list_contracts","description":"List contracts from the user's Deel account. Use when the user asks about their Deel contracts, contractors, or team members managed through Deel.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"Max results (default 20)"},"statuses":{"type":"string","description":"Comma-separated statuses: active, completed, cancelled"}}},"title":"Deel List Contracts","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"deel_get_invoices","description":"Get invoices from the user's Deel account. Shows contractor payment invoices. Use when the user asks about Deel payments, contractor invoices, or payment history.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"Max results (default 20)"},"statuses":{"type":"string","description":"Filter by status: paid, pending, overdue"}}},"title":"Deel Get Invoices","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"deel_get_payment_receipts","description":"Get payment receipts from Deel showing payments made to contractors. Use when the user asks about specific Deel payments or needs payment proof.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"Max results (default 20)"}}},"title":"Deel Get Payment Receipts","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"deel_calculate_employment_cost","description":"Calculate the total cost of hiring someone in a specific country through Deel EOR. Use when the user asks \"how much would it cost to hire in [country]?\" or about employment costs abroad.","inputSchema":{"type":"object","properties":{"country":{"type":"string","description":"Full country name (e.g., \"Portugal\", \"Germany\", \"Ireland\"). Must be the full name, not a code."},"salary":{"type":"number","description":"Annual gross salary in the country's currency"},"currency":{"type":"string","description":"Currency code (e.g., \"EUR\", \"USD\")"}},"required":["country","salary","currency"]},"title":"Deel Calculate Employment Cost","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"deel_calculate_take_home_pay","description":"Calculate take-home pay for a given salary in a specific country. Use when the user asks about net pay, take-home salary, or deductions in a country.","inputSchema":{"type":"object","properties":{"country":{"type":"string","description":"Two-letter ISO country code (e.g., \"IE\" for Ireland, \"PT\" for Portugal)"},"salary":{"type":"number","description":"Annual gross salary"},"currency":{"type":"string","description":"Currency code"}},"required":["country","salary","currency"]},"title":"Deel Calculate Take Home Pay","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"deel_get_people","description":"List people (contractors and employees) in the user's Deel organization. Use when the user asks about their Deel team, workforce, or contractor list.","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"Max results (default 20)"}}},"title":"Deel Get People","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_document_links","description":"Get all documents linked to an entity (transaction, invoice, bill, estimate, contact, project, expense claim), or all entities linked to a document. Use when user asks \"what documents are attached to this invoice?\" or \"show me what's linked to that receipt\".","inputSchema":{"type":"object","properties":{"document_id":{"type":"string","description":"Document ID to get links for"},"entity_type":{"type":"string","description":"Entity type: transaction, invoice, bill, estimate, contact, project, expense_claim"},"entity_id":{"type":"string","description":"Entity ID to get linked documents for"}}},"title":"Get Document Links","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"find_related_documents","description":"Find documents that might be related to an entity based on amount, vendor, date, and reference matching. Shows both already-linked documents and AI-suggested matches. Use when user asks \"are there any receipts for this transaction?\" or \"find documents related to this invoice\".","inputSchema":{"type":"object","properties":{"entity_type":{"type":"string","description":"Entity type: transaction, invoice, bill, estimate, contact, project, expense_claim"},"entity_id":{"type":"string","description":"Entity ID to find related documents for"}},"required":["entity_type","entity_id"]},"title":"Find Related Documents","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_accounts_status","description":"Get the status of annual accounts preparation for the current company. Returns the current accounting period, preparation status, and next steps. Use when the user asks about their annual accounts, Companies House filing, year-end accounts, or corporation tax deadline.","inputSchema":{"type":"object","properties":{}},"title":"Get Accounts Status","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_attention","description":"Return the proactive, ranked list of everything that currently needs the user's attention across their whole account: missing bank statements, unreconciled transactions, upcoming tax/filing deadlines, a month-end ready to close, annual accounts ready to file, overdue invoices to chase, and open tasks. Use whenever the user asks what they need to do, what's outstanding, what's missing, whether anything needs them, for a status check or 'what should I focus on'. Each item includes a plain-English reason and where to fix it. Proactively offer to help with the most important ones.","inputSchema":{"type":"object","properties":{}},"title":"Get Attention","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"lookup_company","description":"Look up a UK company on Companies House — search by name to find candidates, or fetch a single company by its number to get the full public record (registered name, number, status, incorporation date, registered office address, SIC codes, directors/officers, and filing deadlines). Use this during onboarding to find and confirm the user's company (\"is this your company?\") and to see who the directors are. Read-only — it does NOT save anything; use link_company to save the confirmed company. UK only (Companies House); for non-UK companies, ask the user for their details directly.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Company name to search for (returns up to ~10 candidates with number, status, and address). Use when you have a name but not a number."},"company_number":{"type":"string","description":"Exact company number to fetch the full record + directors + deadlines. Use once you know the number (e.g. after the user confirms a search candidate)."}}},"title":"Lookup Company","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"find_duplicate_bank_accounts","description":"Find manual bank accounts that look like the same real-world account as a live bank feed (Revolut, Starling, Wise, Mercury, Plaid) already connected — the classic case where a user uploaded statements into a manual account, then later connected the live feed for the same account, leaving duplicate transactions that double-count cash and inflate the P&L. Returns candidate pairs with matched/unmatched transaction counts, date ranges, sample matched pairs, and an AI same-account verdict. Use when the user says their cash or balance looks wrong after connecting a bank, mentions a duplicate account, or asks why a P&L looks inflated. Read-only — use merge_bank_accounts to actually merge a pair.","inputSchema":{"type":"object","properties":{}},"title":"Find Duplicate Bank Accounts","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"lookup_tax_rule","description":"Look up a verified tax or accounting rule by its key. The system automatically routes to the correct country library (UK or UAE) based on the active company. Use this for ANY question about specific deadlines, thresholds, notice periods, regulatory dates, or rules where being wrong would mislead the user. UK examples: vat-registration-threshold, ct-filing-deadline, mtd-itsa-mandatory-50k, dividend-allowance-2026-27, mileage-rates-2026-27. UAE examples: ct-rates, ct-filing-deadline, vat-rate, free-zone-qfzp, no-personal-income-tax. Returns the exact answer + an official source URL you MUST cite in your reply. ALWAYS prefer this over stating a rule from memory. If you do not know the exact key, call list_tax_rules first.","inputSchema":{"type":"object","properties":{"key":{"type":"string","description":"The rule key. Use list_tax_rules to see all available keys for the active company's country."}},"required":["key"]},"title":"Lookup Tax Rule","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_qfzp_status","description":"Get the active company's QFZP (Qualifying Free Zone Person) status for UAE Corporate Tax. Returns the qualifying/non-qualifying income split, de minimis status (ok / warning / breach), free zone name, substance declaration state, and per-zone smart hints (e.g. audited accounts requirement, designated zone VAT, trade license expiry). Returns `applicable: false` for UK or UAE mainland companies. Use when the user asks about QFZP status, whether they still qualify, their de minimis headroom, or whether they'll owe 9% CT.","inputSchema":{"type":"object","properties":{}},"title":"Get Qfzp Status","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"list_tax_rules","description":"List all available verified tax/accounting rule keys for the active company's country (UK or UAE), optionally filtered by category. Use this when you need to find the right key for lookup_tax_rule.","inputSchema":{"type":"object","properties":{"category":{"type":"string","description":"Optional category filter. UK categories: vat, corporation_tax, self_assessment, paye, mtd, companies_house, dividends, directors, expenses, capital_gains, capital_allowances, pensions, income_tax, national_insurance, rd_relief. UAE categories: corporate_tax, vat, excise_tax, free_zones, esr, ubo, payroll, compliance. Omit to list all."}}},"title":"List Tax Rules","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"recall_conversations","description":"Recall what you and the user discussed in PAST conversations (across earlier sessions, including voice and video calls). Call this whenever the user asks \"what were we talking about last time?\", \"remind me what we discussed\", \"where did we leave off?\", \"what did we cover yesterday?\", or refers back to an earlier chat. Returns recent conversation summaries newest-first — each with a short summary, the key topics, any decisions made, and open action items, plus when it happened. ALWAYS call this before saying you don't remember — you DO have access to past conversations through this tool. (Distinct from read_company_wiki, which is curated durable facts, not the back-and-forth of past chats.)","inputSchema":{"type":"object","properties":{"limit":{"type":"number","description":"How many recent conversations to recall (default 5, max 15)."},"query":{"type":"string","description":"Optional keyword to filter to conversations about a topic (e.g. \"VAT\", \"payroll\", \"the Acme invoice\")."}},"required":[]},"title":"Recall Conversations","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"get_month_close","description":"Check how 'closed' a month's books are. Returns a close-confidence percentage (share of the month's transactions that are categorised AND reconciled) plus exactly what still needs the founder — uncategorised transactions, categorisations you're unsure about, unreconciled lines, payments missing a receipt, and open VAT. Use when the user asks \"is my month done?\", \"close my books\", \"what's left for May?\", \"month-end\", or any close/period-end question. Defaults to the last complete month. Surface the returned message; offer to help clear each exception.","inputSchema":{"type":"object","properties":{"period_start":{"type":"string","description":"First day of the month to check, YYYY-MM-01. Omit for the last complete month."}},"required":[]},"title":"Get Month Close","annotations":{"readOnlyHint":true,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]},{"name":"reopen_month_close","description":"Undo a month-end close so the founder can make further changes. Use when the user asks to \"reopen\", \"unlock\" or \"undo the close\" for a month that's already closed. Closing a month doesn't post anything to the ledger, so reopening is a pure status change — no reversal needed. Refuses if a VAT return already submitted to HMRC covers the same period (editing filed data isn't safe; that needs a VAT adjustment instead). Confirmation-gated.","inputSchema":{"type":"object","properties":{"period_start":{"type":"string","description":"First day of the closed month to reopen, YYYY-MM-01. Omit for the last complete month."}},"required":[]},"title":"Reopen Month Close","annotations":{"readOnlyHint":false,"openWorldHint":false,"destructiveHint":false},"securitySchemes":[{"type":"oauth2","scopes":["openid","email","profile"]}]}],"resources":[{"uri":"accountsos://company","name":"Company","description":"Company details and settings","mimeType":"application/json"},{"uri":"accountsos://transactions","name":"Transactions","description":"Recent transactions","mimeType":"application/json"},{"uri":"accountsos://documents","name":"Documents","description":"Uploaded documents","mimeType":"application/json"},{"uri":"accountsos://deadlines","name":"Deadlines","description":"Tax and filing deadlines","mimeType":"application/json"}]}