
Frihet ERP
io.frihetPublished by frihet.ioOfficial publisherv2.0.0Updated Nov 7, 2026
Frihet ERP over MCP: invoices, quotes, expenses, clients, CRM, banking and Spanish tax summaries
Overview
Connects an AI assistant to the Frihet ERP so it can create and query invoices, quotes, expenses, clients, CRM records, banking and Spanish tax summaries.
- What you can do
- Create, update, search and delete invoices, quotes, credit notes and recurring invoice templates, and email them to clients
- Record and manage expenses, products, clients, contacts, CRM activities and notes
- Read business intelligence: business snapshot, monthly profit and loss, quarterly tax preparation, AR aging
- Handle e-invoicing and fiscal submissions, plus time tracking, HR leave and attendance, team roles and webhooks
- Run guided prompts such as monthly close, quarterly tax prep, overdue follow-up and cash-flow forecast
- When to use it
- Useful when a business already runs its books in Frihet and wants an assistant to draft invoices, log expenses, look up clients or pull tax and profit figures in plain language instead of clicking through the app.
- Requirements
- Either the hosted remote endpoint with OAuth sign-in, or the local npm package run with npx, which needs Node 22.23.4+, 24.22.1+ or 26.12.1+ and a Frihet API key in FRIHET_API_KEY. A Frihet account is required; a demo mode answers from example data without an account.
Installation
In SourceWeft
- Open Frihet ERP in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.frihet%2Ferp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"frihet-erp": {
"type": "http",
"url": "https://mcp.frihet.io/mcp"
}
}
}README
AI-native MCP server for business management.
Servidor MCP nativo con IA para gestión empresarial.
Works with Claude · ChatGPT · Cursor · Windsurf · Cline · Antigravity · Codex · Copilot · Gemini CLI — and any MCP-compatible client.
[npm version] [npm downloads] [MCP Registry] [156 canonical catalogue operations] [license]
[Frihet MCP — talk to your ERP in natural language]
What is this
An MCP server that connects your AI assistant to Frihet, the AI-native ERP for businesses of any size. Ask for invoices, expenses, clients, quotes, banking and tax figures in plain language, from the tools you already use.
156 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.
Quick start
Remote, one step. Add https://mcp.frihet.io/mcp as a remote MCP server in any client that supports OAuth. You sign in with your browser; there is nothing to install and no key to copy.
Local, with your API key (create one in app.frihet.io under Settings > API):
No account yet? Try demo mode. It answers from example data, persists nothing and makes no network calls:
Local installs need Node 22.23.4+, 24.22.1+ or 26.12.1+. Other clients are covered under Client setup.
Distribution
Where to get it
Also listed on Glama, Cursor Directory, mcp.so, mcpservers.org and the ToolSDK registry.
Surface truth: the catalogue contains 156 canonical operations. The local full profile serves 161 tool names, 11 resources, and 10 prompts (156 canonical operations plus 5 fiscal aliases). The hosted grouped profile serves 164 tool names, 7 resources, and 10 prompts (the same names plus 3 discovery tools, with API-backed resources kept local-only). The separately reviewed OpenAI profile serves 33 tool names, 0 resources, and 0 prompts. These counts describe the current source release; the hosted server reports the version it is running at
/health. Catalogue membership is not a promise that a backing API is enabled for every workspace.
What you can do
Real prompts, grouped by area.
Beyond these, the catalogue covers banking, e-invoicing, time tracking, recurring invoices, HR and payroll, POS and more. See the full catalogue.
Client setup
Claude Code
Or use the hosted server: claude mcp add --transport http frihet https://mcp.frihet.io/mcp.
Codex CLI
Codex reads TOML, not JSON. Pasting a JSON mcpServers block into ~/.codex/config.toml is a parse error that breaks the whole file, so use the command above.
Claude Desktop, Cursor, Windsurf, Cline
Remote server with an API key
Clients that support OAuth 2.1 with PKCE can connect to the same URL and sign in through the browser instead.
ChatGPT
Open Frihet in ChatGPT and connect your account.
Skill for coding agents
Installs the Frihet skill for Claude Code, Cursor, Codex, Windsurf, Gemini CLI and others. It routes requests to the MCP tools and asks for confirmation before writes. Tax figures come from your Frihet data, not from the skill. Skill docs.
Get your API key
- Log into app.frihet.io
- Go to Settings > API
- Click Create API key
- Copy the key (starts with
fri_). It is only shown once.
For AI agents
If you are an agent reading this repository, the contract is machine-readable and generated from the running server.
- Orient before acting.
get_business_contextand thefrihet://tax/ratesresource decide the correct fiscal treatment. Do not recall a tax rate from memory. - Draft, show, stop.
create_invoice,create_quoteandcreate_credit_notedefault tostatus=draft: no fiscal number, no hash, nothing sent to a tax authority. - Human authority is not yours to assume. Any tool with a non-empty
externalSideEffectsreaches a client's inbox, a webhook, money, or a tax authority. Several also takeconfirm=true; that flag records a human decision.
What to expect
This MCP is a structured data interface -- you describe what you want in natural language, and the AI creates, queries, or modifies business records in Frihet. Most of the 156 canonical operations are CRUD operations over the REST API; the rest are read-only summaries and fiscal/e-invoice actions. Alias and discovery names are counted separately.
It does not do OCR, PDF scanning, file upload or image processing. To digitize a paper invoice, extract the data first (a vision model, an OCR service, or manual entry), then ask the assistant to create the record. One API key maps to one Frihet workspace, and you need a Frihet account at app.frihet.io.
Full catalogue
All 156 canonical operations, resources and prompts
Invoices (12)
Expenses (5)
Clients (5)
CRM: Contacts (3)
CRM: Activities (2)
CRM: Notes (3)
Products (5)
Quotes (6)
Webhooks (6)
Intelligence (4)
E-Invoicing (10)
Time Tracking (6)
Recurring Invoices (8)
Team Management (4)
Gestoria — Accountants (5)
Audit GL (3)
White-label Portal Domain (3)
Self-onboard & VIES (2)
IGIC — Canary Islands Indirect Tax (4)
Impuesto sobre Sociedades — Corporate Tax (2)
Bank Categorization Rules (2)
Deposits (7)
Vendors (5)
Banking (5)
Fiscal — Spanish Tax Models (7)
Vacation Rentals / Stay (5)
POS — Point of Sale (4)
Kitchen / Restaurant (6)
HR — Human Resources (9)
Payroll (2)
Permissions (2)
Period Close (3)
All canonical operations (and their aliases) return structured output via outputSchema -- typed JSON, not raw text. List response shapes follow their API family; not every list endpoint is paginated.
Capability and side-effect truth
On the full MCP surfaces, every tools/list entry includes _meta["io.frihet/capability"]:
registeredmeans the name and handler exist in this server build;callabilityisapi_dependent(the handler calls the API; deployment, workspace enablement, and authorization still decide),runtime_checked(the handler explicitly distinguishes an absent backend from empty data),deferred,unavailable, orlocal—never an unconditional “available” claim;writesFrihet,externalInteraction, andexternalSideEffectsdistinguish state changes and calls to external entities/providers;- MCP action annotations remain the standard source for read-only, destructive, idempotent, and open-world hints.
The ChatGPT app uses a separately reviewed profile of 33 business operations, with no discovery meta-tools, prompts or resources. Its 17 reads and 16 writes are deliberately narrow, and every write requires literal confirm=true. Do not infer it from the full catalogue.
Resources
Context the AI can read to make smarter decisions.
The local package serves 11 resources: 7 static references plus 4 API-backed workspace resources. The hosted Worker serves the 7 static resources. The OpenAI-reviewed host serves 0 resources.
Static (reference data, no API calls):
Dynamic (live data from your account):
Prompts (10)
Pre-built workflows the AI can execute as guided multi-step operations.
Configuration
FRIHET_TOOL_MODE=grouped is progressive disclosure: each tool description collapses to one line and three discovery tools (list_tool_groups, search_tools, describe_tool) are added, so an agent loads full schemas only for the tools it needs. Operation names, input schemas and handlers do not change. The hosted server runs in grouped mode.
Rate limits depend on your plan; the server retries with exponential backoff on 429. See the API reference.
Development and contributing
Test with the MCP Inspector: npx @modelcontextprotocol/inspector node dist/index.js. Open an issue before large changes. Report vulnerabilities as described in SECURITY.md.
Ecosystem
Frihet · Documentation · MCP server docs · OpenAPI spec
License
MIT. See LICENSE.
Built by Frihet.
Source: README.md at commit 073cc52
Tools
0Version history
2- v2.0.0LatestNov 7, 2026
- v1.17.0Sep 16, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts