AgentStack
MCP verified MIT Self-run

Infomaniak Mcp

mcp-daniviber-infomaniak-mcp · by daniviber

Complete Infomaniak MCP server

No reviews yet
0 installs
14 views
0.0% view→install

Install

$ agentstack add mcp-daniviber-infomaniak-mcp

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

Are you the author of Infomaniak Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Infomaniak MCP Server

[](https://www.npmjs.com/package/infomaniak-mcp-server) [](https://opensource.org/licenses/MIT) [](https://github.com/YOUR_USERNAME/infomaniak-mcp-server/actions/workflows/ci.yml)

A Model Context Protocol (MCP) server for interacting with the Infomaniak API. This server enables AI assistants like Claude to manage Infomaniak services including domains, email, web hosting, kDrive, and more.

✨ Features

  • 🌐 Domain Management - List domains, full DNS record CRUD operations
  • 📧 Email Services - Manage mailboxes, aliases, and mail configurations
  • 🖥️ Web Hosting - Manage sites, PHP versions, and MySQL databases
  • 💾 kDrive - Access and manage kDrive cloud storage
  • 🔒 Swiss Backup - View and manage backup products
  • 🖧 VPS & Servers - Control VPS instances and dedicated servers
  • 📜 SSL Certificates - View certificate information
  • 💰 Invoicing - Access billing and invoice data
  • 🔧 Generic API - Make custom API calls for advanced operations

📋 Prerequisites

  • Node.js 18 or higher
  • An Infomaniak account with API access
  • An API token from Infomaniak

🔑 Getting Your API Token

  1. Log in to your Infomaniak Manager
  2. Navigate to AccountAPI Tokens or visit token management
  3. Click "Create a token"
  4. Select the appropriate scopes for your needs:
  • account - Account management
  • domain - Domain management
  • mail - Email services
  • web - Web hosting
  • drive - kDrive access
  • swiss_backup - Backup services
  • vps - VPS management
  • dedicated - Dedicated servers
  • certificate - SSL certificates
  • invoicing - Billing access
  1. Copy and securely store your token

📦 Installation

Using npm (recommended)

npm install -g infomaniak-mcp-server

From source

git clone https://github.com/YOUR_USERNAME/infomaniak-mcp-server.git
cd infomaniak-mcp-server
npm install
npm run build

⚙️ Configuration

Claude Desktop

Add to your Claude Desktop configuration file:

| OS | Path | |----|------| | macOS | ~/Library/Application Support/Claude/claude_desktop_config.json | | Windows | %APPDATA%\Claude\claude_desktop_config.json | | Linux | ~/.config/Claude/claude_desktop_config.json |

{
  "mcpServers": {
    "infomaniak": {
      "command": "npx",
      "args": ["-y", "infomaniak-mcp-server"],
      "env": {
        "INFOMANIAK_API_TOKEN": "your-api-token-here"
      }
    }
  }
}

Or if installed globally or from source:

{
  "mcpServers": {
    "infomaniak": {
      "command": "node",
      "args": ["/path/to/infomaniak-mcp-server/build/index.js"],
      "env": {
        "INFOMANIAK_API_TOKEN": "your-api-token-here"
      }
    }
  }
}

Environment Variables

| Variable | Required | Default | Description | |----------|----------|---------|-------------| | INFOMANIAK_API_TOKEN | Yes | - | Your Infomaniak API token | | MCP_TRANSPORT | No | stdio | Transport mode: stdio or http | | MCP_PORT | No | 3000 | HTTP server port (when using http transport) | | MCP_STATELESS | No | false | Set to true for stateless mode |

🌐 HTTP Transport

The server supports HTTP transport with SSE streaming, enabling web-based MCP clients and remote connections.

Starting in HTTP Mode

# Using npx
MCP_TRANSPORT=http MCP_PORT=3000 INFOMANIAK_API_TOKEN=your-token npx infomaniak-mcp-server

# From source
MCP_TRANSPORT=http MCP_PORT=3000 INFOMANIAK_API_TOKEN=your-token node build/index.js

HTTP Endpoints

| Endpoint | Method | Description | |----------|--------|-------------| | /health | GET | Health check - returns server status | | /mcp | POST | Send JSON-RPC messages (initialize, tool calls, etc.) | | /mcp | GET | Open SSE stream for server-to-client notifications | | /mcp | DELETE | Terminate a session | | /mcp/sessions | GET | List active sessions (for debugging) |

Session Modes

  • Stateful (default): Maintains session state across requests. Each client gets a unique session ID returned in the Mcp-Session-Id header after initialization.
  • Stateless: Each request is independent. Set MCP_STATELESS=true for serverless deployments.

Docker Deployment

FROM node:20-alpine
WORKDIR /app
RUN npm install -g infomaniak-mcp-server
ENV MCP_TRANSPORT=http
ENV MCP_PORT=3000
EXPOSE 3000
CMD ["infomaniak-mcp-server"]
# Build and run
docker build -t infomaniak-mcp .
docker run -p 3000:3000 -e INFOMANIAK_API_TOKEN=your-token infomaniak-mcp

Connecting from Web Clients

// Step 1: Initialize session
const initResponse = await fetch('http://localhost:3000/mcp', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json, text/event-stream'
  },
  body: JSON.stringify({
    jsonrpc: '2.0',
    method: 'initialize',
    params: { protocolVersion: '2025-03-26', capabilities: {}, clientInfo: { name: 'my-client', version: '1.0.0' } },
    id: 1
  })
});
const sessionId = initResponse.headers.get('Mcp-Session-Id');

// Step 2: Use session for subsequent requests
const response = await fetch('http://localhost:3000/mcp', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Accept': 'application/json, text/event-stream',
    'Mcp-Session-Id': sessionId
  },
  body: JSON.stringify({
    jsonrpc: '2.0',
    method: 'tools/list',
    id: 2
  })
});

🛠️ Available Tools

Account & Profile

| Tool | Description | |------|-------------| | infomaniak_ping | Test API connectivity | | infomaniak_get_profile | Get current user profile | | infomaniak_list_accounts | List all accessible accounts | | infomaniak_get_account | Get account details | | infomaniak_list_products | List account products |

Domain Management

| Tool | Description | |------|-------------| | infomaniak_list_domains | List all domains | | infomaniak_get_domain | Get domain details | | infomaniak_list_dns_records | List DNS records | | infomaniak_create_dns_record | Create DNS record (A, AAAA, CNAME, MX, TXT, etc.) | | infomaniak_update_dns_record | Update DNS record | | infomaniak_delete_dns_record | Delete DNS record |

Email Services

| Tool | Description | |------|-------------| | infomaniak_list_mail_services | List mail services | | infomaniak_get_mail_service | Get mail service details | | infomaniak_list_mailboxes | List mailboxes | | infomaniak_get_mailbox | Get mailbox details | | infomaniak_create_mailbox | Create new mailbox | | infomaniak_update_mailbox | Update mailbox | | infomaniak_delete_mailbox | Delete mailbox | | infomaniak_add_mailbox_alias | Add email alias | | infomaniak_delete_mailbox_alias | Remove email alias |

Web Hosting

| Tool | Description | |------|-------------| | infomaniak_list_web_hostings | List web hostings | | infomaniak_get_web_hosting | Get hosting details | | infomaniak_list_sites | List sites | | infomaniak_get_site | Get site details | | infomaniak_create_site | Create new site | | infomaniak_update_site | Update site | | infomaniak_delete_site | Delete site | | infomaniak_list_databases | List databases | | infomaniak_get_database | Get database details | | infomaniak_create_database | Create database | | infomaniak_delete_database | Delete database |

Cloud Storage

| Tool | Description | |------|-------------| | infomaniak_list_kdrives | List kDrives | | infomaniak_get_kdrive | Get kDrive details | | infomaniak_list_swiss_backups | List Swiss Backups | | infomaniak_get_swiss_backup | Get backup details | | infomaniak_list_swiss_backup_slots | List backup slots |

Infrastructure

| Tool | Description | |------|-------------| | infomaniak_list_vps | List VPS instances | | infomaniak_get_vps | Get VPS details | | infomaniak_reboot_vps | Reboot VPS | | infomaniak_shutdown_vps | Shutdown VPS | | infomaniak_boot_vps | Boot VPS | | infomaniak_list_dedicated_servers | List dedicated servers | | infomaniak_get_dedicated_server | Get server details | | infomaniak_reboot_dedicated_server | Reboot server |

Certificates & Billing

| Tool | Description | |------|-------------| | infomaniak_list_certificates | List SSL certificates | | infomaniak_get_certificate | Get certificate details | | infomaniak_list_invoices | List invoices | | infomaniak_get_invoice | Get invoice details |

Advanced

| Tool | Description | |------|-------------| | infomaniak_api_call | Make custom API calls to any endpoint |

💬 Usage Examples

List all accounts

"List all my Infomaniak accounts"

Manage DNS Records

"Add an A record for www.example.com pointing to 192.168.1.100"
"Show all DNS records for mydomain.ch"
"Delete the TXT record with ID 12345 from example.com"

Create a Mailbox

"Create a new email address info@mydomain.com with password SecurePass123"

Check Infrastructure

"Show me the status of all my VPS instances"
"Reboot my VPS with ID 456"

Custom API Call

"Make a GET request to /1/account to see all account details"

🔧 Development

Setup

git clone https://github.com/YOUR_USERNAME/infomaniak-mcp-server.git
cd infomaniak-mcp-server
npm install

Build

npm run build

Watch Mode

npm run dev

Test with MCP Inspector

INFOMANIAK_API_TOKEN=your-token npm run inspector

⚠️ API Rate Limits

The Infomaniak API has a rate limit of 60 requests per minute. Be mindful of request frequency when using automation.

🐛 Troubleshooting

"INFOMANIAKAPITOKEN environment variable is required"

Ensure you've set the INFOMANIAK_API_TOKEN in your MCP client configuration.

"Infomaniak API Error (401)"

Your API token may be invalid or expired. Generate a new token from Infomaniak Manager.

"Infomaniak API Error (403)"

Your token doesn't have the required scope. Create a new token with appropriate permissions.

"Infomaniak API Error (429)"

Rate limit exceeded. Wait before making more requests.

🤝 Contributing

Contributions are welcome! Please read our [Contributing Guide](CONTRIBUTING.md) for details.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

🔗 Resources

🙏 Acknowledgments

  • Infomaniak for their comprehensive API
  • Anthropic for the Model Context Protocol
  • The open-source community

Made with ❤️ for the Infomaniak and MCP community

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.