Norman MCP Server MCP Server
finance.norman/mcp-server
AI-powered bookkeeping, invoicing, and tax filing for European entrepreneurs integrated into your AI assistant.
What is the Norman MCP Server MCP server?
The Norman MCP Server is an AI-powered accounting platform that connects invoicing, transactions, receipts, ledgers, reports, and tax workflows to any MCP-compatible AI assistant. It enables European businesses to manage bookkeeping, create invoices, file taxes, and automate accounting workflows directly through Claude, ChatGPT, Gemini, Cursor, and other AI clients.
Norman brings full accounting and tax capabilities into your AI assistant. You can create and manage invoices, categorize transactions, set up automation rules, file VAT returns, track clients and products, and even incorporate a German GmbH or UG—all through natural language conversation. It's built for European businesses with market-specific features like SKR03/SKR04 charts of accounts, DATEV integration, ZUGFeRD e-invoices, and German tax filing (ELSTER).
How to install Norman MCP Server
Copy-paste configuration for popular MCP clients.
NORMAN_EMAILrequiredYour Norman account email
NORMAN_PASSWORDrequiredsecretYour Norman account password
NORMAN_ENVIRONMENTAPI environment: 'production' or 'sandbox'
Tools & capabilities
Tools this server exposes to the agent.
create_invoice— Create and send invoices with templates, line items, discounts, payment links, and ZUGFeRD e-invoice supportcreate_recurring_invoice— Set up recurring invoice schedulescreate_offer— Create quotes and offersupdate_invoice— Edit existing invoices and quotescancel_invoice— Cancel an issued invoice with Stornorechnungcreate_credit_note— Issue a partial credit note (Rechnungskorrektur)create_delivery_note— Generate a delivery note (Lieferschein)duplicate_invoice— Copy an invoice or quote into a fresh draftlist_invoice_templates— Discover available invoice templates and appearance controlsget_invoice_settings— Read logo and saved invoice defaultsupdate_invoice_settings— Update future document defaultscategorize_transactions— Categorize transactions and match receiptscreate_automation_rules— Set up rules to automatically categorize matching transactionsmanage_automation_rules— Preview, create, and manage transaction categorization rulesrun_workflows— Execute month-end close, bank reconciliation, VAT-return readiness, and invoice-to-payment workflowsmanage_clients— Maintain client database and contact detailsmanage_products— Keep a catalog of products and services with prices, VAT rates, and unitscreate_attachment— Upload and attach receipts, invoices, and supporting files via HTTP(S) URLs or file uploadsfile_vat_return— Generate Finanzamt previews and file VAT returnstrack_tax_deadlines— Monitor and track tax filing deadlines
Use cases
- Create and send professional invoices with custom templates, payment links, and e-invoice support (ZUGFeRD)
- Automate transaction categorization with rules (e.g., 'Always book Telekom to Internet costs')
- File VAT returns and generate Finanzamt previews for tax compliance
- Incorporate a German GmbH or UG with document generation and notary matching
- Reconcile bank transactions, match receipts, and close monthly books with AI-assisted workflows
Norman MCP Server MCP server FAQ
Norman is an AI-powered accounting platform that integrates invoicing, bookkeeping, tax filing, and company workflows into your AI assistant (Claude, ChatGPT, Gemini, Cursor, etc.). It's built for European businesses with German-specific features like SKR03/SKR04 charts, DATEV, ZUGFeRD, and GmbH/UG formation.
Norman offers a free account to get started. Some features like paid invoice templates require an active subscription. Check Norman's pricing page for current plans.
For Claude: go to Claude Connectors, click Add, and find Norman Finance. For Cursor: use the install button at https://cursor.com/en-US/install-mcp or manually add the remote MCP server URL https://mcp.norman.finance/mcp. You'll authenticate via OAuth with your Norman account.
No. Norman uses OAuth 2.1 for authentication, so you log in securely through Norman's website. Your password never touches the AI assistant.
Norman is built as a multi-market European platform. Current German coverage includes SKR03/SKR04 charts, DATEV, ELSTER (tax filing), ZUGFeRD e-invoices, and GmbH/UG company formation. Additional markets are being added.
Yes. Norman can generate VAT return previews, file VAT returns with the Finanzamt, and track tax deadlines. It also supports month-end close and bank reconciliation workflows that run on Norman's servers with your approval.
README (reference)
Source of truth, from the repository.
<a href="https://github.com/user-attachments/assets/10718781-34f2-4640-9253-be4c82de6159"></a>
</div> <br/><br/>
What you can do
Invoicing — Create and edit invoices, quotes, and recurring schedules, including document templates, line discounts, units, service dates, payment links, and ZUGFeRD e-invoices; cancel an issued invoice with a Stornorechnung, credit part of it with a Rechnungskorrektur, or make a delivery note (Lieferschein) from an invoice or an approved quote
Bookkeeping — Categorize transactions, match receipts, and verify entries
Automation rules — "Always book Telekom to Internet costs": preview, create, and manage rules that categorize matching transactions automatically
Workflows — "Close August for me": Norman runs month-end close, bank reconciliation, VAT-return readiness, invoice-to-payment and client document requests on its own servers, stops only to ask you something, and can run them by itself every month; answer its questions and see what the agents did this week from your AI client
Client Management — Maintain your client database and contact details
Products & Services — Keep a catalog of what you sell, with prices, VAT rates and units, and fill invoice lines from it
Tax Filing — Generate Finanzamt previews, file VAT returns, and track deadlines
Company Overview — Check your balance, revenue, and financial health at a glance
Company Formation — Found a German GmbH or UG: collect the founders' data, check the name against the Handelsregister, generate the founding documents (Musterprotokoll, Gesellschafterliste), match with a notary, and track every step through to registration
Documents — Upload and attach receipts, invoices, and supporting files
create_attachment.file_url, bulk file_urls, and structured document imports
accept HTTP(S) download links, including unexpired presigned S3 URLs with query
parameters. Pass the entire link unchanged; the file host must accept the request
without additional authorization headers. The URL downloader has no domain allowlist,
URL-length cap, or explicit file-size cap. Its connect/read timeout is 30 seconds
(not a total download deadline). The separate browser upload route defaults to
50 MiB, configurable with MCP_UPLOAD_MAX_SIZE; API file validation still applies.
URL download failures return an error message and code: download_http_error
(with http_status), download_timeout, download_network_error,
download_storage_error, or download_error. A 403 from the file host can mean an
expired or rejected signature; obtain a fresh link and check the host response.
Bulk uploads include download_errors for failed URLs, indexed within file_urls
followed by URL entries from the deprecated file_paths alias; successfully fetched
files are still uploaded. Structured imports report errors per document. Download
errors omit signed URLs, and temporary downloads are cleaned up after use or cancellation.
Norman is built as a multi-market European accounting platform. Market-specific capabilities are added as Norman expands; current German coverage includes SKR03/SKR04, DATEV, ELSTER, ZUGFeRD, and GmbH/UG workflows.
<br/>Invoice appearance and updates
Use list_invoice_templates to discover the templates, appearance controls and the active company's plan access. Use get_invoice_settings to read its logo and saved defaults.
create_invoice, create_recurring_invoice and create_offer accept document_design, for example:
{"template": "sovereign", "logoSize": 75, "textSize": "medium", "spacing": "compact", "tableBorders": "grid"}
Omit document_design, font, and color_schema to inherit saved branding. On create, a partial design uses that template's defaults. Paid templates require an active subscription.
Use update_invoice for an invoice or quote, update_recurring_invoice for a schedule, and update_invoice_settings for future document defaults. Their typed changes object accepts camelCase or snake_case field names. Unset fields stay unchanged; explicit false, 0, empty strings and valid nulls keep their meaning. A partial document design keeps the document's other saved controls; changing its template starts from that template's defaults. Keep existing line IDs when editing lines. Rates use minor currency units; the API calculates totals. Only set isToSend when sending is intended.
Use cancel_invoice, create_credit_note and create_delivery_note for documents derived from an existing invoice or an approved quote; each links back to its source, and a cancelled invoice is read-only afterwards. duplicate_invoice copies an invoice or quote into a fresh draft without a link. API keys need read_invoices for template/settings reads and write_invoices for edits. Settings updates use the invoice-specific endpoint and cannot edit other company fields. Deploy the matching invoice API endpoints before deploying this MCP version.
💬 Try asking
Once connected, talk to your books in plain language:
- "Prepare and file my UStVA for last month."
- "Send a €1,200 invoice to ACME for consulting."
- "What did I spend on software this quarter?"
- "Find tax deductions I might have missed."
- "Which invoices are overdue? Send reminders."
Interactive UI inside your AI assistant
Norman is more than a collection of background tools. In MCP Apps-compatible ChatGPT and Claude clients, Norman can render focused accounting workspaces directly inside the conversation. You can filter and inspect the underlying data, move between related views, and use Ask AI to continue the discussion with the current accounting context.
| Interactive workspace | Use case |
|---|---|
| Document Review | Review uploaded invoices and receipts, find documents that still need a transaction match, and inspect linked records. |
| Reconciliation Cockpit | Find transactions with missing documents, missing categories, or accounts from a previous SKR before month-end or year-end close. |
| Ledger Explorer | Browse the chart of accounts, inspect balances, and drill into the postings behind an account. |
| Tax Preview & Submission | Review the Finanzamt test PDF, tax lines, period, total, and readiness checks before filing. Submission is a separate explicit action and stays disabled until the user confirms the preview. |
Try prompts such as:
- "Open my Document Review for the last 60 days."
- "Show my Reconciliation Cockpit and highlight missing documents or categories."
- "Open the Ledger Explorer and show the postings for account 1200."
- "Open my VAT return for July, generate the Finanzamt test preview, and explain anything I should review before submission."
The Norman API remains the source of truth. Opening or filtering a workspace does not change accounting data. Binding actions, including tax submission, remain separate MCP tool calls with their normal confirmation and permission checks. Clients without MCP Apps support receive the same underlying results as structured or text tool output.
<br/>🏢 Starting a company
Found a German GmbH or UG (haftungsbeschränkt) end-to-end — Norman collects the data, prepares the documents, and hands off to a notary:
- "I want to start a GmbH in Berlin — walk me through it."
- "Found a UG for me and two co-founders, split the shares 60/40."
- "Is 'Wunderbar Robotics' still free in the Handelsregister?"
- "Reword my business purpose so it's ready for the register."
- "Generate the Musterprotokoll and find me a notary who does online notarization."
- "What's left before my company is officially registered?"
<br/> <details open> <summary> <h3>👀 See it in action</h3> </summary> <br/> <table> <tr> <td align="center"> <p><strong>Filing a VAT return</strong></p> <img src="https://github.com/user-attachments/assets/00bdf6df-1e37-4ecd-9f12-2747d8f53484" alt="Filing VAT tax report" width="400"> </td> <td align="center"> <p><strong>Transaction insights</strong></p> <img src="https://github.com/user-attachments/assets/534c7aac-4fed-4b28-8a5e-3a3411e13bca" alt="Transaction insights" width="400"> </td> </tr> <tr> <td align="center"> <p><strong>Syncing Stripe payments</strong></p> <img src="https://github.com/user-attachments/assets/2f13bc4e-6acb-4b39-bddc-a4a1ca6787f0" alt="Syncing Stripe payments" width="400"> </td> <td align="center"> <p><strong>Receipts from Gmail</strong></p> <img src="https://github.com/user-attachments/assets/2380724b-7a79-45a4-93bd-ddc13a175525" alt="Creating transactions from Gmail receipts" width="200"> </td> </tr> <tr> <td align="center"> <p><strong>Chasing overdue invoices</strong></p> <img src="https://github.com/user-attachments/assets/d59ed22a-5e75-46f6-ad82-db2f637cf7a2" alt="Managing overdue invoices" width="300"> </td> <td align="center"> <p><strong>Sending payment reminders</strong></p> <img src="https://github.com/user-attachments/assets/26cfb8e9-4725-48a9-b413-077dfb5902e7" alt="Sending payment reminders" width="350"> </td> </tr> </table> </details> <br/>Choosing GmbH/UG also sets your Norman account to the corporate SKR04 chart of accounts, so bookkeeping and taxes are ready from day one. The documents are drafts to prepare the notary appointment — not legal advice.
<br/>
🚀 Get Started
Before connecting, create a free Norman account if you don't have one yet. Log in with your Norman credentials via OAuth — your password never touches the AI.
<details> <summary><strong>Claude Connectors</strong></summary> <br/>- Go to Claude Connectors
- Click Add
- Find and connect: Norman Finance
MCP Apps-compatible Claude hosts can open Norman's interactive accounting workspaces directly in the conversation. Other Claude clients receive the same data as normal tool output.
</details> <details> <summary><strong>Claude Code</strong></summary> <br/>Norman is available as a Claude Code plugin with built-in skills.
/plugin marketplace add norman-finance/norman-mcp-server
/plugin install norman-finance@norman-finance
Or install directly from GitHub:
claude /plugin install github:norman-finance/norman-mcp-server
</details>
<details>
<summary><strong>ChatGPT Plugins</strong></summary>
<br/>
- Install it from the official ChatGPT Plugins Directory.
The plugin includes Norman's interactive accounting workspaces, including Document Review, Reconciliation, Ledger Explorer, and the explicit tax preview and submission flow.
</details> <details> <summary><strong>Gemini</strong></summary> <br/>Gemini CLI extension
gemini extensions install https://github.com/norman-finance/norman-mcp-server
Start Gemini CLI and authenticate the remote server when prompted, or run:
/mcp auth norman-finance
Gemini Spark custom app
Create a Spark, add a custom app, and use
https://mcp.norman.finance/mcp as its MCP server URL. Availability depends on
your Gemini account and region. See Google's custom app
guide.
- Open Account settings → Connectors
- Click + Custom Connector and select Remote
- Enter Norman Finance and
https://mcp.norman.finance/mcp - Save the connector and complete Norman OAuth
Organization administrators can share the remote connector with their team.
</details> <details> <summary><strong>Grok</strong></summary> <br/>Grok web
- Go to Grok Connectors
- Click New Connector → Custom
- Enter
https://mcp.norman.finance/mcpand complete Norman OAuth
Grok CLI
grok mcp add --transport http norman-finance https://mcp.norman.finance/mcp
Grok CLI also discovers this repository's .mcp.json automatically.
Option 1 — Remote with OAuth
Run in OpenClaw:
mcp add https://mcp.norman.finance/mcp
You'll be prompted to log in with your Norman account on first use.
Option 2 — Skills only
git clone https://github.com/norman-finance/norman-mcp-server.git
cp -r norman-mcp-server/skills/* ~/.openclaw/skills/
openclaw gateway restart
Option 3 — Local stdio
pip install norman-mcp-server
openclaw mcp add norman -- norman-mcp --transport stdio
Set your credentials as environment variables (NORMAN_EMAIL, NORMAN_PASSWORD) before starting the gateway.
- Create an MCP OAuth2 API credential
- Enable Dynamic Client Registration
- Set Server URL:
https://mcp.norman.finance/ - Click Connect my account and log in with Norman
- Add an MCP Client Tool node to your AI Agent workflow
- Set the URL to
https://mcp.norman.finance/mcpand select the credential
Add a remote HTTP MCP server with URL:
https://mcp.norman.finance/mcp
</details>
<br/>
<br/>
Skills
Ready-to-use skills compatible with Claude Code, OpenClaw, and the Agent Skills standard.
| Skill | What it does |
|---|---|
financial-overview | Full dashboard — balance, transactions, invoices, and tax status |
create-invoice | Step-by-step invoice creation and sending |
manage-clients | List, create, and update client records |
manage-products | List, create, update, and archive catalog products; fill invoice lines from them |
tax-report | Review, preview, and file tax reports with the Finanzamt |
categorize-transactions | Categorize and verify bank transactions |
find-receipts | Find missing receipts from Gmail or email and attach them |
overdue-reminders | Identify overdue invoices and send payment reminders |
expense-report | Expense breakdown by category, top vendors, and trends |
tax-deduction-finder | Scan transactions for missed deductions and suggest fixes |
monthly-reconciliation | Full monthly close — transactions, invoices, receipts, and taxes |
run-workflow | Start a Norman workflow, answer its questions, and schedule it to run by itself |
company-incorporation | Found a German GmbH/UG — data, documents, name check, and notary hand-off |
<br/>Claude Code —
/plugin marketplace add norman-finance/norman-mcp-serverClaude Code (local) —
claude --plugin-dir ./norman-mcp-serverOpenClaw —
cp -r skills/* ~/.openclaw/skills/ && openclaw gateway restart
<br/> <p align="center"> Have a feature idea? <a href="../../issues"><strong>Share your suggestion →</strong></a> </p> <br/> <p align="center"> <a href="https://mcpbeat.com/mcp-servers/norman/mcp-server/"><img src="https://mcpbeat.com/badge/norman/mcp-server.svg" alt="mcpbeat"></a> <a href="https://glama.ai/mcp/servers/@norman-finance/norman-mcp-server"><img src="https://glama.ai/mcp/servers/@norman-finance/norman-mcp-server/badge" alt="Norman Finance MCP server" width="200" /></a> </p> <p align="center"> <br/> <a href="https://norman.finance/?utm_source=mcp_server"> <img width="80px" src="https://github.com/user-attachments/assets/d2cb1df3-69f1-460e-b675-beb677577b06" alt="Norman" /> </a> <br/><br/> <sub>Make business effortless</sub> </p> <!-- mcp-name: finance.norman/mcp-server -->
Mixed VAT and documented input tax
See the VAT item workflow for item-level treatments, fixed documented EUR input VAT, refunds and manual VAT-only corrections. Requires the corresponding API migrations and calculation updates.
Related MCP servers
Bitcoin-native credit ratings. ⚡ Lightning pay-per-query (99 sats) or API subscriptions.

Orla
Personal, family and business books over fiat and crypto. Reads and records; it cannot pay.
Dividend portfolio tracking and planning for US and EU markets: income, safety, Spain-aware taxes.
9,900+ US equities, 64 years of prices, financials, technicals, and earnings. Ask in plain English.
Geometry and CAD file metadata extraction for STL, OBJ, PLY, PCD, LAS/LAZ, glTF/GLB.
Analyze user-submitted face photos with a complete report or 13 focused face-analysis tools.
View repository →