
Infomaniak MCP (unofficial)
io.github.leonhoulierPublished by GitHub account leonhoulierv0.3.6Updated Oct 29, 2026
Manage Infomaniak DNS, mail and VPS apps through OAuth, with live official documentation.
Overview
Unofficial hosted MCP server that lets an assistant inspect and, with approval, change Infomaniak DNS, mail settings and VPS apps via OAuth.
- What you can do
- Discover the approved Infomaniak account, products and resource names
- Read DNS records, audit SPF/DMARC/DKIM/MX, check propagation and domain expiry
- Inspect mailbox metadata, aliases and forwarding, and apply supported settings changes
- Plan, execute, cancel and reconcile reviewed writes, each needing separate human approval
- Deploy a pinned Dockerfile to a customer-owned VPS runner, check health, fetch logs and roll back
- Search and read live official Infomaniak help and API documentation in seven languages
- When to use it
- Useful when you already run Infomaniak services and want an assistant to answer questions about your zones, mailboxes and VPS apps, run DNS diagnostics, or make narrow, explicitly approved changes without leaving the chat.
- Requirements
- Remote endpoint at infomaniak-mcp.com/mcp with the client's OAuth flow; each customer enters their own Infomaniak API token on a private page and approves one account. No local runtime needed. The optional local edition needs Node.js 22.13+ and INFOMANIAK_API_TOKEN or INFOMANIAK_API_TOKEN_FILE.
Installation
In SourceWeft
- Open Infomaniak MCP (unofficial) in the dashboard and add it to a workspace.
- Connect the required credentials. They are stored privately and never shown on public pages.
- Enable the server for the chats that should use its tools.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Use with an agent
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/io.github.leonhoulier%2Finfomaniak-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Other MCP clients
Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.
{
"mcpServers": {
"infomaniak-unofficial": {
"type": "http",
"url": "https://infomaniak-mcp.com/mcp"
}
}
}README
Infomaniak MCP
Use your AI coding tools with the Infomaniak services you already run. Independent, unofficial and open source. Built by Léon Houlier.
Try the hosted pilot · Plugin downloads · Contribute · API reference · Privacy · Cookie policy
For Claude Code:
Then run /mcp in Claude Code and complete browser sign-in. For other clients,
use the setup guides. Each customer enters
their own Infomaniak token on a private page and approves one account. Never
paste a token into chat or a GitHub issue. Native client onboarding is still
being qualified.
Ask: “Show my Infomaniak services.”
The service does not expose mailbox content, generic HTTP execution, arbitrary shell commands, purchasing or general VPS lifecycle writes. Catalogue metadata is documentation, not executable coverage. Provider tokens are encrypted at rest; the operator holds the encryption key and can use them for API requests.
Not affiliated with or endorsed by Infomaniak.
Hosted connection
Use https://infomaniak-mcp.com/mcp with the client's OAuth flow. Every customer
connects their own Infomaniak token privately, chooses an account and selects
resources. Customers do not need a local runtime or their own server. An optional
VPS deployment needs a paired customer-owned runner. Existing grants never
expand automatically; explicit read-only remains authoritative.
See the API and current capabilities, client qualification evidence and privacy policy. Native client qualification varies; an endpoint or local test pass is not proof of every client workflow.
The hosted service, plugin packages and runner are released from this source. See versioned releases for the source, plugin ZIPs and checksums. The runner is also available at Downloads.
Hosted plugin package
A thin hosted plugin lives under plugins/infomaniak. It bundles private connection guidance and reusable Infomaniak workflows with the existing remote MCP. Portable Agent Plugins manifests target compatible hosts, with a Claude compatibility package alongside them. No provider token is stored in the plugin package.
Download the public plugin packages, or
build them with node scripts/package-plugin.mjs. Claude Code can install from
this repository:
Version 0.3.5 is published in the MCP Registry. The entry points to the hosted OAuth endpoint; customers do not need an npm package. Claude is submitted for review, Cursor has received the publisher application, and OpenAI has an uploaded draft. These are not approved directory listings. Repository installation and public downloads are available separately. See the distribution plan for current submission routes, native qualification, review materials and discovery priorities.
To try the browser experience privately, run npm run preview and open
http://127.0.0.1:8790. It uses demo data by default. See
testing the hosted experience.
Local installation alternative
Every customer uses their own credentials. With only INFOMANIAK_API_TOKEN (or
its private _FILE source), the server starts a read-only discovery edition:
accounts, products and the full public catalogue. No author account, backend,
private policy or server hosting is needed for that starting point. It exposes
six tools and cannot plan or execute writes.
A scoped policy enables resource-level reads and the controlled write lifecycle. The original backend configuration remains supported separately.
Connect your AI client
Requires Node.js 22.13+. No server hosting is required. From this checkout:
Choose your client. Claude Code and Claude Desktop use their private plugin settings; VS Code uses a native password prompt. Codex and Cursor use hidden terminal entry with a private local credential file, outside your project. Setup explains where your token goes before asking for it. Never paste it into chat.
For Claude Desktop, build the extension with npm run package:desktop, then open
artifacts/infomaniak-ai-0.2.0.mcpb. Dependencies are included; the bundle is
unsigned and native installation still needs client validation.
Your first question:
Show my Infomaniak services. If I have several accounts, let me choose one.
Preview any connection with node dist/server.js setup --client vscode --dry-run.
See the onboarding guide for each client, token permissions,
rotation and removal. No npm or marketplace release is available yet.
JSON write API
The JSON API exposes scoped reads and plan, execute, cancel and reconciliation routes. The hosted beta limits writes to a disposable TXT name and uses encrypted plans with native client confirmation when form elicitation is negotiated, or browser approval otherwise. The separate policy edition retains its configured resource grants and human key. There is no API approval endpoint. See the write API reference.
Advanced: scoped reads and independently approved writes
The simple connection above provides account and product discovery. To inspect individual resources or enable reviewed changes, configure a separate scoped policy. The controlled edition uses Node's SQLite API.
Initialize a new private directory using your actual account ID. Replace the capitalized placeholders; omit product options you do not need:
This writes a private policy, a client connection token and a separate human approval key. Their values are never printed. All writes and writable resource grants start disabled. Existing installations are never overwritten.
Configure the provider token in the client's secret store or in
INFOMANIAK_API_TOKEN. Alternatively set INFOMANIAK_API_TOKEN_FILE to an
absolute regular secret-file path with mode 0600. Do not configure both sources,
or paste credentials into a conversation.
For a generic MCP client, use command node with arguments:
The default local policy also starts the approval interface at localhost:8787/approvals. Its human key belongs in the browser/interactive human terminal, outside the AI client's configuration.
Doctor checks configuration and optional backend integrity, without provider calls.
Tools
The policy-driven edition exposes ten tools:
There is no MCP approval tool or generic HTTP/shell executor. Search can return disabled catalogue entries with the reason they cannot execute.
Reviewed operations carry Infomaniak-specific notes in search results: which
ID is which, the . zone apex, MX priority inside the target, UTC expiry dates,
what the forwarding flags mean. The skill has the
full table.
Current documentation and browser tasks
Every edition includes live official documentation search and reading. Use
infomaniak_docs_search with public topic terms (for example, VPS Lite SSH),
then infomaniak_docs_read with a returned URL. Set source: "api" to search
the live developer index rather than the bundled operation catalogue.
Results include source URLs, retrieval times and explicit pagination.
When an API capability is missing, agents can follow the official Manager guide using their own authorized browser or computer tools. Documentation access does not control a browser or grant permission to change resources. See documentation access.
Read-only diagnostics
They read the stored zone and public resolvers. They are not mail delivery or signing tests.
Controlled writes
Start with explicitly disposable resources. An operator must grant all of:
- The exact reviewed operation in the principal's
operationslist. writes: "disposable-only"and an exact resource binding withdisposable: trueandwritable: true.- A fresh independent human approval of the complete plan.
Named DNS grants use resources.dns_names["example.com:_infomaniak-ai-test"].
Update/delete calls include expected_source when using such a narrow grant.
A writable whole-zone grant permits broader changes; a zone inventory grant
does not. Mailbox grants use resources.mailboxes["HOSTING_ID:MAILBOX_NAME"],
separate from mail-hosting inventory grants.
A human reviews account, resource, before/after values, impact and recovery limits
at /approvals, then types APPROVE. The model receives a plan ID/hash; neither
can grant approval. Local administrators can also use admin.js plans, show
and interactive approve with the separate human key.
Stale or expired plans cannot execute. Conflicting writes serialize through resource locks. Uncertain requests remain locked and reconcile through reads; mutations are never automatically retried. A verified provider state does not prove DNS propagation, delivery, SSH reachability or application health.
To qualify writes on your own account, pick a zone and a throwaway mailbox.
Supply INFOMANIAK_API_TOKEN through a private terminal environment first; never
include its value in the command or shell history. Then run:
It only touches the DNS name _infomaniak-ai-test and the alias ik-ai-test,
plans each change, waits for you to approve it with node dist/admin.js approve
in a second terminal, then executes, reads back and finally checks that the zone
and aliases match their starting state. It never approves anything itself.
Use writes: "enabled" only after disposable live qualification and a deliberate
policy review. It still requires writable resource grants, operation grants and
per-plan independent approval. Credentials, purchases, arbitrary API execution,
VPS reinstall and other unreviewed operations remain unavailable.
Existing MCP reuse and compatibility
The original three-tool read-only edition remains available without a policy file.
It requires INFOMANIAK_API_TOKEN, INFOMANIAK_MCP_SERVER_PATH (absolute reviewed
dist/server.js) and INFOMANIAK_MCP_SHA256. It runs the backend with browser
auth disabled and a GET-only fetch guard.
The controlled edition can reuse that adapter for token-only VPS reads via:
This is a policy fragment, not a complete configuration. The checksum covers the entry file, not its dependency graph. Use an audited build; a guard is not an OS sandbox for an untrusted executable. The reviewed VPS companion capability is required. Upstream npm 0.15.2 returned 404 during the earlier validation, so no working upstream package-install command is assumed.
For Claude Code:
Select the optional private policy file for the controlled edition, or supply the reviewed backend path/checksum for the original edition. Manifest validation is separate from native-client onboarding, which has not been proven end to end.
Related projects
This plugin grew out of contributions to two existing open-source projects, and reuses what was learned there:
- peaktwilight/infomaniak-cli,
a Python CLI for the Infomaniak API. Open pull requests add DNS propagation and
sync fixes, a DNS audit fix, hosting discovery, read-only mode,
--dry-runpreviews and mailbox commands. - Mogacode-ma/infomaniak-mcp-agent, a TypeScript MCP server with two-phase confirmation. Open pull requests add DNS export/diff/propagation tools, token-only VPS inventory and firewall reads, tests, read-only mode, alias deletion and mailbox forwarding.
Use the CLI for scripting, the MCP server for a broad tool surface driven by an agent, and this plugin when you want scoped grants and approval by a separate human for every write.
Optional hosting on Infomaniak
The authenticated Streamable HTTP edition uses separate application-specific
client and human-approval credentials, plus an isolated provider token per user.
Run node dist/server.js --config /private/access.local.json --http.
See the Infomaniak VPS deployment guide for the pinned Docker image recipe, Caddy HTTPS proxy, private state, backup and restart procedure. Nothing is deployed by building this repository. OAuth-only client onboarding and a public managed service remain future work.
Build a distributable bundle
This creates artifacts/infomaniak-ai-0.2.0.tgz with compiled code, catalogue,
skill and plugin manifest. A whitelist excludes tests, local policies, credentials
and operation databases. The package remains marked private during development
to prevent accidental registry publication; the local bundle is installable.
A public registry/marketplace release has not occurred.
To test the bundle in a separate local installation:
Configure the MCP client's command as node, with the installed absolute
node_modules/infomaniak-ai/dist/server.js path as its argument and your provider
token in its secret environment. With no policy or backend configuration, this
starts the four-tool discovery edition. Run python3 scripts/bundle-smoke.py to
check the bundle in a disposable clean Node container using fake credentials.
Development
Contributions are welcome: Infomaniak operations, client compatibility, docs and regression tests. Read CONTRIBUTING.md, open an issue for a larger change, or send a small pull request. Report vulnerabilities privately using SECURITY.md.
Fixture tests use fake credentials and APIs. The container smoke test disables networking and uses a disposable state directory. Live evidence stays outside this repository. This package is private to prevent accidental publication.
MIT licensed. Provider adapter fixes remain separate upstream contributions.
Source: README.md at commit 3c9d52f
Tools
0Version history
1- v0.3.6LatestOct 29, 2026
Score
85% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 daysRequired25 pts
- Auth declaredRequired10 pts
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts