AI-powered bookkeeping and tax filing for entrepreneurs at the heart of the European economy.
Finance.Norman MCP Server
The finance.norman/mcp-server is an MCP-compatible server that provides AI-powered bookkeeping, accounting, and taxes for European businesses. Its readme describes connecting invoicing, transactions, receipts, ledgers, reports, taxes, and company workflows inside an AI assistant.
🛠️ Key Features
Bookkeeping and accounting
Tax-related workflows
Invoicing and transaction handling
Receipt, ledger, and report connectivity
VAT filing and German accounting context
MCP integration
🚀 Use Cases
Organize bookkeeping for entrepreneurs in Europe
Support invoicing-to-ledger workflows
Assist with German tax and VAT filing workflows (including ELSTER context)
Use with MCP-compatible AI assistants
⚡ Developer Benefits
Integrates with Model Context Protocol (MCP)
Targets interoperability with AI assistants (e.g., MCP-compatible environments)
Uses/reflects European accounting standards and references (e.g., DATEV, SKR03/4)
⚠️ Limitations
The provided data does not specify supported filing endpoints, authentication, or tool details beyond MCP integration and workflow connectivity.
AI-powered bookkeeping, accounting, and taxes for European businesses, inside your AI assistant.
Norman connects invoicing, transactions, receipts, ledgers, reports, taxes, and company workflows to any MCP-compatible AI.
https://mcp.norman.finance/mcp
Claude · ChatGPT · Gemini · Grok · Perplexity · Cursor · Any MCP Client
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
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
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
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.
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:
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.
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.
🏢 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?"
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.
👀 See it in action
Filing a VAT return
Filing VAT tax report
Transaction insights
Transaction insights
Syncing Stripe payments
Syncing Stripe payments
Receipts from Gmail
Creating transactions from Gmail receipts
Chasing overdue invoices
Managing overdue invoices
Sending payment reminders
Sending payment reminders
🚀 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.
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.
The plugin includes Norman's interactive accounting
workspaces, including Document
Review, Reconciliation, Ledger Explorer, and the explicit tax preview and
submission flow.
Start Gemini CLI and authenticate the remote server when prompted, or run:
text
/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.
Perplexity
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.
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.