For developers & AI agents

Everything you need to connect an AI assistant or agent to Exact Online: the MCP server, OAuth 2.1 authentication and machine-readable documentation.

Quickstart (self-service)

  1. Create an account at ledgerbotje.nl/app. The 14-day trial starts immediately, no credit card required, at Advanced level (read + write, up to 10 administrations).
  2. Connect Exact Online via OAuth: you authorize Ledger Botje once for your administration(s).
  3. Add the MCP server to your AI client with this URL: https://www.ledgerbotje.nl/app/mcp. Explained per client (ChatGPT, Claude, Copilot, Cursor and more) at Connect MCP.

The AI client then runs the OAuth flow itself; there are no API keys to manage.

Authentication: OAuth 2.1 with PKCE

  • Authorization code flow with mandatory PKCE (S256); scope mcp:tools.
  • Dynamic client registration (RFC 7591): clients register themselves via the registration endpoint - no manual signup needed.
  • Tokens: access tokens are valid for 1 hour; refresh tokens for 30 days, rotating.
  • All endpoints are listed in the discovery documents below; a 401 carries a WWW-Authenticate header with resource_metadata (RFC 9728), so an agent learns the auth requirements from a single request.

Machine-readable resources

openapi.jsonOpenAPI 3.1 description of the HTTP surface: MCP endpoint, document-upload API and discovery documents.
MCP server cardServer name, transport (Streamable HTTP), authentication and capabilities.
llms.txtCompact fact sheet for AI assistants; llms-full.txt lists all 294 tools.
oauth-protected-resourceRFC 9728 metadata: resource, authorization servers, scopes.
oauth-authorization-serverRFC 8414 metadata: authorize, token and registration endpoint, PKCE methods.
sitemap.xmlAll indexable pages, with lastmod dates.

The full tool list with descriptions is at MCP tools (294 tools: 124 read-only, 170 write) and can be retrieved programmatically via tools/list on the MCP endpoint.

Uploading documents

For supplying files (for example purchase invoices) there is a two-step upload flow: the MCP tool documents_request_upload_url issues a single-use upload URL, after which the file is delivered with a plain HTTP request:

curl -X PUT "https://ledgerbotje.nl/app/documentuploadapi.php?token=<64-char-token>" \
  --data-binary @invoice.pdf

The response is JSON ({"success": true, ...}); the MCP tool documents_upload then attaches the file to Exact Online via fileReference.

Rate limits

Limits are informative, never blocking: every tool response carries a rateLimit object and the X-RateLimit-* headers, so an agent can pace itself without rejected calls. Guide values: 60 calls per minute; per month 5,000 (Basic) or 8,000 (Advanced), expandable with add-ons. See pricing.

Try it with your own administration

14 days free, no credit card required. Within 5 minutes your AI assistant asks Exact Online its first question.

Try free for 14 days