Frihet MCP Server

@frihet/mcp-server npm v1.17.0

Published by @frihet — no publish provenance, so origin is unverified, but the source is public: the repository link below is self-declared yet readable, so you can inspect the code before adopting it.

AI-native MCP server for Frihet ERP — 157 tools: invoicing, expenses, CRM, banking, POS + ES/EU fiscal compliance (VeriFactu, TicketBAI, Facturae). Zero-install at mcp.frihet.io. Works with Claude, ChatGPT, Cursor, Windsurf, Cline & any MCP client.

Trust grade
A
92/100
Last scanned get badge →
Trust
A · 92/100
Adoption risk for you: the threat score, then adjusted down for blast radius, publisher verification and how much the scan could see. Deterministic; every point is auditable.
Capability
High
Blast radius if it went rogue — what the server’s tools could reach. Independent of trust.
Coverage
Source
How much the scan could actually inspect. Shallow coverage is stated, never hidden.
Share this Trust Score
𝕏 Share LinkedIn Reddit
A Why this grade threat 99 − adoption risk = 92/100

The grade answers one question — how safe is this server for you to adopt — so it is computed in two auditable stages. Nothing below is an opinion or an LLM's guess; every line is a real term the deterministic engine applied, and the same input always yields the same number.

1. Threat score — 100 − 1.2 = 99. What the published surface and source actually contain:

PointsWhat was foundCategory
−1.2 Package runs install-time scripts MTC-SUP-010 supply-chain

2. Client adoption risk — 99 − 7 = 92. Three small, subtract-only factors that reflect your risk in adopting it — a clean scan proves less on a powerful, unverified or barely-inspectable package, so the grade says so plainly:

PointsAdoption-risk factor
−6 capability blast radius (high) — client exposure if the model is manipulated
−1 publisher verification (public source) — no provenance, but the source is public and inspectable

Capability observations and info notes are shown under Findings but never scored. Open any row's finding below for the file, line and evidence behind a deduction.

Findings 6

critical Completed toxic-flow trifecta across toolsMTC-FLOW-002

This server (without client built-ins) exposes a complete data-exfiltration chain: get_invoice_einvoice ⇒ create_webhook → delete_webhook. Untrusted input is ingested, private data is read, and it can be sent to an external sink — and at least one leg is a direct schema wire (⇒), where a producer's output drops straight into a free-text parameter of the next tool, so the chain needs little agent cooperation. Static analysis proves the primitive exists, not that a specific run will occur.

Fix: Remove one leg of the trifecta: isolate untrusted-input tools from secret-reading tools and from egress tools, or require human approval between them.

Location: flow get_invoice_einvoice → create_webhook → delete_webhook

high Read-and-egress in one tool: "create_webhook"MTC-FLOW-003

Tool "create_webhook" can both read sensitive data and send data to an external destination. Even without an explicit untrusted-input leg, this is a single-call data-exfiltration path if the model is ever manipulated.

Fix: Separate reading from sending; require explicit user confirmation before egress of file/secret contents.

Location: flow create_webhook

high Read-and-egress in one tool: "update_webhook"MTC-FLOW-003

Tool "update_webhook" can both read sensitive data and send data to an external destination. Even without an explicit untrusted-input leg, this is a single-call data-exfiltration path if the model is ever manipulated.

Fix: Separate reading from sending; require explicit user confirmation before egress of file/secret contents.

Location: flow update_webhook

medium Unconstrained URL/host parameter "url" on "create_webhook"MTC-CAP-007

Tool "create_webhook" takes a URL/host parameter "url" with no allowlist/pattern. An outbound-request tool with an unbounded destination enables SSRF and cloud-metadata access (e.g. 169.254.169.254).

Fix: Allowlist destinations or constrain the parameter; block private/link-local addresses server-side.

Location: tool create_webhook · inputSchema.properties.url

medium Unconstrained URL/host parameter "url" on "update_webhook"MTC-CAP-007

Tool "update_webhook" takes a URL/host parameter "url" with no allowlist/pattern. An outbound-request tool with an unbounded destination enables SSRF and cloud-metadata access (e.g. 169.254.169.254).

Fix: Allowlist destinations or constrain the parameter; block private/link-local addresses server-side.

Location: tool update_webhook · inputSchema.properties.url

low Package runs install-time scripts (postinstall)MTC-SUP-010

"@frihet/mcp-server" executes postinstall script(s) at install time. An install hook runs at install time; most are routine build/setup, but review what it does before trusting it.

