Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

AccountsOS

REMOTE · ACCOUNTS-OS.COM · 2 COMPONENTS

Query your live AccountsOS books: balances, transactions, VAT, deadlines, invoices.

−10 this week 68 Trust /100

Last scanned (4 hours ago)

Scores higher than 53% of remote servers

Reachable. Last reached 5 Nov 2026.

Category Finance and Payments

Recent critical change

Authorization (2 Nov 2026). See the changelog before you install this server.

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability81
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 13863 tokens (~159/item across 87 items; 82 tools + 5 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management26
  • Stability check failed: schema churn in the 8 days we've observed: 0 tool removals, 0 breaking changes, 1 auth/transport breaks, 0 additions. See how to fix → Fail
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "deel_calculate_take_home_pay" implies "pay" and declares readOnlyHint instead, contradicting what its own name says it does. See how to fix → Fail
  • An AI judge read all 84 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 19 to 23.

  • 2 Nov 26 −12
    • Authorization: pass → fail ▼ critical
    • Stability: 0.13 → fail ▼ security
    • The server rewrote its instructions, which are the text every model session reads security
    • “list_tax_rules” added an optional parameter “country” cosmetic
    • “lookup_tax_rule” added an optional parameter “country” cosmetic
  • 1 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 30 Oct 26 0
    • New resource “ACCOUNTS.md” functional
    • “get_bills” reworded the description of “status” cosmetic
    • “get_invoices” reworded the description of “status” cosmetic
  • 29 Oct 26 +1
    • Stability: unverified → 0.03 ▲ functional
  • 28 Oct 26 77

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 5 Nov 2026 · Probed https://accounts-os.com/api/mcp/plugin

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=accounts-os.com CN=YR1,O=Let's Encrypt,C=US 21 Oct 2026 19 Jan 2027 RSA 2048 SHA256-RSA 5dde06db9a5e67a497b8e2920b4f41c8147
SANs: accounts-os.com
CN=YR1,O=Let's Encrypt,C=US (CA) CN=Root YR,O=ISRG,C=US 3 Sept 2025 2 Sept 2028 RSA 2048 SHA256-RSA a20253f15f2691c05dc1ce13b9bcca4e
CN=Root YR,O=ISRG,C=US (CA) CN=ISRG Root X1,O=Internet Security Research Group,C=US 13 May 2026 2 Sept 2032 RSA 4096 SHA256-RSA f24b6d17f9d9ad7cb1c9fea78782699f

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of accounts-os.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
accounts-os.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains
content-security-policy default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://va.vercel-scripts.com https://cdn.plaid.com https://*.revolut.com https://www.googletagmanager.com https://www.google-analytics.com https://*.clarity.ms https://connect.facebook.net https://googleads.g.doubleclick.net https://www.googleadservices.com https://snap.licdn.com https://bzrcdn.openai.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; img-src 'self' data: blob: https:; font-src 'self' data: https://fonts.gstatic.com; connect-src 'self' https://*.supabase.co wss://*.supabase.co https://generativelanguage.googleapis.com wss://generativelanguage.googleapis.com https://api.anthropic.com https://api.resend.com https://*.ingest.de.sentry.io https://*.plaid.com https://api.simli.ai https://*.simli.ai wss://*.simli.ai https://*.livekit.cloud wss://*.livekit.cloud https://*.revolut.com https://*.google-analytics.com https://analytics.google.com https://*.analytics.google.com https://www.google.com https://stats.g.dou
x-content-type-options nosniff
x-frame-options SAMEORIGIN
referrer-policy strict-origin-when-cross-origin
permissions-policy camera=(self), microphone=(self), geolocation=()

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://accounts-os.com/api/mcp/plugin Verified 200
http (plaintext) http://accounts-os.com/api/mcp/plugin HTTPS enforced 308 https://accounts-os.com/api/mcp/plugin
MCP tools · 82 exposed · ~13,681 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
add_document ~178

Add a file the user attached in this chat to their AccountsOS books: a bank statement, a receipt, a supplier bill or a sales invoice. AccountsOS reads it the same way as an emailed document: a bank statement is imported into a bank account (created if it does not exist yet), a receipt or bill is read and matched. Use it whenever the user attaches or mentions a financial document and wants it in their books. The result says what was found and what happened.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
fileobjectyesThe file the user attached: a bank statement (PDF, CSV or spreadsheet), a receipt, a bill or an invoice.

No output schema declared.

No examples provided.

calculate_vat_period ~158

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
period_idstringyesVAT period ID (UUID). Use get_vat_periods to find it.

No output schema declared.

No examples provided.

check_vat_number ~224

Check a UK VAT registration number against HMRC's live Check-a-UK-VAT-number register and return the registered trader name and address. GB only. A "not registered" answer is a real answer from HMRC, not an error. Use this when the user asks whether a VAT number is valid, when adding or editing a supplier or customer with a VAT number, and when a VAT number appears on a document and the user wants it confirmed. Report the registered name back to the user, and point out when it does NOT match the contact's name: a mismatch is the actual thing worth flagging.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
contact_idstring–Optional. The contact this VAT number belongs to, so the result can be reported against them.
vat_numberstringyesUK VAT registration number, 9 digits, with or without the GB prefix.

No output schema declared.

No examples provided.

deel_calculate_employment_cost ~158

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
countrystringyesFull country name (e.g., "Portugal", "Germany", "Ireland"). Must be the full name, not a code.
currencystringyesCurrency code (e.g., "EUR", "USD")
salarynumberyesAnnual gross salary in the country's currency

No output schema declared.

No examples provided.

deel_calculate_take_home_pay ~132

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
countrystringyesTwo-letter ISO country code (e.g., "IE" for Ireland, "PT" for Portugal)
currencystringyesCurrency code
salarynumberyesAnnual gross salary

No output schema declared.

No examples provided.

deel_get_invoices ~110

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
limitnumber–Max results (default 20)
statusesstring–Filter by status: paid, pending, overdue

No output schema declared.

No examples provided.

deel_get_payment_receipts ~91

Get payment receipts from Deel showing payments made to contractors. Use when the user asks about specific Deel payments or needs payment proof.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
limitnumber–Max results (default 20)

No output schema declared.

No examples provided.

deel_get_people ~94

List people (contractors and employees) in the user's Deel organization. Use when the user asks about their Deel team, workforce, or contractor list.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
limitnumber–Max results (default 20)

No output schema declared.

No examples provided.

deel_list_contracts ~109

List contracts from the user's Deel account. Use when the user asks about their Deel contracts, contractors, or team members managed through Deel.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
limitnumber–Max results (default 20)
statusesstring–Comma-separated statuses: active, completed, cancelled

No output schema declared.

No examples provided.

find_duplicate_bank_accounts ~201

Find manual bank accounts that look like the same real-world account as a live bank feed (Revolut Business, Starling, Wise, Mercury, Qonto, Airwallex, Stripe Treasury) 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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

find_related_documents ~146

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".

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
entity_idstringyesEntity ID to find related documents for
entity_typestringyesEntity type: transaction, invoice, bill, estimate, contact, project, expense_claim

No output schema declared.

No examples provided.

get_accounts_status ~99

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_aged_creditors ~204

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.

NameTypeReqDescription
as_of_datestring–Ages TODAY's open bills as at this date (YYYY-MM-DD). It is not a historical snapshot: bills paid since that date are not included. Defaults to the end of the user's working period, which is today wh…
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
contact_idstring–Optional supplier contact ID to scope the report

No output schema declared.

No examples provided.

get_aged_debtors ~216

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.

NameTypeReqDescription
as_of_datestring–Ages TODAY's open invoices as at this date (YYYY-MM-DD). It is not a historical snapshot: invoices paid since that date are not included. Defaults to the end of the user's working period, which is to…
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
contact_idstring–Optional contact ID to scope the report to a single client

No output schema declared.

No examples provided.

get_attention ~165

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_balance ~67

Get current account balance

NameTypeReqDescription
account_idstring–Specific account (optional)
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_balance_sheet ~79

Get Balance Sheet report as at a given date.

NameTypeReqDescription
as_atstring–Report date (YYYY-MM-DD). Default: today
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_bank_accounts ~59

List bank accounts connected to the company.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_bills ~124

Get supplier bills/invoices owed by the company. Shows what you owe to suppliers.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
contact_idstring–Filter by supplier contact ID
limitnumber–Max results (default 50)
statusstring–Filter: outstanding (every unpaid bill), overdue (unpaid and past due), draft, received, paid, all

No output schema declared.

No examples provided.

get_budget_vs_actual ~261

Budget vs actual: how the company is doing against its budget. Use when the user asks about budget, against budget, over budget, under budget, budget vs actual, budget variance, are we on track, or how a month, quarter or the year compares with the plan. Returns, for each income, cost of sales and expense account, the budget, the actual from the ledger, the variance (actual minus budget) and the variance percent, plus totals and net profit. Income above budget is good, costs below budget are good. hasBudget false means the company has not set a budget: say so and point them to /reports/budget, never present zeros as a result. Budgets are set on the Reports page, Budget vs actual tab. Quote figures from the result only.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
from_monthstring–First month of the period (YYYY-MM). Defaults to the start of the current financial year.
to_monthstring–Last month of the period, inclusive (YYYY-MM). Defaults to the current month.

No output schema declared.

No examples provided.

get_capital_allowance_hint ~130

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.

NameTypeReqDescription
asset_idstringyesFixed asset ID from get_fixed_assets
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_cash_flow_forecast ~139

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_chart_of_accounts ~106

List account categories (chart of accounts). Use when the user asks about their chart of accounts, account codes, or available categories for categorizing transactions.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
typestring–Filter by type: income, expense, asset, liability, equity, cost_of_sales

No output schema declared.

No examples provided.

get_contacts ~130

List contacts (clients, suppliers, leads). Use when user asks about customers, suppliers, or contacts.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
limitnumber–Max results (default 50)
searchstring–Search by name or email
sortstring–Order: name (default) or newest first
typestring–Filter by type: client, supplier, lead, other

No output schema declared.

No examples provided.

get_deadlines ~111

Get upcoming tax and filing deadlines. Each carries support (files, prepares, workpaper, reminder_only, or null for a payment) and support_note: what AccountsOS does for it. reminder_only means AccountsOS does not produce the form.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
include_completedboolean–Include completed deadlines

No output schema declared.

No examples provided.

get_dividends ~105

List dividend records. Use when user asks about dividends paid, dividend history, or shareholder payments.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
limitnumber–Max results (default 20)
tax_yearstring–Filter by tax year (e.g. "2025/26")

No output schema declared.

No examples provided.

get_dla_balance ~100

Get the Director's Loan Account (DLA) balance and recent transactions. Shows if director owes company or vice versa, with section 455 tax warnings.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
limitnumber–Max number of transactions to return (default 10)

No output schema declared.

No examples provided.

get_document_links ~217

Get the documents linked to ONE entity (transaction, invoice, bill, estimate, contact, project, expense claim), or the entities linked to ONE document. Every call needs either document_id, or entity_type together with entity_id: there is no "list all links" call, and a call with neither returns nothing but an error. Look the id up first (get_transactions, get_invoices, search_documents), then call once per id. Use when user asks "what documents are attached to this invoice?" or "show me what's linked to that receipt".

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
document_idstring–Document ID to get links for
entity_idstring–Entity ID to get linked documents for
entity_typestring–Entity type: transaction, invoice, bill, estimate, contact, project, expense_claim

No output schema declared.

No examples provided.

get_estimates ~103

Get estimates/quotes sent to clients.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
contact_idstring–Filter by client contact ID
limitnumber–Max results (default 50)
statusstring–Filter: draft, sent, accepted, declined, all

No output schema declared.

No examples provided.

get_expense_claims ~92

Get expense claims and reimbursement requests.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
limitnumber–Max results (default 20)
statusstring–Filter: draft, submitted, approved, reimbursed, rejected

No output schema declared.

No examples provided.

get_expenses ~113

List expense claims. Use when the user asks about expenses, expense claims, reimbursements, or receipts they have submitted.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
limitnumber–Max results (default 50)
statusstring–Filter by status: pending, approved, rejected, reimbursed, all (default: all)

No output schema declared.

No examples provided.

get_filed_accounts_history ~203

The year-by-year figures from the accounts this company has filed at Companies House, newest first: balance sheet lines (fixed assets, current assets, creditors, net assets, capital and reserves), average employees, turnover and profit after tax where the filing includes a profit and loss, and the movement in reserves against the previous year (profit after tax less dividends). Use when the user asks how last year or an earlier year went, how the business has grown, what was filed, or wants past figures beside the current books. These are the registry's snapshots, not the ledger: say "as filed" and never blend them with live ledger figures. A micro-entity filing has no turnover or profit; say so rather than treating a null as zero.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_financial_snapshot ~181

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", a quick business health check, or any quick headline-figure question. For how a past month went, use get_profit_and_loss for that month. For invoice/bill line-level detail use get_invoices/get_bills; for ageing use get_aged_debtors/get_aged_creditors.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_fixed_assets ~116

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
statusstring–Filter by asset status. Defaults to active.

No output schema declared.

No examples provided.

get_fx_rates ~284

Exchange rates: the closing rate for a currency pair on a date, or a series over a range. Use when the user asks for an exchange rate, FX, a currency conversion, what the euro to dirham or pound to dollar rate is, what a currency move cost us, or whether it is cheaper to buy in one currency or another. With one date it returns that day's closing rate. With a range of 62 days or less it returns the daily closing series and the percentage change. Over 62 days it returns monthly averages (up to 36 months). Read-only, needs no company data. Quote rates from the result only.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
datestring–A single date (YYYY-MM-DD). Defaults to today when no range is given.
end_datestring–End of a range (YYYY-MM-DD). Use with start_date.
fromstringyesCurrency to convert from, three-letter code, for example EUR.
start_datestring–Start of a range (YYYY-MM-DD). Use with end_date.
tostringyesCurrency to convert to, three-letter code, for example AED.

No output schema declared.

No examples provided.

get_gifi_status ~159

Canada: is my GIFI ready for the T2, which accounts are not mapped or need review, and do the balance checks pass. 'is my GIFI ready', 'GIFI mapping', 'T2 schedule 100 / 125'. Maps any new accounts first. AccountsOS prepares the GIFI trial balance for the accountant's T2 software, it does not prepare or file the T2.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
year_endstring–The fiscal year end, YYYY-MM-DD. Omit for the last completed fiscal year.

No output schema declared.

No examples provided.

get_goals ~140

Get active business/financial goals and their progress. Use when user asks about their goals, targets, or how they are tracking against objectives.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
goal_typestring–Filter by type: revenue_target, expense_reduction, savings_target, profit_margin, cash_reserve, debt_reduction, client_acquisition, invoice_collection, custom
statusstring–Filter by status: active, completed, all (default: active)

No output schema declared.

No examples provided.

get_gov_guidance ~143

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
topicstringyesThe topic to search for, e.g. "VAT returns", "corporation tax", "dividends", "director loans", "expenses"

No output schema declared.

No examples provided.

get_gst_hst_return ~210

Canada: prepare the GST/HST return (GST34) for a period: 'GST return', 'HST return', 'GST report', 'what do I owe CRA', 'my Q3 GST'. Returns every line (101 to 113C), the balance owing or refund, the due date and any warnings. Defaults to the last completed reporting period. Always use this tool for a Canadian GST/HST figure; never add up a return yourself. AccountsOS prepares the return, it does not file it with CRA.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
endstring–Last day of the reporting period, YYYY-MM-DD. Omit for the last completed period.
startstring–First day of the reporting period, YYYY-MM-DD. Omit for the last completed period.

No output schema declared.

No examples provided.

get_hmrc_vat_liabilities ~177

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
fromstring–Start date (YYYY-MM-DD). Defaults to 12 months ago. A range longer than about a year is capped to the year ending at the end date, so ask in yearly chunks for anything older.
tostring–End date (YYYY-MM-DD). Defaults to today.

No output schema declared.

No examples provided.

get_hmrc_vat_obligations ~209

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
fromstring–Start date (YYYY-MM-DD). Defaults to 12 months ago. A range longer than about a year is capped to the year ending at the end date, so ask in yearly chunks for anything older.
tostring–End date (YYYY-MM-DD). Defaults to today.

No output schema declared.

No examples provided.

get_hmrc_vat_payments ~167

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
fromstring–Start date (YYYY-MM-DD). Defaults to 12 months ago. A range longer than about a year is capped to the year ending at the end date, so ask in yearly chunks for anything older.
tostring–End date (YYYY-MM-DD). Defaults to today.

No output schema declared.

No examples provided.

get_income_by_currency ~266

Currency-split income (or expense) totals in ONE compact call: face totals grouped by each transaction currency (e.g. EUR face vs GBP face) PLUS the company functional-currency total for the same set. Use when the user asks "total income in EUR and in GBP", "how much came in in euros vs pounds", "income by currency", or wants face vs converted figures before an FX check. Do NOT page get_transactions to sum — this returns aggregates only (no transaction dump). Defaults to money-in (income); pass direction "out" for spend. Covers bank lines only: invoices and ledger revenue are NOT included, and a company with no bank account returns nothing here, which is not "no income". For income as the books record it, use get_profit_and_loss.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
directionstring–in = income / money in (default); out = spend / money out
from_datestring–Start date (YYYY-MM-DD), inclusive
to_datestring–End date (YYYY-MM-DD), inclusive

No output schema declared.

No examples provided.

get_incoming_messages ~221

Read the company's Incoming inbox: messages that arrived by email, WhatsApp, Slack or Telegram (sender, subject, preview, attachments and their processing status), plus a count of documents still processing or failed. Use whenever the user asks what is waiting in Incoming, whether anything came in, about an email or message someone sent, or before saying Incoming is clear. Documents alone are not the whole inbox: a waiting email with a statement attached is a message.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
include_processedboolean–Also include messages already marked processed (default false: waiting only)
limitnumber–Max messages (default 20, max 50)
sourcestring–Filter by channel: email, whatsapp, slack, telegram, gmail. Omit for all.
unread_onlyboolean–Only messages not yet opened (default false)

No output schema declared.

No examples provided.

get_integration_status ~304

See every integration for this company and user in one call: what's connected (banks, HMRC MTD, Stripe, Deel, Gmail, WhatsApp, Telegram, Slack, Xero and the rest), what's available but not connected, and whether data is actually FLOWING through each connected feed (flowing / quiet / error, last event, 7-day event count, error message). Use when the user asks about connections or channels, when something they need for the task at hand is not connected, or when their data looks stale or missing — a dead feed is often the real cause. To OFFER to set one up, end your message with [[connect: provider_id]] on its own line (use the provider id from this tool's result, e.g. [[connect: slack]] or [[connect: mercury]]): it renders a card. OAuth providers start sign-in; API-key providers (Mercury, Stripe, Wise, Qonto, Airwallex, Starling) collect the key on a masked in-thread field. Offer at most one connection per message. Never ask the user to paste an API key into the chat box — the card collects it, and the key is never returned to you (you only see connected true/false).

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.

No output schema declared.

No examples provided.

get_invoices ~141

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
contact_idstring–Filter by client/contact ID
searchstring–Search by invoice number
statusstring–Filter by status: outstanding (every unpaid invoice), overdue (unpaid and past due), draft, sent, paid, cancelled, all

No output schema declared.

No examples provided.

get_journal_entries ~104

Get General Ledger journal entries. Double-entry accounting records.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
from_datestring–Start date (YYYY-MM-DD)
limitnumber–Max results (default 50)
to_datestring–End date (YYYY-MM-DD)

No output schema declared.

No examples provided.

get_month_close ~195

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.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
period_startstring–First day of the month to check, YYYY-MM-01. Omit for the last complete month.

No output schema declared.

No examples provided.

get_opportunity ~79

Get detailed information about a specific pipeline opportunity/deal, including notes and activity history.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
opportunity_idstringyesOpportunity/project ID

No output schema declared.

No examples provided.

get_payroll_summary ~178

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. For a salary, drawings or "what have I paid myself" question read list_employees (the configured salary), this (whether payroll has run) and get_transactions (what left the bank) together: a configured salary with no payroll runs means nothing was paid through payroll, so say that and show what the bank shows.

NameTypeReqDescription
companystring–Which company to read, by name or id, when the account has more than one (see list_companies). Leave it out to use the only company, or the default.
tax_yearstring–Tax year (e.g. "2025-26"). Defaults to current tax year.

No output schema declared.

No examples provided.

Install

How do I install the AccountsOS MCP server?

AccountsOS is a hosted endpoint at https://accounts-os.com/api/mcp/plugin, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · accounts-os.com

# add to Claude Code
claude mcp add --transport http paulgosnell-accountsos-mcp 'https://accounts-os.com/api/mcp/plugin'
Common questions

What is the AccountsOS MCP server?

AccountsOS is an MCP server listed in the public MCP registry as io.github.paulgosnell/accountsos-mcp. Query your live AccountsOS books: balances, transactions, VAT, deadlines, invoices. This page covers its hosted endpoint (https://accounts-os.com/api/mcp/plugin).

Is the AccountsOS MCP server safe to use?

AccountsOS scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the AccountsOS MCP server expose?

AccountsOS exposes 82 tools: list_companies, update_company, link_company, add_document, get_transactions, and 77 more. Their descriptions and schemas cost roughly 13,681 tokens of context every time the server is loaded.

Does the AccountsOS MCP server require authentication?

No. We connected to AccountsOS without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the AccountsOS MCP server still maintained?

AccountsOS is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.