Infomaniak MCP服务器
](https://www.npmjs.com/package/infomaniak-mcp-server)  
A. 模型上下文协议(MCP) 用于与交互的服务器 API信息该服务器使像Claude这样的人工智能助手能够管理Infomaniak服务,包括域名、电子邮件、网络托管、kDrive等。
✨ 特性
- 🌐 域管理 -列出域名,完整DNS记录CRUD操作
- 📧 电子邮件服务 -管理邮箱、别名和邮件配置
- 🖥️ 网站托管 -管理网站、PHP版本和MySQL数据库
- 💾 k驱动 -访问和管理kDrive云存储
- 🔒 瑞士备份 -查看和管理备份产品
- 🖧 VPS和服务器 -控制VPS实例和专用服务器
- 📜 SSL证书 -查看证书信息
- 💰 开具发票 -访问账单和发票数据
- 🔧 通用API -为高级操作进行自定义API调用
📋 先决条件
- Node.js 18或更高版本
- 具有API访问权限的Infomaniak帐户
- 来自Infomaniak的API令牌
🔑 获取您的API代币
- 登录到您的 Infomaniak经理
- 导航至 账户 → API令牌 或访问 令牌管理
- 点击 “创建令牌”
- 根据您的需求选择合适的范围:
- account -账户管理 - domain -域名管理 - mail -电子邮件服务 - web -网站托管 - drive -k驱动器访问 - swiss_backup -备份服务 - vps -VPS管理 - dedicated -专用服务器 - certificate -SSL证书 - invoicing -计费访问
- 复制并安全存储您的令牌
📦 安装
使用npm(推荐)
npm install -g infomaniak-mcp-server来源
git clone https://github.com/YOUR_USERNAME/infomaniak-mcp-server.git
cd infomaniak-mcp-server
npm install
npm run build⚙️ 配置
克劳德桌面版
添加到您的Claude Desktop配置文件中:
| 操作系统 | 路径 |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| 窗户 | %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"
}
}
}
}或者,如果全局安装或从源安装:
{
"mcpServers": {
"infomaniak": {
"command": "node",
"args": ["/path/to/infomaniak-mcp-server/build/index.js"],
"env": {
"INFOMANIAK_API_TOKEN": "your-api-token-here"
}
}
}
}环境变量
| 变量 | 必填 | 默认 | 描述 |
|---|---|---|---|
INFOMANIAK_API_TOKEN | 是 | - | 您的Infomaniak API令牌 |
MCP_TRANSPORT | 没有 | stdio | 运输方式: stdio 或 http |
MCP_PORT | 没有 | 3000 | HTTP服务器端口(使用时 http 运输) |
MCP_STATELESS | 没有 | false | 设置为 true 无状态模式 |
🌐 HTTP传输
服务器支持带有SSE流的HTTP传输,支持基于web的MCP客户端和远程连接。
以HTTP模式启动
# 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.jsHTTP端点
| 端点 | 方法 | 描述 |
|---|---|---|
/health | GET | 健康检查-返回服务器状态 |
/mcp | POST | 发送JSON-RPC消息(初始化、工具调用等) |
/mcp | GET | 打开服务器到客户端通知的SSE流 |
/mcp | DELETE | 终止会话 |
/mcp/sessions | GET | 列出活动会话(用于调试) |
会话模式
- 有状态的 (默认):跨请求维护会话状态。每个客户端在
Mcp-Session-Id初始化后的标头。 - 无状态:每个请求都是独立的。集
MCP_STATELESS=true用于无服务器部署。
Docker部署
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从Web客户端连接
// 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
})
});🛠️ 可用工具
帐户和个人资料
| 工具 | 说明 |
|---|---|
infomaniak_ping | 测试API连接 |
infomaniak_get_profile | 获取当前用户配置文件 |
infomaniak_list_accounts | 列出所有可访问的帐户 |
infomaniak_get_account | 获取帐户详细信息 |
infomaniak_list_products | 列出帐户产品 |
域管理
| 工具 | 说明 |
|---|---|
infomaniak_list_domains | 列出所有域 |
infomaniak_get_domain | 获取域详细信息 |
infomaniak_list_dns_records | 列出DNS记录 |
infomaniak_create_dns_record | 创建DNS记录(A、AAAA、CNAME、MX、TXT等) |
infomaniak_update_dns_record | 更新DNS记录 |
infomaniak_delete_dns_record | 删除DNS记录 |
电子邮件服务
| 工具 | 说明 |
|---|---|
infomaniak_list_mail_services | 列出邮件服务 |
infomaniak_get_mail_service | 获取邮件服务详细信息 |
infomaniak_list_mailboxes | 列出邮箱 |
infomaniak_get_mailbox | 获取邮箱详细信息 |
infomaniak_create_mailbox | 创建新邮箱 |
infomaniak_update_mailbox | 更新邮箱 |
infomaniak_delete_mailbox | 删除邮箱 |
infomaniak_add_mailbox_alias | 添加电子邮件别名 |
infomaniak_delete_mailbox_alias | 删除电子邮件别名 |
网站托管
| 工具 | 说明 |
|---|---|
infomaniak_list_web_hostings | 列出网络主机 |
infomaniak_get_web_hosting | 获取托管详细信息 |
infomaniak_list_sites | 列出网站 |
infomaniak_get_site | 获取网站详细信息 |
infomaniak_create_site | 创建新网站 |
infomaniak_update_site | 更新网站 |
infomaniak_delete_site | 删除网站 |
infomaniak_list_databases | 列出数据库 |
infomaniak_get_database | 获取数据库详细信息 |
infomaniak_create_database | 创建数据库 |
infomaniak_delete_database | 删除数据库 |
云存储
| 工具 | 说明 |
|---|---|
infomaniak_list_kdrives | 列出k驱动器 |
infomaniak_get_kdrive | 获取kDrive详细信息 |
infomaniak_list_swiss_backups | 列出瑞士备份 |
infomaniak_get_swiss_backup | 获取备份详细信息 |
infomaniak_list_swiss_backup_slots | 列出备份插槽 |
基础设施
| 工具 | 说明 |
|---|---|
infomaniak_list_vps | 列出VPS实例 |
infomaniak_get_vps | 获取VPS详细信息 |
infomaniak_reboot_vps | 重新启动VPS |
infomaniak_shutdown_vps | 关闭VPS |
infomaniak_boot_vps | 启动VPS |
infomaniak_list_dedicated_servers | 列出专用服务器 |
infomaniak_get_dedicated_server | 获取服务器详细信息 |
infomaniak_reboot_dedicated_server | 重新启动服务器 |
证书和账单
| 工具 | 说明 |
|---|---|
infomaniak_list_certificates | 列出SSL证书 |
infomaniak_get_certificate | 获取证书详细信息 |
infomaniak_list_invoices | 列出发票 |
infomaniak_get_invoice | 获取发票详细信息 |
高级
| 工具 | 说明 |
|---|---|
infomaniak_api_call | 对任何终结点进行自定义API调用 |
💬 用法示例
列出所有帐户
"List all my Infomaniak accounts"管理DNS记录
"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 new email address info@mydomain.com with password SecurePass123"检查基础设施
"Show me the status of all my VPS instances"
"Reboot my VPS with ID 456"自定义API调用
"Make a GET request to /1/account to see all account details"🔧 发展
设置
git clone https://github.com/YOUR_USERNAME/infomaniak-mcp-server.git
cd infomaniak-mcp-server
npm install构建
npm run build观看模式
npm run dev使用MCP检查员进行测试
INFOMANIAK_API_TOKEN=your-token npm run inspector⚠️ API费率限制
Infomaniak API的费率限制为 每分钟60个请求使用自动化时,请注意请求频率。
🐛 故障排除
“需要INFOMANIAK_API_TOKEN环境变量”
确保您已设置 INFOMANIAK_API_TOKEN 在您的MCP客户端配置中。
“Infomaniak API错误(401)”
您的API令牌可能无效或已过期。从Infomaniak Manager生成新令牌。
“Infomaniak API错误(403)”
您的令牌没有所需的作用域。创建具有适当权限的新令牌。
“Infomaniak API错误(429)”
超出速率限制。在发出更多请求之前等待。
🤝 贡献
欢迎投稿!请阅读我们的 贡献指南 了解详情。
- 分叉存储库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交您的更改(
git commit -m 'feat: add amazing feature') - 推到分支(
git push origin feature/amazing-feature) - 打开拉取请求
📄 许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
🔗 资源
🙏 致谢
______________________________________________________________________
Made with ❤️ for the Infomaniak and MCP community

