Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add norman-finance/norman-mcp-server --skill calculators-and-formsgit clone --depth 1 https://github.com/norman-finance/norman-mcp-serverWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/norman-finance/norman-mcp-server/calculators-and-forms)<a href="https://agentmods.dev/skills/norman-finance/norman-mcp-server/calculators-and-forms"><img src="https://agentmods.dev/badge/skills/norman-finance/norman-mcp-server/calculators-and-forms/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/norman-finance/norman-mcp-server/calculators-and-forms"><img src="https://agentmods.dev/badge/skills/norman-finance/norman-mcp-server/calculators-and-forms.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00088 | $0.01164 |
| Opus 5.5 | $0.00035 | $0.00466 |
| Sonnet 5.5 | $0.00018 | $0.00233 |
| Haiku 4.5 | $0.00009 | $0.00116 |
Grade A, and why
calculators-and-forms scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Calculators and Polish forms
Use the existing Norman tools to complete the request. Respond in the user's language. The language does not establish tax jurisdiction. Do not ask again for facts already supplied in the conversation. If a named tool is absent from the app turn, discover its exact name with search_available_tools before calling it.
Choose the right tool family
| User intent | Flow |
|---|---|
| Hypothetical amount, VAT conversion, B2B/JDG PIT/ZUS, depreciation, employment cost, CIT/dividend | list_public_calculators → get_public_calculator → calculate_public_estimate |
| Actual tax due or an existing declaration for the selected company | list_tax_reports → get_tax_report, or get_polish_tax_estimates where applicable |
| Create an invoice in the account | Existing create_invoice flow, not a letter template |
| Find an official Polish form or blank document | list_polish_forms → get_polish_form |
| Prepare a payment request, handover protocol, annual leave request or payment receipt | get_polish_form → generate_polish_document |
Public calculations
- Resolve requested country, year and legal form. Use existing company context only when the request concerns that company; a hypothetical Polish scenario must not be replaced with the selected German company's jurisdiction. Never change company selection for public arithmetic.
- Read
get_public_calculatorfor the chosen ID. Follow its liveinputSchemaand description; ask one concise question for missing required or conditional inputs, including user-confirmed tax regime, VAT rate or relief eligibility. The current catalog supports 2026 only. Never substitute it for an unsupported year. - Send only schema-declared numbers, booleans and enums, with nested numeric details when required. Amounts are major currency units. Do not send names, email, NIP/PESEL, tax identifiers, account IDs, documents or the whole conversation. Do not classify a ryczałt rate or determine relief eligibility for the user.
- Execute
calculate_public_estimate. Present the returned result with country/year/currency, material assumptions and the returned source link. Do not perform a second calculation using invented formulas. The result is an estimate, not a tax report, filing, eligibility decision or payment.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today Changed · +7 tokens per session fc5c437bf924
- yesterday First seen · 40 lines · 81 tokens per session scan A 0dc44997c72e
calculators-and-forms is a skill published in the GitHub repository norman-finance/norman-mcp-server (63 stars, last pushed today), licensed MIT. It adds 88 tokens to every session and 1,164 once invoked, about $0.0004 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-10-29.
Other skills, from other repositories
jangbu-import
A data-import workflow for turning bank files, card records, spreadsheets, receipts, tax invoices, and statement PDFs into a standard set of 13 transaction fields. OCR, or optical character recognition, is used to read information from document images and PDFs.
documentos
Prepare invoices and quotes for a connected Frihet workspace. Use for preparar factura, presupuesto, invoice draft, quote or quote conversion. Resolves missing client, currency and tax data before an authorized draft creation. Also use for invoice recovery after timeout, lost response or resultado desconocido al crear.
process-my-statements
Process a batch of PDF or CSV bank and credit-card statements end to end: extract every transaction (parallel Haiku subagents), canonicalize the party names, categorize against your locked chart of accounts (parallel Sonnet subagents), detect inter-account transfers, and assemble a reviewed Google Sheets workbook with…
log-an-expense
Log a single expense from a forwarded receipt — image, PDF, or email — and produce one categorized expense plus one balanced journal entry. I extract vendor, date, amount, and line items via multimodal read, pick an account code against your locked chart of accounts (anything below 0.90 confidence lands in Suspense…
reading-payment-statement
An image-reading workflow for extracting structured information from Japanese payment statements, which report payments such as fees, compensation, contracts, or prizes.
extract-bank-statement
Extract bank PDF/CSV to transactions.json with running-balance proof (pull bank lines with balance proof). Prefer CSV; Maybank Islamic PDF adapter when needed.