Skip to content
MCPInvoice from your AI
Factuarea

MCP server

391 tools inside the agent you already use

Connect Claude, ChatGPT or Cursor with one URL and one key. No extra server to install or maintain.

  • Included with paid plans
  • Test mode with fact_test_ keys
  • Every call is logged

Compatible integrations and formats

  • Stripe
  • WhatsAppWhatsApp
  • Facturae

The server at a glance

Compatible clients

  • Claude
  • ChatGPT
  • Cursor
Endpoint
mcp.factuarea.com
Transport
HTTP
Credential
Bearer fact_live_… · X-API-Key · OAuth 2.1 + PKCE
Contract
api.factuarea.com/v1
Tools
391 across 27 domains

The server counts the figure itself and the documentation publishes it.

The connection

Connect your MCP client with one URL and one credential

We host the server. Your client connects over HTTP and sends the credential in a header. It takes as long as pasting the key takes.

  1. 1Create the keyIn the dashboard, under Settings → Developers. The secret is shown once: lose it and you rotate it.
  2. 2Pick the permissionsThe key is born with the list you choose, from a closed catalogue. Asking for a permission that does not exist returns a 422.
  3. 3Point the client at itAny MCP client works. Here are three compatible, recognisable clients.
Claude
ChatGPT
Cursor
Factuarea MCP391 tools · scoped
mcp.json
https://mcp.factuarea.com
Authorization: Bearer fact_test_…
PermissionsThe trailCutting it off

Permissions

Each credential defines the agent's scope

A credential is not a user. Before a tool ever runs, the call goes through six checks; once inside, three more. Each one returns its own reason, so when something is refused you know exactly why.

  • The credential is resolvedBy its shape: fact_live_ and fact_test_ take the key path; any other token takes the OAuth one.
  • The exact permissionNo wildcards: invoices:* does not exist. Either you carry invoices:delete or you delete nothing.
  • The module, on your planAnd in test mode, on top of that, the list of modules barred from the sandbox.
Bearer fact_live_…invoices:read · invoices:write
invoices.listscope: invoices:read
invoices.createscope: invoices:write
×clients.deletescope: clients:delete

What the key does not open, the agent never sees

The tool list is filtered by the same rule as the invocation. A tool whose permission you do not hold simply is not there, so the agent cannot even propose it.

391 with your own key. 305 over OAuth.

The trail

Every call leaves a row

There is no quiet mode. Every invocation is recorded with who, what, under which permissions, how long it took and how it ended. Since the response returns the correlation id, you can match your agent's log against ours without guessing.

  • Identity and permissionsThe row identifies the API key or OAuth app and the exact scopes it carried.
  • Redacted argumentsA hash is kept for comparison and a sample without emails, tax IDs, IBANs or secrets.
  • Correlated resultHTTP status, error and latency return under the same request identifier.
Claudeinvoices.createOAuth · invoices:write201
MCP audit logrow saved
tool_name
invoices.create
scopes
invoices:write
oauth_client_id
app_01J…
tool_args_sample
[REDACTED:nif]
result · latency_ms
201 · 184 ms
[REDACTED:email][REDACTED:nif][REDACTED:iban]

Published surface

An integration that fits your stack

The OpenAPI contract, SDKs and MCP server share the same API. These figures are checked against the published surface so you can assess scope and maintenance before integrating.

API operations
413
resources
37
MCP tools
391
documentation pages
797

Compatible technologies and clients

  • Official Claude logoClaude
  • Official ChatGPT logoChatGPT
  • Official Cursor logoCursor
  • Official OpenAPI logoOpenAPI

Logos identify compatible technologies or clients; they do not imply a commercial relationship or endorsement.

Questions

What people ask before connecting

The server is included with paid plans and can also be tested during the initial ten days. The trial tier allows 10 requests per minute and 100 per month. Each paid plan then applies its own capacity.

Connect it and ask it something

One test key and two lines of configuration. If it does not convince you, revoke it and nothing is left running.