infomaniak-mcp-agent
About
Unofficial agentic MCP server for Infomaniak, the Swiss sovereign cloud. 54 tools across web hosting, mail, kDrive, domains, DNS and AI.
Details
- Author
- mogacode-ma
- Categories
- Productivity, Infrastructure, Web Scraping, Automation, AI
Jump to
Setup
Install infomaniak-mcp-agent in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/mogacode-ma/infomaniak-mcp-agent
Follow the installation instructions in the repository README, then restart your MCP client.
Drive your entireInfomaniakaccount fromClaude— agentic, two-phase commit, open-source.
You → Claude: "audit the example.com hosting and tell me which mailboxes are over quota" Claude → MCP: infomaniak_audit_account → infomaniak_list_mail_hostings → infomaniak_list_mailboxes Claude → You: 3 mailboxes >85% — paul@ (94%), notify@ (88%), team@ (87%). Want me to add an alert?
- Why·What it does·How it differs
- Install·Authentication·Quick example
- Tools(78 across 22 areas) ·Limitations·Roadmap·FAQ
- Contributing·License
Infomaniak is one of the very fewindependent, Swiss-owned, open-source-friendly cloud providersin Europe — running its own datacentres in Switzerland, on hydro and wind power, with no parent in the US or China. Its product range is huge (web hosting, mail, kDrive, kChat, DNS, AI cloud, Swiss Backup, …) but its API is split between a documented public surface and a private manager-only one — which means automating real workflows usually requires a browser session, custom scripts, or both.
This project closes that gap by exposingeverythingthrough a single MCP server, so Claude or any other MCP client can run real account operations through natural language: provision a hosting, rotate a DNS record, create a mailbox, audit your domains for upcoming expirations, browse your kDrive — without ever forcing you to leave the chat or write a script.
🎒 Built in the open, in real time, by vibe-coding
This project was built rapidly by an LLM driving a terminal session ("vibe-coding"), with live tests against a real Infomaniak account at every step.It works perfectly on the maintainer's local setupand the full pipeline is green (TypeScript strict, ESLint, Prettier, 78 tests, build, CodeQL, gitleaks).
That said — given how it was built and given that several endpoints used here are reverse-engineered (seeREVERSE-ENGINEERING.md) —it is entirely possible that you'll hit (potentially big) bugsdepending on your account topology, plan tier, scopes, or Infomaniak's own changes. We are here to fix them as they show up. Please:
We move fast and ship often. Don't be shy.
This project isnot affiliated with, endorsed by, or sponsored by Infomaniak Network SA. It is a community-driven tool that combines:
- Thepublic Infomaniak API(api.infomaniak.com), used with a Bearer token you generate yourself.
- Reverse-engineered manager endpoints(manager.infomaniak.com/proxy/...), required for write operations on web hosting that the public API silently ignores.
For full transparency, readREVERSE-ENGINEERING.md. Infomaniak may change these endpoints without notice; we do our best to keep up but cannot guarantee long-term compatibility.
Once installed, you can ask Claude things like:
- "List every domain on my account that expires in less than 60 days, sorted by date."
- "Create a new sitestaging.example.comon hostingWP1234567, PHP 8.3, root in/sites/staging."
- "Add a TXT record onexample.comfor the new Postmark DKIM, then verify it resolves."
- "How much disk does the databasemyprefix_wp123456use, and which application is wired to it?"
- "Create a mailboxhello@example.comwith a 16-character random password and forward it to my Gmail."
- "Show me which kDrives I'm an admin on and how full they are."
- "Audit my whole account: any locked product, expiring SSL, broken DNSSEC, ongoing operations?"
- "Undo the last DNS change I made through this session."
It will not silently mutate anything destructive: every change goes through aplan + confirmation tokenround-trip. You stay in control even if the model gets creative.
Why "agentic" and not "wrapper"
Most MCP servers expose one tool per HTTP endpoint and call it a day. This one is built differently:
- Guided dialogues— creating a site walks you through "which organization? which hosting? root domain or subdomain? what type? recap?" instead of asking you to know the right tool to call upfront.
- Two-phase commit— every destructive operation returns aplanwith a single-use confirmation token (60 s TTL). Nothing is mutated until you call back with the token.
- Pre-flight checks— the server checks for conflicts (existing FQDN, busy hosting, expired domain)beforehitting the API.
- Actionable errors— every error tells you what happened, why, and the next step you can take.
- Introspection—infomaniak_overview,infomaniak_helpandinfomaniak_explaingive the agent context-on-demand instead of forcing it to memorize a tool catalog.
- Session memory—infomaniak_historylists every destructive action of the current session, andinfomaniak_undoreverses the ones that are reversible.
SeeARCHITECTURE.mdfor the full design rationale.
Available on npm — the recommended path is to letnpxfetch the latest release on demand:
(no install step needed;npxresolves the latest version on first invocation and caches it).
Or install globally if you prefer a stable binary in your$PATH:
If you'd rather pin to a specific commit (or hack on the source), install from this repo:
git clone https://github.com/Mogacode-ma/infomaniak-mcp-agent.git cd infomaniak-mcp-agent npm ci npm run build # resulting binary: ./dist/server.js
Add to~/Library/Application Support/Claude/claude_desktop_config.json(macOS) or%AppData%\Claude\claude_desktop_config.json(Windows):
{ "mcpServers": { "infomaniak": { "command": "npx", "args": ["-y", "infomaniak-mcp-agent"], "env": { "INFOMANIAK_API_TOKEN": "paste-your-token-here", "INFOMANIAK_AUTH_MODE": "auto" } } } }
Restart Claude Desktop to pick up the change.
claude mcp add infomaniak \ -e INFOMANIAK_API_TOKEN=paste-your-token-here \ -e INFOMANIAK_AUTH_MODE=auto \ -- npx -y infomaniak-mcp-agent
Two distinct credentials are needed because Infomaniak runs two APIs side-by-side:
For headless environments or troubleshooting:
INFOMANIAK_AUTH_MODE=manual INFOMANIAK_SASESSION=... INFOMANIAK_XSRF_TOKEN=...
A typical first conversation, end-to-end:
You: What's on my account? Claude: [calls infomaniak_overview] You have 16 organizations, 311 products: 47 web hostings, 73 domains, 12 mail hostings, 3 kDrives, 2 AI Tools subscriptions. You: Any domain expiring soon? Claude: [calls infomaniak_audit_account on each org] 2 domains expire in <30 days: example.com (April 22), demo.org (May 04). 4 SSL certificates were auto-renewed in the last 7 days. No locked products. You: Create a TXT record on example.com saying "v=spf1 include:spf.example.net ~all". Claude: [calls infomaniak_dns_create_record → returns plan + token] Plan: CREATE TXT record on example.com → "v=spf1 include:spf.example.net ~all", TTL 3600. Confirm with token abc-123 within 60 s. You: Confirm. Claude: [calls infomaniak_dns_create_record again with the token] Done. Record id 84219113. Logged in session history (undoable).
…
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