Evidence: node scripts/postinstall.js || true

Fix: Review the scripts; install with --ignore-scripts where possible and vet what they do.

Location: package @frihet/mcp-server

Tools 157

Each tool and what it can reach — statically extracted from the published source.

  • create_webhooknetwork egressreads sensitive data
  • update_webhooknetwork egressreads sensitive data
  • delete_webhooknetwork egress
  • get_invoice_einvoiceingests untrusted input
  • test_webhooknetwork egress
  • anomaly_listno sensitive capability
  • apply_depositno sensitive capability
  • apply_late_feeno sensitive capability
  • attendance_clock_inno sensitive capability
  • attendance_clock_outno sensitive capability
Show 147 more tools ↓
  • categorize_transactionno sensitive capability
  • create_clientno sensitive capability
  • create_client_contactno sensitive capability
  • create_client_noteno sensitive capability
  • create_credit_noteno sensitive capability
  • create_depositno sensitive capability
  • create_expenseno sensitive capability
  • create_invoiceno sensitive capability
  • create_productno sensitive capability
  • create_quoteno sensitive capability
  • create_recurring_invoiceno sensitive capability
  • create_reservationno sensitive capability
  • create_time_entryno sensitive capability
  • create_vendorno sensitive capability
  • delete_clientno sensitive capability
  • delete_client_contactno sensitive capability
  • delete_client_noteno sensitive capability
  • delete_depositno sensitive capability
  • delete_expenseno sensitive capability
  • delete_invoiceno sensitive capability
  • delete_productno sensitive capability
  • delete_quoteno sensitive capability
  • delete_recurring_invoiceno sensitive capability
  • delete_time_entryno sensitive capability
  • delete_vendorno sensitive capability
  • duplicate_invoiceno sensitive capability
  • einvoice_exportno sensitive capability
  • export_datevno sensitive capability
  • face_statusno sensitive capability
  • face_submitno sensitive capability
  • frihet_aiem_calculateno sensitive capability
  • frihet_bank_rule_createno sensitive capability
  • frihet_bank_rules_listno sensitive capability
  • frihet_gl_entry_approveno sensitive capability
  • frihet_gl_entry_audit_logno sensitive capability
  • frihet_gl_entry_rejectno sensitive capability
  • frihet_modelo_200_summaryno sensitive capability
  • frihet_modelo_202_summaryno sensitive capability
  • frihet_modelo_415_summaryno sensitive capability
  • frihet_modelo_418_summaryno sensitive capability
  • frihet_modelo_425_summaryno sensitive capability
  • frihet_portal_domain_addno sensitive capability
  • frihet_portal_domain_removeno sensitive capability
  • frihet_portal_domain_verifyno sensitive capability
  • frihet_portal_onboard_link_generateno sensitive capability
  • frihet_tax_id_vies_lookupno sensitive capability
  • gestoria_aging_consolidatedno sensitive capability
  • gestoria_message_sendno sensitive capability
  • gestoria_messages_listno sensitive capability
  • gestoria_template_bulk_sendno sensitive capability
  • gestoria_template_createno sensitive capability
  • get_bank_accountno sensitive capability
  • get_business_contextno sensitive capability
  • get_clientno sensitive capability
  • get_depositno sensitive capability
  • get_einvoice_statusno sensitive capability
  • get_expenseno sensitive capability
  • get_invoiceno sensitive capability
  • get_invoice_pdfno sensitive capability
  • get_kitchen_ticketno sensitive capability
  • get_modelo_130_summaryno sensitive capability
  • get_modelo_180_summaryno sensitive capability
  • get_modelo_303_summaryno sensitive capability
  • get_modelo_347_summaryno sensitive capability
  • get_modelo_390_summaryno sensitive capability
  • get_monthly_summaryno sensitive capability
  • get_productno sensitive capability
  • get_quarterly_taxesno sensitive capability
  • get_quoteno sensitive capability
  • get_recurring_invoiceno sensitive capability
  • get_reservationno sensitive capability
  • get_saleno sensitive capability
  • get_time_entryno sensitive capability
  • get_time_summaryno sensitive capability
  • get_vendorno sensitive capability
  • get_webhookno sensitive capability
  • invite_team_memberno sensitive capability
  • kitchen_flow_summaryno sensitive capability
  • ksef_submitno sensitive capability
  • leave_approveno sensitive capability
  • leave_cancelno sensitive capability
  • leave_listno sensitive capability
  • leave_rejectno sensitive capability
  • leave_request_createno sensitive capability
  • list_bank_accountsno sensitive capability
  • list_client_activitiesno sensitive capability
  • list_client_contactsno sensitive capability
  • list_client_notesno sensitive capability
  • list_clientsno sensitive capability
  • list_depositsno sensitive capability
  • list_expensesno sensitive capability
  • list_invoicesno sensitive capability
  • list_kitchen_stationsno sensitive capability
  • list_kitchen_ticketsno sensitive capability
  • list_menu_itemsno sensitive capability
  • list_productsno sensitive capability
  • list_propertiesno sensitive capability
  • list_quotesno sensitive capability
  • list_recurring_invoicesno sensitive capability
  • list_reservationsno sensitive capability
  • list_salesno sensitive capability
  • list_team_membersno sensitive capability
  • list_terminalsno sensitive capability
  • list_time_entriesno sensitive capability
  • list_transactionsno sensitive capability
  • list_vendorsno sensitive capability
  • list_webhooksno sensitive capability
  • log_client_activityno sensitive capability
  • mark_invoice_paidno sensitive capability
  • match_transaction_to_invoiceno sensitive capability
  • onboarding_persona_setno sensitive capability
  • onboarding_statusno sensitive capability
  • overtime_reportno sensitive capability
  • pause_recurring_invoiceno sensitive capability
  • payroll_checklistno sensitive capability
  • payroll_exportno sensitive capability
  • period_closeno sensitive capability
  • period_close_statusno sensitive capability
  • period_reopenno sensitive capability
  • permissions_matrixno sensitive capability
  • permissions_meno sensitive capability
  • refund_depositno sensitive capability
  • refund_saleno sensitive capability
  • remove_team_memberno sensitive capability
  • resume_recurring_invoiceno sensitive capability
  • run_recurring_nowno sensitive capability
  • search_invoicesno sensitive capability
  • send_einvoiceno sensitive capability
  • send_invoiceno sensitive capability
  • send_quoteno sensitive capability
  • sync_channelno sensitive capability
  • ticketbai_statusno sensitive capability
  • ticketbai_submitno sensitive capability
  • update_clientno sensitive capability
  • update_depositno sensitive capability
  • update_expenseno sensitive capability
  • update_invoiceno sensitive capability
  • update_kitchen_ticketno sensitive capability
  • update_productno sensitive capability
  • update_quoteno sensitive capability
  • update_recurring_invoiceno sensitive capability
  • update_team_member_roleno sensitive capability
  • update_time_entryno sensitive capability
  • update_vendorno sensitive capability
  • validate_einvoice_xmlno sensitive capability
  • verifactu_resubmitno sensitive capability
  • verifactu_statusno sensitive capability

