Quickstart (self-service)
- 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).
- Connect Exact Online via OAuth: you authorize Ledger Botje once for your administration(s).
- 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-Authenticateheader withresource_metadata(RFC 9728), so an agent learns the auth requirements from a single request.
Machine-readable resources
| openapi.json | OpenAPI 3.1 description of the HTTP surface: MCP endpoint, document-upload API and discovery documents. |
|---|---|
| MCP server card | Server name, transport (Streamable HTTP), authentication and capabilities. |
| llms.txt | Compact fact sheet for AI assistants; llms-full.txt lists all 294 tools. |
| oauth-protected-resource | RFC 9728 metadata: resource, authorization servers, scopes. |
| oauth-authorization-server | RFC 8414 metadata: authorize, token and registration endpoint, PKCE methods. |
| sitemap.xml | All 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