Finance Toolkit
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Description from the maker (original English)
A price list and labour rate card by SKU with dated prices, used to price quotes and invoices.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
MCP_LICENSE_KEYValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://mcp.zovo.one/mcp/catalogueDownload the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
claude mcp add --transport http catalogue https://mcp.zovo.one/mcp/catalogueFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"catalogue": {
"url": "https://mcp.zovo.one/mcp/catalogue"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"catalogue": {
"type": "http",
"url": "https://mcp.zovo.one/mcp/catalogue"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://mcp.zovo.one/mcp/catalogueMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
sku_setAdd a catalogue line or reprice one: a code, a name, a unit, an optional VAT rate, and price_minor in whole minor units for one currency, tier and valid_from. A repriced line keeps its old rows. Free: 25 SKUs, one tier.
sku_getShow the price of one SKU as of a date, in one currency and tier: the row picked is the latest valid_from at or before that date, and the answer names the row and any later one already booked. Free.
sku_listList catalogue lines with the price in force today, filtered by code prefix, by currency and by tier. A SKU with no price in that currency and tier is listed and said to have none. Free.
sku_deleteDelete a catalogue line no rate card points at and that never priced a resolved line, freeing a free-tier slot. Otherwise it is refused, naming what depends on it: reprice it to withdraw it instead.
rate_setSet the hourly charge-out rate on a labour card: role, currency, hourly_minor in whole MINOR units and the day it starts. The same role, currency and date REPLACES that row rather than adding one. Free.
rate_getShow the hourly rate for a role as of a date and currency: the row picked is the latest valid_from at or before that date, and the answer names it. With no role given, lists every card. Free.
lines_resolveTurn a list of sku or role lines into invoice_create-ready and quote_create-ready items priced from the catalogue as of each line's date. An unknown code is refused by name and never priced. Free.
price_list_textPrint the price list as plain text: every SKU with its unit, the price in force on a date and any later price booked, then the labour rate cards, under your business name. Also a .txt download link valid one hour. Free; price_list_pdf writes the A4 page.
price_list_pdfCall this tool to render the price list for one currency and tier as an A4 HTML document laid out for print-to-PDF (this hosted endpoint has no PDF renderer) and return a download link valid for one hour: every SKU with its unit, its price in force and the day that price started.
catalogue_reportReport the catalogue as at date: how many SKUs there are, how many price rows are in force, which rows a later row already replaces, and which SKUs carry no price in the profile's default currency. Reads only. Pro.
license_statusReport this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
license_activateTurn Pro on for this connection with key, an MCPL1. . issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account theluckystrike, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 68 ms (HTTP 200)
No sign-in needed
Read 12 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: MCP_LICENSE_KEY
Either way works: install it on your computer or connect to the cloud version.
The GitHub repo last changed –, and the latest version (0.23.0) reached the registry 6 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Finance Toolkit, SolidInvoice, Korea Tax Calculator
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
500+ transparent financial methods calculated from raw statements, not third-party endpoints.
Create and send invoices and quotes, manage clients, and track payments in SolidInvoice.
Korean tax calculation and tax-audit judgment MCP: 96 tools with statutory citations.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
In the [official MCP Registry](https://registry.modelcontextprotocol.io/v0.1/servers/io.github.theluckystrike%2Fcatalogue/versions/latest) (io.github.theluckystrike/catalogue). One price list and one rate card, kept where the invoice and the quote can both read them. Give a product a code, a name, a unit and a price in minor units, with the day that price comes into force. Give a role an hourly rate the same way. Then hand the catalogue a list of what a customer had, and it hands back the line items already priced: the quantity, the description, the unit price and the VAT rate, in the exact argument shape invoice_create takes and in the exact argument shape quote_create takes.
Nothing is invented and nothing is stored twice. A SKU holds its price ROWS, each with a valid-from date; the price on a date is worked out on the call, so raising a price in July does not rewrite what June's job was quoted at. An unknown code comes back as a refusal naming the code, never as a guessed price.
npm publish for @theluckystrike/mcp-catalogue is pending, so npx -y @theluckystrike/mcp-catalogue returns 404 today. Until then, the .mcpb one-click bundle or a clone+build is the working path.
~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": { "catalogue": { "command": "npx", "args": ["-y", "@theluckystrike/mcp-catalogue"] } } }
claude mcp add catalogue -- npx -y @theluckystrike/mcp-catalogue
~/.cursor/mcp.json (global) or .cursor/mcp.json (project), same entry as Claude Desktop.
| Tool | What it does |
|---|---|
sku_set | Add a catalogue line or reprice one: code, name, unit, optional VAT rate, and a price in minor units for one currency, tier and valid-from date |
sku_get | The price of one SKU as of a date, naming the row it came from and any later price already booked |
sku_list | The catalogue with the price in force, filtered by code prefix, currency and tier |
sku_delete | Delete a line raised by mistake. Only one nothing depends on. Free on every tier |
rate_set | Set an hourly rate on a role's rate card, from the day it applies, optionally bound to a SKU |
rate_get | The hourly rate for a role as of a date, or every rate card |
lines_resolve | Price a list of sku and role lines into invoice_create-ready and quote_create-ready items |
price_list_text | The price list as plain text: prices in force, valid-from dates, then the labour rates |
price_list_pdf | The price list as an A4 PDF, per currency and tier |
catalogue_report | SKUs, rows in force, rows a later row already replaces, rows with no price in the default currency |
license_status / license_activate | Free or Pro, and where to upgrade |
| Free | Pro | |
|---|---|---|
| SKUs in the catalogue | 25 | unlimited |
| Price rows per SKU | 100 | 100 |
| Rate cards | unlimited | unlimited |
| Set, price, list, resolve lines | yes | yes |
| Price list (text) | yes | yes |
| Delete an unused SKU | yes | yes |
Price tiers beyond standard | no | yes |
| Price list (PDF) | no | yes |
| Catalogue report | no | yes |
Get Pro: https://mcp.zovo.one/buy/catalogue ($19 one-time for this server, $39 for all of them, lifetime). Keys are verified offline; nothing is sent anywhere.
A price row is (currency, tier, valid_from, amount). The price on a date is the latest valid_from at or before that date, for that currency and that tier. Setting a row on a key that already exists REPLACES it, so two rows can never share one key and "the price that day" is never a coin toss. A date before every row has no price and is refused; a price that did not exist yet is not a price.
Nothing here converts a currency. A EUR price shown under a PLN heading would be an invented number, so a SKU with no price in the currency you asked for is listed as having none, and catalogue_report counts them.
The two servers this catalogue feeds take the same price in different scales, and the gap is exactly 100x. invoice_create's item carries unit_price in MAJOR units ("Price per unit in major units, e.g. 90 for 90 EUR", servers/invoice/src/index.ts); quote_create's item carries unit_price_minor in MINOR units ("9000 = 90.00 EUR, 90 = JPY 90. Never a decimal", servers/quotes/src/index.ts). Both fields are called the unit price, both take a plain number, and neither tool can tell that the number it was handed was scaled for the other one: 45000 passed as unit_price is a valid invoice line for EUR 45,000.00.
Measured on the worked resolution in test/unit.test.mjs: the correct payload nets EUR 2,613.63, and the same items with the quote server's field fed into the invoice server's engine net EUR 261,363.00, which the suite asserts is exactly 100x. In a 3-decimal currency such as KWD it is 1000x. So the catalogue stores minor units, which is the only lossless form, and builds BOTH payloads itself in one call, printing the scale against each. That is the whole reason lines_resolve returns two payloads instead of one "price" the caller reshapes.
The second half of that: every stored price is a whole number of minor units, so invoice_create's own computeTotals rounds the major-unit form straight back to the integer it came from. rounding_drift_minor on a resolution is zero by construction and the suite asserts it, which is the machine-checkable form of "the invoice will show the figure the price list showed".
All data stays local: ${XDG_DATA_HOME:-~/.local/share}/mcp-servers/catalogue/. No network call is made by any tool. The only file outside that directory this server touches is the shared business profile, read-only, for the default currency, the default VAT rate and the name at the top of the price list. It creates no invoice and no quote.
Built by theluckystrike.
Any MCP client (Claude, Cursor, Windsurf, VS Code) can read this repository's documentation directly via GitMCP - no install: