Create invoices by talking, query expenses in natural language, manage your entire business from your IDE. MCP-native business tool.
Frihet MCP
watchFirst MCP-native ERP server — 31 tools for business operations. Create invoices by talking, query expenses in natural language. Extremely early (3 GitHub stars).
Where it wins
First MCP-native ERP server — unique in the market
31 tools for business operations via natural language
Create invoices, query expenses from your IDE
Where to be skeptical
Only 3 GitHub stars — extremely early
No funding, minimal user base
Self-reported claims only (Dev.to blog post by creator)
Prototype-stage — not production-ready
Editorial verdict
First MCP-native ERP server — directly relevant to Claude-native business workflows. 31 tools for invoicing, expenses, and business ops via natural language. But only 3 GitHub stars — too early to recommend for production. Worth watching for the MCP ecosystem angle.
Related

Midday
88Open-source freelancer business tool: invoicing, time tracking, bank connections, Magic Inbox (receipt matching), AI assistant. 14,108 GitHub stars. Bun/Next.js/Supabase/Tauri stack. AGPL-3.0.

Endex
45AI-powered financial analysis agents inside Excel. $14M funding led by OpenAI Startup Fund with Palantir, Two Sigma, and Coatue execs. Vision models transcribe PDFs/screenshots into Excel structures.
Rows
45AI-native spreadsheet with 89% first-try accuracy in AI benchmark (vs Excel 53%, Julius 75%). $8/user/mo. Better for analysis and light modeling than hardcore IB work.

LinkSquares
45Enterprise contract lifecycle management with AI review. $164M total funding, $800M valuation. G2 leader 5 consecutive years. 1,000+ customers. Built for enterprise legal ops, bulk analysis, and M&A due diligence.
Public evidence
Raw GitHub source
GitHub README peek
Constrained peek so you can sanity-check the source material without leaving the site.
Distribution
| Channel | Status | Install |
|---|---|---|
| npm | Live | npx @frihet/mcp-server |
| Remote endpoint | Live | https://mcp.frihet.io/mcp (zero install, OAuth or API key) |
| MCP Registry | Live | registry.modelcontextprotocol.io |
| Glama | Live | glama.ai/mcp/servers/Frihet-io/frihet-mcp |
| mcp.so | Auto-index (unverified) | mcp.so — indexes from npm + GitHub |
| PulseMCP | Auto-index (unverified) | pulsemcp.com — indexes from npm + GitHub |
| Cursor Marketplace | Coming soon | cursor.com/marketplace |
| ChatGPT Apps | Coming soon | chatgpt.com |
| Anthropic Claude Directory | Coming soon | claude.ai/settings/connectors |
Surface truth: the catalogue contains 157 canonical operations. The local full profile serves those plus 5 fiscal alias names (162 names). The hosted grouped profile also adds 3 local discovery names (165 names). Catalogue membership is not a promise that a backing API is enabled for every workspace.
What is this
An MCP server that connects your AI assistant to Frihet. Create invoices by talking. Query expenses in natural language. Manage your entire business from your IDE.
You: "Create an invoice for TechStart SL, 40 hours of consulting at 75 EUR/hour, due March 1st"
Claude: Done. Invoice INV-2026-089 created. Total: 3,000.00 EUR + 21% IVA = 3,630.00 EUR.
157 canonical operations. Five fiscal aliases. Ten prompts. The local package serves 11 resources; the hosted Worker deliberately serves the 7 static resources, while API-backed workspace resources remain local-profile only.
<!-- v1.12.0-beta.1 — D4-B megasprint: HR (9), payroll (2), onboarding (2), permissions (2), period close (3), webhook test (1) = +19 = 157 tools total -->Try it instantly (no signup)
Kick the tires with zero setup — no account, no API key:
FRIHET_DEMO=1 npx -y @frihet/mcp-server
In demo mode the server answers from realistic example fixtures (Spanish invoices with IVA/IGIC, expenses, clients, products, a bank account, and more) — every record uses demo_-prefixed IDs and the server prints a DEMO MODE banner on startup. Nothing is persisted and no network call is ever made. Writes are simulated and fiscal actions (e-invoice, VeriFactu, TicketBAI, FACe, payroll) return a clearly-labeled simulation — never a real submission to any tax authority.
When you're ready for your real data, drop the flag and add your key (app.frihet.io → Settings → API keys). See Install below.
For AI agents
If you are an agent reading this repository rather than a person reading a page, everything you need is machine-readable and generated from the running server — you do not have to parse this README.
| What | Where |
|---|---|
| Onboarding contract: quickstart per client, auth, safe workflow, human-authority tool lists, error recovery | docs/agent-onboarding.json — also shipped inside the npm package |
Per-tool capability truth: callability, writesFrihet, externalInteraction, externalSideEffects | _meta["io.frihet/capability"] on every entry of tools/list |
| How to behave once connected | the instructions string returned by initialize — your client hands it to you automatically |
Three rules the contract encodes, in short:
- Orient before acting.
get_business_contextand thefrihet://tax/ratesresource decide the correct fiscal treatment. Do not recall a Spanish tax rate from memory. - Draft, show, stop.
create_invoice,create_quoteandcreate_credit_noteall default tostatus=draft— no fiscal number, no hash, nothing sent to a tax authority. Present the draft and hand back. - Human authority is not yours to assume. Any tool with a non-empty
externalSideEffectsreaches a client's inbox, a webhook, money, or AEAT / VeriFactu / TicketBAI / FACe. Several also takeconfirm=true; that flag records a human decision — never set it to satisfy your own plan.
docs/agent-onboarding.json is regenerated from the live surface by npm run generate:agent-onboarding and gated in CI by npm run gate:agent-onboarding, so its tool lists and counts cannot drift from the server.
Install
One-line (Claude Code, Cursor, Copilot, Codex, Windsurf, Gemini CLI, and more)
npx skills add Frihet-io/frihet-mcp
Claude Code plugin (skill + MCP server in one install)
This repository is also a Claude Code plugin (frihet-erp): installing it wires up both the business-management skill and the MCP server.
# Try it locally
claude --plugin-dir /path/to/frihet-mcp
Once available in the community marketplace:
/plugin marketplace add anthropics/claude-plugins-community
/plugin install frihet-erp@claude-community
Skill invocation: /frihet-erp:frihet-mcp. The bundled .mcp.json launches @frihet/mcp-server via npx — set FRIHET_API_KEY in your environment (get one at app.frihet.io → Settings → API keys).
Claude Code — one command
claude mcp add frihet -s user -e FRIHET_API_KEY=fri_your_key_here -- npx -y @frihet/mcp-server
claude mcp list # verify: frihet ✓ Connected
The CLI owns the config file, so there is nothing to hand-edit and no path to get wrong. (User scope writes ~/.claude.json, not ~/.claude/mcp.json.)
Codex CLI — one command
codex mcp add frihet --env FRIHET_API_KEY=fri_your_key_here -- npx -y @frihet/mcp-server
codex mcp list # verify
Codex config is TOML, not JSON. codex mcp add writes:
[mcp_servers.frihet]
command = "npx"