Developer reference

An API your AI tools can use.

Use MCP over Streamable HTTP for AI clients, or the OAuth-protected JSON API for your own integrations. It exposes account and product discovery for one approved Infomaniak account. It does not proxy arbitrary provider requests.

Try the public endpoint

curl https://infomaniak-mcp.com/api/capabilities

No token is needed. This returns service capabilities and limits, never customer data.

View the JSON response

Read customer resources

With your client’s OAuth credential, GET /api/v1/capabilities shows its effective scope. POST /api/v1/reads accepts the operation and arguments fields used by infomaniak_read below. These routes accept a read-only connection and never accept your provider token as a bearer credential.

Add https://infomaniak-mcp.com/mcp to an MCP client supporting OAuth, S256 PKCE and dynamic client registration. Complete browser consent with your own Infomaniak API token. Your client receives a separate OAuth credential; never send the provider token as an MCP bearer token.

Send authenticated JSON-RPC requests by POST, with Content-Type application/json and Accept application/json, text/event-stream. Use an MCP SDK to handle initialization and OAuth. This is a tools/call payload after initialization:

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "infomaniak_read", "arguments": { "operation": "accounts.list", "arguments": {} } } }

Next, call products.list with account_id from the authorised account. A tool error is reported inside the MCP response and is not necessarily an HTTP error.

Optional hosted write API

Request both infomaniak:read and infomaniak:write:disposable-dns during OAuth. In the private consent page, choose one account, explicitly enable the DNS test and enter a domain verified in that account. Existing read-only connections stay read-only.

Only TXT records at _infomaniak-ai-test can change. Non-TXT records, other names, mail and VPS are protected. Use the same OAuth credential for the API below; it remains bound to this service’s /mcp resource.

GET /api/v1/capabilities
Inspect the consented scope.
POST /api/v1/plans
Preview dns.record.create, update or delete with exact account and zone arguments.
GET /api/v1/plans/{id}
Inspect your own plan.
POST /api/v1/plans/{id}/execute
After independent browser approval, submit the matching plan_hash.
POST /api/v1/plans/{id}/reconcile
Read back an uncertain outcome, without repeating the mutation.
POST /api/v1/plans/{id}/cancel
Cancel before execution.

The plan response gives a /write-reviews/{id} URL. Open it in the consenting browser, review the complete change and type APPROVE. The API cannot approve its own plan. HTTP 200 is a returned outcome; inspect plan.state. Verified means provider readback, not DNS propagation. Do not repeat an uncertain write.

Search for DNS operations in your MCP client to load the reviewed schemas. A write-consented connection also exposes plan, execute, operation-status and cancel tools. Use account_id, zone and the exact source above; update/delete require expected_source and the record ID. Other API operations remain unavailable.

Tools and limits

infomaniak_status
Connection capabilities and limits.
infomaniak_read
accounts.list or products.list within the approved account.
infomaniak_search
Search public API operation metadata.
infomaniak_catalogue
Browse the public operation catalogue.

The optional hosted write API is limited to the consented disposable TXT name. No guest SSH, deployment or mailbox-content access. A catalogue entry is documentation, not permission. Bodies are limited to 16 KiB; requests may return 400, 401, 403, 413 or 429. Refresh and revocation use the OAuth metadata endpoints.

OAuth metadata · AI reference · Source and separate policy edition