Toxic flows 3

Cross-tool combinations that form a data-exfiltration primitive (untrusted input → sensitive source → external sink).

What this scan could not see

Versions 4

Scan history per published version. The engine is deterministic — the same version always yields the same score, so a changed score means the package itself changed.

VersionScoreFindingsEngineScanned
v1.17.0 latest A 92/100 6 1.13.0 2026-09-07
v1.16.6 A 92/100 6 1.13.0 2026-08-30
v1.16.5 A 92/100 6 1.12.1 2026-08-06
v1.16.4 A 92/100 6 1.12.1 2026-07-29

Embed this score

Show this server's live Trust Score in your README, docs or website. The badge is served straight from the registry and updates automatically after every rescan — no API key needed. It links back to this page, so anyone who sees the grade can also read the findings behind it instead of taking a number on faith.

MCP Trust Score: A · 92/100
Markdown (GitHub README)
[![MCP Trust Score](https://mcptrustchecker.com/registry/frihet-mcp-server/badge.svg)](https://mcptrustchecker.com/registry/frihet-mcp-server)
HTML
<a href="https://mcptrustchecker.com/registry/frihet-mcp-server"><img src="https://mcptrustchecker.com/registry/frihet-mcp-server/badge.svg" alt="MCP Trust Score" height="20"></a>
Prefer shields.io styling? Point it at https://mcptrustchecker.com/registry/frihet-mcp-server/badge.json via https://img.shields.io/endpoint?url=…

Verify this score yourself

The score above is reproducible: the same package version always yields the same result. Run it locally or over the free API — no account, no LLM, fully deterministic.

npx mcptrustchecker scan @frihet/mcp-server --online

Use the free API → How scoring works

More in Business & CRM