Factuarea API
MCP server

Overview

Connect AI agents to Factuarea over the Model Context Protocol — 232 tools across invoicing, catalog, compliance and webhooks, with OAuth 2.1 and API-key auth.

The Factuarea MCP server exposes the public API as Model Context Protocol tools, so AI agents (Claude, ChatGPT, Cursor, your own LLM app) can read and operate on your invoicing data through a single, governed endpoint instead of hand-writing HTTP calls. It speaks the Streamable HTTP transport and lives at:

https://mcp.factuarea.com

The canonical endpoint is the subdomain root. The earlier path form https://mcp.factuarea.com/mcp continues to work as a compatibility alias, so existing configurations keep connecting.

Every tool maps to the same https://api.factuarea.com/v1 contract documented in the API Reference: identical resources, the same opaque id (UUID v7), the same normalized errors, the same multi-tenant isolation by company. The MCP layer adds discovery (tools/list), per-tool scope enforcement and a consent flow for third-party apps.

What it can do

The server publishes 232 tools across 15 domains. Anything you can do with the REST API you can do here, in the agent's native tool-calling format:

When to use MCP vs REST vs SDKs

The MCP server, the REST API and the official SDKs are three front doors to the same backend. Pick by who (or what) is calling:

You are building…UseWhy
An AI agent / assistant that reasons over your data and acts on itMCP serverTools are self-describing; the model discovers and calls them without you wiring each endpoint. Scopes and consent are enforced per call.
A backend service, cron job or integration with fixed logicREST APIDeterministic, no model in the loop, full control over requests and retries.
A typed client in your app (TypeScript or PHP)Official SDKs@factuarea/sdk and factuarea/factuarea-php wrap the REST API with types, retries and idempotency helpers.

The three surfaces share the same identifiers, error envelope and scopes, so you can mix them: prototype a flow with an agent over MCP, then harden the critical path as a REST or SDK integration.

Two ways to authenticate

The same /mcp endpoint accepts two kinds of credential, for two different audiences:

ChannelCredentialForReachable tools
API keyfact_live_… / fact_test_… Bearer tokenThe account owner automating their own company (like a GitHub PAT)Up to 232 — you grant any scopes you want, including *
OAuth 2.1Access token issued via consentThird-party apps acting on a user's behalf218 — a curated catalog that excludes VeriFactu writes, GDPR erasure and the FacturaE (FACe) tools

See Connecting a client for the full channel policy, and Scopes & permissions for the scope catalog.

Build in test mode first

Just like the REST API, a fact_test_ key — or an OAuth consent with the Test environment selected — operates on an isolated sandbox company with external effects switched off (no AEAT transmission, no real emails, no outbound webhooks). Build and validate against test, then switch to live. See Test mode.

The MCP server is in private beta, alongside the rest of the public API. Request access at info@factuarea.com — see Request beta access.

On this page