138 guides. How MCP itself works, from config file locations and transports to protocol versions, registry search and shipping a server. Getting an MCP server to start in Claude Desktop, Claude Code, Cursor, VS Code, Windsurf and Cline. Then real work with one: billable hours, invoice PDFs, VAT and reverse charge, retainers, expenses and rebilling, Excel and CSV, bank reconciliation, quotes, travel allowances, depreciation, client statements and dunning, petty cash, safe zip archives, and what each free tier actually gives you. Every server runs locally over stdio, has a free tier that is useful on its own, and a Pro key that is a one-time payment.
Review duplicate supplier invoice references in Claude Review exact references, formatting variants and equal amount/date records within supplied invoice history. An editable local example shows the evidence and its limits.
What the free tier includes and what Pro adds Exact free and Pro limits, the one-time price, how offline Ed25519 keys work, and the refund terms. $19 a server or $39 for all 56. No subscription.
Categorize and reconcile a bank CSV export from chat Import Revolut, Wise, mBank, PKO BP, ING or N26 exports, categorize with rules, and check which bank debits have no receipt behind them. The occurrence-index dedupe insight.
Send a quote from chat, then turn the yes into an invoice The quote lifecycle: create, send as text, chase, accept or decline. Validity is computed in your business timezone, and an accepted quote is invoiced from its own stored lines, not recomputed.
Put a SEPA payment QR code on an invoice from chat EPC069-12 fields, IBAN mod-97, why the code is EUR only, invoice_payment_qr from the shared profile, SVG versus PNG bytes, and when to reach for Code 128 instead of EAN-13.
Zip and unzip archives safely from Claude or Cursor Pack a folder, look inside an archive somebody sent you, and unpack it, with traversal, symlink and zip-bomb guards decided from the header before anything is inflated. Bundle a month of invoices and exports in one file.
Client deposits and retainers from chat, applied to your real invoices Record a security deposit or retainer when the money arrives, apply it to an invoice as a real payment, refund what is left, and answer how much of theirs you hold. How writing a second server against the invoice store surfaced a payment field that was being overwritten rather than added to.
Fixed assets and depreciation from chat, on the rates the tax authorities publish Keep a fixed asset register and depreciate it under the Polish KST annex rates, the UK capital allowance pools or US MACRS GDS, with the convention, the journal entry and the gain on disposal. Why the monthly split, not the yearly one, is where the rounding error is, and why the UK pool rate is applied to one asset with a caveat.
Per diem and travel allowances from chat, on the rate tables the tax authorities publish Price a business trip under the Polish delegation regulation, the HMRC benchmark scale rates or the US GSA standard, with the partial-day ladder and every meal deduction shown. Why a substring match on a country name priced a trip to Oman at Romania's rate, and why the HMRC overseas table is deliberately not bundled.
One double-entry ledger out of every server you already run Derive a real set of books from the invoices, credit notes, deposits, expenses, bank import and asset register you already keep, and prove the trial balance comes to zero to the minor unit. Why the bank statement is evidence rather than a source of postings, and why posting it as well double-counts 99.6 percent of your cash while the trial balance still balances perfectly.
Loan and lease schedules from chat, closing exactly on zero Turn the terms of a credit agreement into the level payment, the effective annual rate and a period-by-period schedule in integer minor units, then cost settling early net of the penalty and book each payment correctly. Why rounding the level payment once is a term change rather than a rounding detail, and why a schedule that fills out the declared term can charge negative interest on a debt that is already gone.
Work orders and job cards from chat, and why the markup goes on the unit cost Run a one-van trade's job board from a conversation: a work order against the client your invoices already know, parts and labour logged as they happen, a status that moves one dated step at a time, a completion report with a sign-off block, and an invoice payload that needs no retyping. Why a markup belongs on the unit cost and never on the line total, and what the one minor unit of difference does to an invoice.
Price lists and rate cards from chat, and the 100x scale gap between the invoice and the quote Keep one price list and one labour rate card where your invoices and your quotes can both read them: a price with the day it comes into force, the price on any date worked out on the call, and a list of what a customer had handed back already priced in both sibling argument shapes. Why the same unit price is exactly 100x apart in an invoice and in a quote, and what happens when the wrong one is pasted.
Change orders and the running contract value from chat, and why a changed line is two items Record what changed against a quote or a work order: added, removed and changed lines with a reason and a date, sent to the client and answered, and the contract value today as the original plus only what they approved. Why a changed line comes back as a reversal and a revised line rather than one net figure, and why the same delta is exactly 100x apart in the invoice payload and the quote payload.
A petty cash float from chat, and why the cheque is not the sum of the vouchers Run a tin on the imprest system from a conversation: a voucher for every receipt, a count that reconciles to the minor unit, and the replenishment that puts the float back to its imprest. Why the cheque is imprest minus balance rather than the total of the vouchers, and why reimbursing the voucher total shrinks the float a little every cycle while every reconciliation still reports clean.
Client statements and payment chasers from chat, aged as at any date you name Turn the invoices, credit notes and deposits you already keep into a statement of account for a period, age what is open into 0-30, 31-60, 61-90 and over 90 days AS AT a date, and draft the chaser. Why aging a past date with today's payment figures reports zero overdue on a day when a third of the book was late, and why paid_minor rather than the payment rows is the authority.
Credit notes and purchase orders from chat, against your real invoices Reverse an invoice in full, by amount or by line, with the VAT unwound at the rates it actually charged, and raise and receive supplier purchase orders. Why a single-rate credit note on a mixed-VAT invoice is wrong by 22.6 percent.
One install, every server: the office-suite bundle One stdio server proxies 31 sibling servers as 292 tools in one tools/list, measured off a built v0.20.0 bundle on 2026-09-07. What it is, how to install it, the four prefixed tool names, and when a single server is the better choice.
Which MCP servers work with no network at all A per-server list of what makes a network call and what does not, why that matters for client data, and how to verify the claim yourself rather than take it on trust.
Converting CSV to xlsx and back without opening Excel One tool call each way, what survives the round trip and what does not, the delimiter and header guessing that makes messy exports work, and the free row limits.
Asking a spreadsheet questions in plain language Filter, group and total a sheet by describing what you want, with a safe expression language that runs no eval, and the check that stops you trusting a wrong answer.
Splitting one big scan into separate documents Find the boundaries with the text layer, pull out page ranges, rotate the sideways ones, and name the results. What to do when the scan has no text at all.
Sending a month of paperwork as one archive, safely Pack a folder with a glob, and check an archive somebody sent you before you unpack it: absolute paths, dot-dot entries, symlinks and the 200 MB file inside a 199 KB zip.
What these MCP servers actually do on the free tier The free tier per server, with the specific limit rather than the word free, and the five tools that are unlimited on every tier because metering them would be dishonest.
MCP config file locations and JSON keys, every client The file each MCP client reads, the top-level JSON key it expects, and the path on each operating system. Read off each vendor's own documentation on 2026-09-08 and dated.
How MCP registry search actually works, measured The official registry matches names only and sorts strict ASCII on the whole namespace and name. Your publisher namespace decides your rank, not your server's name. Measured live 2026-09-08 and re-measured 2026-09-09.
What is actually in the MCP registry: 6,000 rows counted A full pagination of the official registry on 2026-09-08. One row per version not per server, hosted servers outnumbering installable ones six to one, and streamable HTTP at 29 times SSE.
MCP protocol versions: what each one changed The version identifiers are dates, the current one is 2026-07-28, and negotiation happens per request rather than per connection. What changed, and how to tell which version you are speaking.
Every field in an MCP server config entry, by client command, args, env, envFile, type, url, headers, timeout, disabled, autoApprove and the variable syntax each client accepts. Read off six vendors' documentation on 2026-09-08.
Where each MCP client writes its logs Claude Desktop writes mcp.log and one file per server. Cursor has an MCP Logs output channel. Claude Code has a health check. The exact paths and commands, verified 2026-09-08.
What is inside a .mcpb MCP bundle A .mcpb is a zip with a manifest.json and the whole server. The manifest fields, the ${__dirname} substitution, how user config reaches the server, and measured sizes from 32 real bundles.
Charging for an MCP server: how licensing actually works There is no billing in the MCP protocol, so a paid tier is something you build. Offline key verification, where the gate goes, what the refusal must say, and what it measured.
What to check before letting an MCP server run An MCP server is a program with your file access and your credentials. The specification's own requirements, the client consent gates, and the checks worth doing on someone else's server.
Why a directory says your hosted MCP server is not responding A bare POST with no credentials must answer initialize and tools/list, or every catalogue that health-checks by URL records your server as dead. The exact method boundary, with live probes.
The MCP registry binds one remote URL to one server name Publishing a remotes[].url that another server already claims returns 400. The rule is in the registry's source, it counts inactive rows, and it means a hosted server cannot be renamed or A/B tested.
Capital letters in your GitHub username change your MCP registry rank Registry search orders by the whole server name in byte order, so digits sort before capitals and capitals before lowercase. Measured: on one token the first 14 io.github rows all start with a digit or a capital.
How many MCP servers already have your word in the name A census of 29 name tokens in the official registry, measured 2026-09-09: how many servers each one returns and where the first io.github row lands. One curl tells you before you commit to a name.
server.json field reference for the MCP registry Every field the official registry schema defines, with the limits that reject a publish: description is capped at 100 characters, names take exactly one slash, version ranges are refused and mcpb packages need a sha256.
When an MCP tool fails, do not return a JSON-RPC error A failed tool call is a successful JSON-RPC response with isError true. A JSON-RPC error means the request itself was wrong. Getting this backwards stops the model recovering from mistakes it could fix.
structuredContent and outputSchema in MCP, and what MUST hold If a tool declares an outputSchema the server MUST return conforming structured results and clients SHOULD validate them. Return the serialized JSON as text as well. What the fields mean and the JSON Schema defaults.
Rules for naming an MCP tool, and the collision nobody plans for 1 to 128 characters, case-sensitive, letters digits underscore hyphen and dot. Uniqueness is scoped to one server, so aggregators collide. Measured: every hosted server here ships the same two tool names.
MCP has no session, so how do two tool calls share state The protocol has no concept of a state handle and revision 2026-07-28 removed protocol-level sessions. Return an explicit handle from a creation tool and take it as an argument, with the four design rules the spec names.
x-mcp-header: mirroring tool parameters into HTTP headers A 2026-07-28 extension that copies a tool argument into an Mcp-Param-Name header so proxies can route without parsing the body. Six constraints, and clients MUST drop tools that break them.
Will an MCP server email the invoice to my client Not this one, and the reason is worth knowing before you pick. Which servers do send, what invoice_pdf and quote_send_text give you instead, and how to keep the sending in your own mail client.
How to categorize bank transactions A repeatable method for categorizing bank transactions - set categories, make rules, classify transfers and reimbursements - and do it from chat without a CSV dance.
Petty cash log template A working petty cash log: columns for date, voucher, recipient, purpose, amount, running balance, and a monthly reconciliation - plus how to keep it from chat.
MCP servers for small business accounting: the roundup Invoices, quotes, expenses, bank reconciliation, cash book, statements and petty cash as MCP servers that run offline in Claude or Cursor. Which one does what, and the honest free limits.
How to find and pay for MCP servers Where paid MCP servers are listed, how one-time pricing works, and how a key activates without phoning home. The free tier is real and does not expire.
Keep invoice numbers sequential and never reuse one Issue numbered invoices and recurring invoices from chat with a sequence that advances once, so the numbering your accountant sees is the numbering you produced.
Turn a bank CSV export into Excel rows from chat Import a bank CSV, categorise transactions, and export CSV for Excel with Pro. PDF statements need a separate conversion first; this server does not parse PDFs.