mcpField
I
infomaniak-mcp-agent

infomaniak-mcp-agent

本地服务
github.com/Mogacode-ma云与基础设施86 周前更新

关于 infomaniak-mcp-agent

infomaniak-mcp-agent 是用于通过 AI 客户端管理 Infomaniak 账户的非官方 MCP 服务,覆盖托管、域名、邮件、DNS、kDrive 和账户审计。破坏性更改需单独确认后才会执行。

主要功能

  1. 01管理托管、域名和 DNS
  2. 02操作邮件与 kDrive 账户
  3. 03审计到期项目、锁定产品和进行中的操作
  4. 04确认前预览破坏性更改
  5. 05查看并撤销会话中的可逆操作
  6. 06按意图查找和查看工具

适用场景

  1. 01检查即将到期的域名
  2. 02创建或更新托管配置和 DNS 记录
  3. 03查看邮箱、kDrive 使用情况及账户状态
  4. 04撤销会话中可逆的更改

MCP 相关

将 Infomaniak 账户操作作为 MCP 工具提供给 AI 客户端。破坏性操作采用两阶段流程,须先取得计划和确认令牌才会应用更改。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"mogacode-ma-infomaniak-mcp-agent": {
"command": "npx",
"args": [
"-y",
"infomaniak-mcp-agent"
],
"env": {
"INFOMANIAK_API_TOKEN": "<INFOMANIAK_API_TOKEN>",
"INFOMANIAK_AUTH_MODE": "<INFOMANIAK_AUTH_MODE>",
"INFOMANIAK_SASESSION": "<INFOMANIAK_SASESSION>",
"INFOMANIAK_XSRF_TOKEN": "<INFOMANIAK_XSRF_TOKEN>"
}
}
}
}
启动命令npx -y infomaniak-mcp-agent
需要配置的环境变量
INFOMANIAK_API_TOKEN密钥Bearer token for api.infomaniak.com. Generate at https://manager.infomaniak.com/v3/api-token
INFOMANIAK_AUTH_MODE密钥Authentication mode for manager.infomaniak.com endpoints. 'auto' (default) reads Chrome cookies on demand. 'manual' uses INFOMANIAK_SASESSION+INFOMANIAK_XSRF_TOKEN. 'disabled' skips manager-private endpoints.
INFOMANIAK_SASESSION密钥Manager session cookie (used when INFOMANIAK_AUTH_MODE=manual).
INFOMANIAK_XSRF_TOKEN密钥Manager XSRF cookie (used when INFOMANIAK_AUTH_MODE=manual).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npminfomaniak-mcp-agent0.15.1

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

infomaniak-mcp-agent

npm version npm downloads CI CodeQL License: MIT Node TypeScript strict MCP Tools PRs Welcome GitHub stars

通过 Claude 管理你的整个 Infomaniak 账户——具备 Agent 能力、采用两阶段提交、开源。

infomaniak-mcp-agent 是一个非官方的 Model Context Protocol 服务,可将 Infomaniak(瑞士主权云)的全部功能作为 78 个工具开放,供大模型直接调用:虚拟主机、邮件(kSuite)、kDrive、域名、DNS、DNSSEC、FTP/SSH 用户、AI 产品、账户审计等。所有破坏性操作都必须经过严格的两阶段提交,因此 Agent 绝不会在你不知情的情况下删除或修改账户中的内容。

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?

目录

为什么要开发此项目

Infomaniak 是欧洲为数不多的独立、瑞士所有、支持开源的云服务提供商之一,在瑞士自营数据中心,使用水电和风电供能,且没有美国或中国母公司。其产品种类繁多(虚拟主机、邮件、kDrive、kChat、DNS、AI 云、Swiss Backup 等),但 API 分为有文档记录的公共接口和仅供管理器使用的私有接口——这意味着,要自动化实际工作流,通常需要浏览器会话、自定义脚本,或两者兼备。

本项目通过单个 MCP 服务开放所有功能,弥合了这一差距。Claude 或任何其他 MCP 客户端都可以通过自然语言执行实际账户操作:开通虚拟主机、轮换 DNS 记录、创建邮箱、审计即将到期的域名、浏览 kDrive——无需离开聊天界面,也不用编写脚本。

🎒 通过氛围编程实时开源构建

本项目由大模型驱动终端会话(“氛围编程”)快速构建而成,每一步都针对真实的 Infomaniak 账户进行了实时测试。在维护者的本地环境中运行完美,整个流水线也全部通过(TypeScript strict、ESLint、Prettier、78 项测试、构建、CodeQL、gitleaks)。

尽管如此,考虑到本项目的构建方式,以及其中使用的几个端点是通过逆向工程得出的(参见 REVERSE-ENGINEERING.md),根据你的账户拓扑、套餐等级、权限范围或 Infomaniak 自身的变更,你完全可能遇到(甚至是严重的)错误。出现问题时,我们会及时修复。请:

  1. 提交 issue,提供准确的工具调用、输入、响应和你的环境信息(Node 版本、操作系统、MCP 客户端)。粘贴内容前,请清理令牌、Cookie 和客户名称。
  2. 或者,更好的做法是,提交一个包含失败测试的 PR,我们会一起处理。

我们快速迭代,频繁发布。请尽管提出问题。

⚠️ 状态:非官方

本项目与 Infomaniak Network SA 无关联,未获其认可,也未得到其赞助。这是一个社区驱动的工具,结合了:

  1. Infomaniak 公共 API(api.infomaniak.com),使用你自行生成的 Bearer 令牌。
  2. 通过逆向工程得出的管理器端点(manager.infomaniak.com/proxy/...),用于对公共 API 会静默忽略的 Web 托管执行写入操作。

如需了解完整情况,请阅读 REVERSE-ENGINEERING.md。Infomaniak 可能会在不另行通知的情况下更改这些端点;我们会尽力跟进,但无法保证长期兼容性。

你可以用它做什么

安装后,你可以向 Claude 提出这类问题:

  • “列出我账户中所有将在 60 天内到期的域名,并按日期排序。”
  • “在托管 WP1234567 上创建一个新站点 staging.example.com,使用 PHP 8.3,根目录设为 /sites/staging。”
  • “为 example.com 添加新 Postmark DKIM 的 TXT 记录,然后验证解析结果。”
  • “数据库 myprefix_wp123456 占用了多少磁盘空间?哪个应用关联到了它?”
  • “创建一个邮箱 [email protected],使用 16 个字符的随机密码,并将邮件转发到我的 Gmail。”
  • “显示我担任管理员的 kDrive,以及它们的空间使用情况。”
  • “审计我的整个账户:是否有被锁定的产品、即将到期的 SSL、损坏的 DNSSEC 或正在进行的操作?”
  • “撤销我在本次会话中进行的上一次 DNS 更改。”

它不会静默执行任何破坏性更改:每项更改都必须经过一次计划 + 确认令牌往返流程。即使模型临时发挥,你仍能掌控一切。

为什么是“Agent 式”而不是“封装器”

大多数 MCP 服务会为每个 HTTP 端点提供一个工具,然后就此结束。本项目采用了不同的设计:

  • 引导式对话——创建站点时,会引导你逐步回答“哪个组织?哪个托管?根域名还是子域名?什么类型?确认信息?”而不是要求你事先知道该调用哪个工具。
  • 两阶段提交——每项破坏性操作都会返回一个包含一次性确认令牌的计划(有效期 60 s)。在你携带令牌回调之前,不会执行任何变更。
  • 预检——在调用 API 之前,服务会检查是否存在冲突(现有 FQDN、繁忙的托管、已过期的域名)。
  • 可操作的错误信息——每条错误信息都会说明发生了什么、原因是什么,以及你可以采取的下一步操作。
  • 内省——infomaniak_overview、infomaniak_help 和 infomaniak_explain 会按需向 Agent 提供上下文,而不是要求它记住工具目录。
  • 会话记忆——infomaniak_history 会列出当前会话中的每项破坏性操作,infomaniak_undo 则会撤销其中可逆的操作。

完整的设计理念请参见 ARCHITECTURE.md。

安装

可在 npm 上获取——推荐按需使用 npx 获取最新版本:

npx infomaniak-mcp-agent

(无需安装步骤;npx 会在首次调用时解析最新版本并缓存。)

如果希望使用稳定的二进制文件,可全局安装并放入 $PATH:

npm install -g infomaniak-mcp-agent

如果希望固定到特定提交(或修改源代码),可从此仓库安装:

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
配置 Claude Desktop

添加到 ~/Library/Application Support/Claude/claude_desktop_config.json(macOS)或 %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"
      }
    }
  }
}

重启 Claude Desktop 以应用更改。

配置 Claude Code
claude mcp add infomaniak \
  -e INFOMANIAK_API_TOKEN=paste-your-token-here \
  -e INFOMANIAK_AUTH_MODE=auto \
  -- npx -y infomaniak-mcp-agent

身份验证

由于 Infomaniak 并行运行两个 API,因此需要两种不同的凭据:

API身份验证用途
api.infomaniak.com/{1,2}/...Bearer 令牌主要用于读取:个人资料、产品、邮件、云盘、DNS、域名、账单
manager.infomaniak.com/proxy/...SASESSION Cookie + CSRF 令牌在 Web 托管上执行写入操作(站点、数据库、应用程序)
1. Bearer 令牌(必需)
  1. 登录 Infomaniak 账户。
  2. 前往 manager.infomaniak.com/v3/ng/profile/user/token/list。
  3. 点击 “Create a token”,设置较长的有效期,然后复制令牌值。
  4. 将其设置到 INFOMANIAK_API_TOKEN 中。
2. Manager 会话(自动,推荐)

Manager 私有 API 不接受 Bearer 令牌或 OAuth(Infomaniak 仅向第三方应用开放 openid profile email phone 作用域;web、mail 等作用域为保留项)。相反,我们会读取你登录 manager.infomaniak.com 时本地 Chrome 中已有的 SASESSION 和 MANAGER-XSRF-TOKEN Cookie。

使用 INFOMANIAK_AUTH_MODE=auto(默认值)时,MCP 会按需使用 chrome-cookies-secure 读取这些 Cookie。任何内容都不会写入磁盘;Cookie 仅在单次操作期间保存在内存中。

会话过期后,只需在 Chrome 中重新加载 manager.infomaniak.com——MCP 会在下次调用时获取新的 Cookie。

3. Manager 会话(手动备用方案)

适用于无头环境或故障排查:

INFOMANIAK_AUTH_MODE=manual
INFOMANIAK_SASESSION=...
INFOMANIAK_XSRF_TOKEN=...

复制方法:在 manager.infomaniak.com 上打开 Chrome DevTools,选择 Application → Cookies,复制 SASESSION 和 MANAGER-XSRF-TOKEN(URL 编码格式——直接粘贴即可,MCP 会解码)。

快速示例

一个典型的首次对话流程:

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).

工具

涵盖 22 个领域的 78 个工具。使用 infomaniak_help 按意图模糊搜索,或使用 infomaniak_explain 查看工具的完整 JSON 架构。

内省(从这里开始)
工具注释用途
infomaniak_overview只读组织和产品概览。最佳的首次调用。
infomaniak_help只读根据自由文本意图(“创建站点”“列出邮箱”……)推荐匹配的工具。
infomaniak_explain只读返回特定工具的完整定义(描述 + 架构)。
infomaniak_audit_account只读扫描组织中的到期项、锁定产品和进行中的操作。
infomaniak_history只读列出本次会话中执行的破坏性操作。
infomaniak_undo有破坏性在可撤销时回滚会话操作(两阶段提交)。
组织和产品
工具注释用途
infomaniak_list_organizations只读你拥有技术访问权限的账户。
infomaniak_list_hostings只读某个组织的 Web 托管(经典托管 + Node.js)。
infomaniak_list_domains只读某个组织的域名,包含创建日期和到期日期。
infomaniak_get_domain只读单个域名的详情(是否由其管理 DNS、DNSSEC、错误)。
Web 托管站点
工具注释用途
infomaniak_find_site只读域名优先查询。 将公共域名(例如 example.com)解析为 {account_id, hosting_id, hosting_label, site_id, full site object}。在使用任何需要 hosting_id + site_id 的工具之前,先调用此工具。无需再遍历每个托管服务调用 list_sites(在实际托管环境中会产生 46 次以上 API 调用)。
infomaniak_list_sites只读列出指定 Web 托管服务上的站点(包括应用)。
infomaniak_create_site破坏性两阶段操作:首次调用返回计划和令牌,第二次调用时传入令牌才会实际创建站点。
infomaniak_delete_site破坏性两阶段删除(完整预览将被移除的站点)。
站点别名

绑定到现有站点的 Apache 虚拟主机/DocumentRoot 的其他 FQDN — 无需配置新站点,即可通过一次安装提供多个域名的服务。

工具注释用途
infomaniak_list_site_aliases只读查看绑定到站点的 FQDN(主域名和别名)。
infomaniak_add_site_aliases破坏性绑定一个或多个 FQDN(接受 *.example.com 这类通配符)。分两阶段执行。异步操作:返回 progress_id,几秒后别名会显示在 list_site_aliases 中。
infomaniak_delete_site_alias破坏性解绑一个别名 FQDN(无法移除主 FQDN)。分两阶段执行。
SSL 证书
工具注释用途
infomaniak_get_certificate只读查看当前证书状态(updating/ok/error)、颁发者、到期时间和 ACME 标识符错误。
infomaniak_request_certificate破坏性分两阶段执行。颁发或续期证书。type 有三个取值:free(Let's Encrypt)、paid(Sectigo,需要 certificate_id)、custom(自带 PEM,需要 certificate + private_key)。
infomaniak_delete_certificate破坏性分两阶段执行。从站点移除证书。可通过调用 request_certificate 并设置 type: "free" 撤销此操作。
数据库
工具注释用途
infomaniak_list_databases只读列出关联到托管服务的 MariaDB 数据库(包括磁盘用量)。
infomaniak_get_database只读查看单个数据库的详情。
infomaniak_create_database破坏性分两阶段创建。
infomaniak_delete_database破坏性分两阶段删除(计划中会显示磁盘用量和关联的应用)。
infomaniak_list_database_users只读列出关联到托管服务的 MariaDB 级用户账户(applications、permissions、phpMyAdmin 链接)。
infomaniak_get_database_user只读查看单个 MariaDB 用户的详情。
infomaniak_change_database_user_password破坏性更改 MariaDB 用户的密码,并原子性地重新声明其授权。分两阶段执行。
infomaniak_change_database_user_permissions破坏性更改用户可访问的数据库(每个数据库分别设置读取/写入/管理权限),不更改密码。分两阶段执行。

⚠️ 两个工具都需要传入 grants 数组,其中声明用户可访问的所有数据库 — 未列出的数据库将设为无访问权限。请先调用 infomaniak_get_database_user 并复制当前的 permissions,否则会在不提示的情况下撤销访问权限。这是有意设计的,也是撤销授权的标准方式。

这些工具有意使用管理器私有端点,而非公共 API。公共 API 的 PATCH /1/web_hostings/{id}/database_users/{user} 接受密码并更改密码,但会在不提示的情况下清除 permissions 和 applications — 参见 REVERSE-ENGINEERING.md §Database users。

请优先使用这些工具,而不是通过 SSH 直接执行 MariaDB ALTER USER/SET PASSWORD。管理器是托管数据库凭据的权威来源:如果只在 MariaDB 中设置密码,它会与管理器中的记录悄然不一致,并在下一次 Infomaniak 维护时恢复为管理器中的密码 — 这可能要等上几个月,而且看不出与此次更改有任何关联。

FTP / SSH 用户
工具注释用途
infomaniak_list_hosting_users只读Web 托管上的 FTP / SSH 用户。
infomaniak_create_hosting_user破坏性操作分两阶段创建,并通过 connection_type 指定类型:ftp(仅 SFTP)或 ssh(完整 Shell + FTP)。
infomaniak_change_hosting_user_password破坏性操作更换 FTP/SSH 用户的密码。分两阶段进行。传入用户当前的 connection_type 可保持其不变。
infomaniak_change_hosting_user_connection_type破坏性操作将用户提升或降级为 ftp 或 ssh。密码保持不变。分两阶段进行。
infomaniak_delete_hosting_user破坏性操作分两阶段撤销(保留文件)。
DNS 与 DNSSEC
工具注释用途
infomaniak_dns_list_records只读查看 Infomaniak 管理的区域中的所有 DNS 记录。
infomaniak_dns_create_record破坏性操作分两阶段创建记录(A、AAAA、CNAME、MX、TXT、SRV、NS、CAA、PTR、SPF)。
infomaniak_dns_update_record破坏性操作分两阶段更新(计划中显示当前值与拟议值的差异)。
infomaniak_dns_delete_record破坏性操作分两阶段删除记录(提交前提供完整预览)。
infomaniak_manage_dnssec混合统一管理 DNSSEC:action: check(只读,KSK/DS 记录)、action: enable 或 action: disable(分两阶段提交的破坏性操作)。取代 v0.9 的三个工具 dnssec_check / dnssec_enable / dnssec_disable。
邮件
工具注释用途
infomaniak_list_mail_hostings只读某个组织的邮件托管。
infomaniak_list_mailboxes只读指定邮件托管上的邮箱。
infomaniak_get_mailbox_info只读统一读取邮箱信息:传入 fields: ["aliases" | "signatures" | "backups"](可选其中部分或全部)。并行获取,各部分的错误会分别返回。取代 v0.9 的三个工具 get_mailbox_aliases / get_mailbox_signatures / get_mailbox_backups。
infomaniak_create_mailbox破坏性操作分两阶段创建,并强制执行密码策略。
infomaniak_delete_mailbox破坏性操作分两阶段删除(同时清除已存储的邮件)。
infomaniak_create_mailbox_alias破坏性操作分两阶段为邮箱添加别名。
infomaniak_list_redirections只读服务端邮件转发规则。
infomaniak_create_redirection破坏性操作分两阶段创建规则(将 name@… 转发到 N 个目标)。
infomaniak_delete_redirection破坏性操作分两阶段删除规则。
身份信息(“我是谁?”)
工具注释用途
infomaniak_get_my_profile只读姓名、电子邮件、语言、国家/地区、时区、当前账户、安全状况(2FA、设备、上次登录)。
infomaniak_get_my_security只读专项安全报告——2FA 方式及状态、恢复邮箱、已验证的电话号码、Yubikey、救援代码、密码使用时长,以及包含 IP/时间的受信任设备。
账户 / 组织(深入信息)
工具注释用途
infomaniak_get_account_full只读完整组织详情:法人实体、账单地址、VAT、区域设置、支持等级、2FA 强制策略、你的角色、标签。
infomaniak_list_teams_and_tags只读一次调用即可获取团队(所有者 + 数量)和标签(标有各标签的产品)。
邮件(深入信息)
工具注释用途
infomaniak_get_mail_hosting_full只读DNS 健康状况诊断(MX/SPF/DKIM/DMARC)、配额、管理员、父级 kSuite 链接、FQDN、团队访问权限。
infomaniak_get_mailbox_full只读自动回复、别名、IMAP/POP3 上次登录、密码使用时长、邮箱大小、设备、DKIM、SMTP 封禁、邮件过滤(商业邮件/社交邮件)、获准/已屏蔽的发件人。
域名(深度)
工具注释用途
infomaniak_get_domain_full只读auth_code(EPP)、转移/交易状态、胶水记录、TLD/注册局、关联服务、DNS 详情及健康状况、关联产品、DNS 日志 URL。接受 ID 或 FQDN。
kDrive(深度,管理器私有)
工具注释用途
infomaniak_get_drive_full只读Drive 名称、总大小、已用空间、维护状态。
infomaniak_list_drive_users只读有权访问 kDrive 的用户(用于访问审计)。
infomaniak_list_drive_trash只读回收站中的项目及其删除时间戳。
VPS / 云服务器
工具注释用途
infomaniak_list_vps只读列出组织的云服务器(Jelastic)产品。
infomaniak_get_vps_full只读数据中心、IP、CPU/RAM、带宽及流量、磁盘使用情况、MySQL/PHP 版本、防火墙、高级支持联系人、迁移历史。
Node.js 应用(云服务器 hosting_3)
工具注释用途
infomaniak_list_nodejs_apps只读查找 Node.js 主机上的应用。返回每个应用的 vhost_route_id(其他所有 Node.js 工具使用的句柄)及其提供服务的 FQDN。
infomaniak_get_nodejs_app只读完整应用配置:Node 版本、监听端口、start_command、build_command、公网 IP(v4 + v6)、SSL 状态、目录、存储配额。
infomaniak_nodejs_app_status只读实时状态——Running 或 Stopped。开销低,可安全轮询。
infomaniak_nodejs_app_aliases只读提供该应用服务的所有 FQDN(主域名 + 自动生成的 xxx.preview.hosting-ik.com)。
infomaniak_nodejs_app_jobs只读最近的任务(构建 / 重启 / …),附带每个任务的 log_stream JWT。
infomaniak_nodejs_app_logs只读返回短时有效的 JWT + SSE 端点 URL,用于获取运行中应用的实时 stdout/stderr 流。
infomaniak_nodejs_app_thumbnail只读实时页面的 base64 JPEG 截图——无需通过 HTTP 探测即可进行视觉冒烟测试。
infomaniak_nodejs_app_action破坏性两阶段操作。启动 / 停止 / 重启 / 构建。stop 会记录可撤销操作,以便执行 start。build 会返回已启动任务的 resource_id + 实时 log_stream,以便跟踪输出。

所有 Node.js 工具均为管理器私有(公开的 Bearer API 仅提供 Node.js 主机的状态检查)。这些工具需要 INFOMANIAK_AUTH_MODE=auto(Chrome cookies)或 manual(SASESSION + MANAGER-XSRF-TOKEN 环境变量)。请参阅 REVERSE-ENGINEERING.md §Node.js DevOps。

kDrive
工具注释用途
infomaniak_list_drives只读账户有权访问的所有 kDrive(含配额)。
infomaniak_list_drive_files只读分页列出云盘根目录或任意文件夹中的文件 / 子文件夹。
URL 缩短器
工具注释用途
infomaniak_list_short_urls只读某个域名上配置的短 URL。
infomaniak_short_urls_quota只读某个域名已用 / 可用的短 URL 配额。
infomaniak_create_short_url破坏性两阶段创建。
Swiss Backup
工具注释用途
infomaniak_list_swiss_backups只读账户中的 Swiss Backup 备份槽位。
AI 工具
工具注释用途
infomaniak_list_ai_products只读账户持有的 AI 订阅。
infomaniak_list_ai_models只读瑞士主权 LLM/STT 模型的公开目录。
工作流(多步骤)
工具注释用途
infomaniak_provision_site_full破坏性通过先规划、再应用的编排流程,一次性配置网站 + 数据库 + DNS。
infomaniak_audit_dns_zones只读跨区域审计:缺失 SPF/DMARC、悬空记录、…。
逃生通道(其他所有操作)
工具注释用途
infomaniak_api_calldestructive直接访问 api.infomaniak.com 上的任意端点。GET 会立即执行;POST/PUT/PATCH/DELETE 遵循两阶段提交。拒绝访问已记录的 /{1,2,3}/... 命名空间以外的路径,也拒绝访问管理器私有的 /proxy/... 路径(请使用类型化工具)。

局限

  • api.infomaniak.com 的硬性速率限制为每分钟 60 次请求。 MCP 会使用令牌桶自动限流。请求突发量大时,你会看到短暂的排队延迟;这是有意设计的,用于防止你的令牌被列入黑名单。
  • 创建站点时,directory 只能用于 /sites/ 路径。 这是管理器后端的要求(否则会静默地不执行任何操作——参见 REVERSE-ENGINEERING.md)。
  • 管理器会话 Cookie 会过期(通常每隔几小时或退出 Chrome 时过期)。重新打开 manager.infomaniak.com 即可刷新。
  • 每个主机仅支持一个并发操作——Infomaniak 会以 400 operation_in_progress 拒绝同一主机上的并发 POST 请求。MCP 会按主机串行处理写入调用。
  • 有意不支持安装 WordPress。 使用此 MCP 创建空站点,然后通过管理器的向导安装 WP(applications/add 流程使用了未公开、且目前过于脆弱而无法可靠自动化的逐步向导)。

路线图

已在 v0.7 中发布(当前版本)

  • ✅ Web 托管:列出、创建和删除站点、数据库、FTP/SSH 用户
  • ✅ DNS:记录的完整 CRUD 操作、启用/禁用/检查 DNSSEC
  • ✅ 邮件:邮箱、别名、签名、备份、重定向——全部支持 CRUD
  • ✅ kDrive:列出云盘 + 浏览文件
  • ✅ Swiss Backup:列出存储槽
  • ✅ AI Tools:列出产品 + 公开模型目录
  • ✅ URL 缩短器:完整 CRUD 操作
  • ✅ 账户审计:即将到期的域名、已锁定的产品、正在进行的操作
  • ✅ 工作流工具:provision_site_full、audit_dns_zones
  • ✅ undo / history 会话工具
  • ✅ 用于访问任意已记录端点的通用 API 逃生通道

后续计划(v0.8+)

  • ⬜ kDrive 写入操作:上传、下载、移动、共享、归档
  • ⬜ Newsletter:营销活动、联系人(目前尚未开发)
  • ⬜ kChat:频道、话题、帖子(尚无公开 API——需要逆向工程)
  • ⬜ 工作流:provision_wordpress_site(需要一条不依赖脆弱的管理器向导的 WP 安装路径)
  • ⬜ Swiss Backup 写入操作:创建存储槽、安排计划、恢复
  • ⬜ 为每个工具添加顺利路径测试,将覆盖率从 35% 提升至 70%
  • ⬜ MCPB 打包,以便在 Claude Desktop 中一键安装

常见问题

这是 Infomaniak 的官方产品吗?

不是。这是由社区推动的项目,采用 MIT 许可证,与 Infomaniak Network SA 无关联,也未获得其认可或赞助。请参阅 NOTICE 和 REVERSE-ENGINEERING.md 中的免责声明。

它能与 Claude 以外的客户端配合使用吗?

可以。它通过标准的 Model Context Protocol 使用 stdio 通信,因此可与任何支持 MCP 的客户端配合使用——Claude Desktop、Claude Code、Cursor、Cline、Continue、Zed AI,以及用于调试的 MCP Inspector。

我的 Infomaniak 令牌 / 会话会离开我的设备吗?

不会。服务在本地通过 stdio 运行。你的 Bearer 令牌从 INFOMANIAK_API_TOKEN(环境变量或 .env)读取,且仅用于调用 api.infomaniak.com。Chrome Cookie(SASESSION、MANAGER-XSRF-TOKEN)只会在单次工具调用期间保存在内存中,不会持久化。日志会对所有敏感值(令牌、Cookie、密码)进行脱敏处理。

它支持自托管 / 在 macOS 以外的系统上运行吗?

支持——INFOMANIAK_AUTH_MODE=manual 允许你将 Cookie 直接填入环境变量,这是在 Linux 服务器、Docker 容器或 CI 中使用的方式。在本机安装了 Chrome 的 macOS、Windows 和 Linux 上,均可自动提取 Cookie。

为什么创建站点时使用管理器私有端点,而不是公共 API?

因为公共的 POST /1/products/{id}/web_hostings/{hid}/sites 端点会悄无声息地返回成功响应,实际上却什么也没创建。对管理器的 bundle 进行逆向工程后,我们发现管理器私有端点要求提供 force_fqdn: true、directory: /sites/... 和 environment: apache_php——这些参数都没有文档说明。完整说明请参阅 REVERSE-ENGINEERING.md。

它能自动安装 WordPress 吗?

目前还不能。管理器的 applications/add 流程是一个多步骤向导,每一步都有令牌,因此很难通过脚本稳定执行。建议的做法是:先用此 MCP 创建空站点,然后通过管理器向导安装 WordPress(或其他 CMS),也可以通过 FTP/SSH 上传。

有托管版 / SaaS 版本吗?

没有。这是有意为之——此服务在你自己的机器上使用你自己的凭据运行。没有托管式 SaaS、没有托管代理,也没有遥测。

如何报告 Bug 或申请工具?

提交 GitHub issue。请提供确切的工具调用、输入、响应(请清理敏感信息——删除令牌、Cookie 和客户名称),以及你的环境信息(Node 版本、操作系统、MCP 客户端、套餐级别)。欢迎提交包含失败测试的 PR,这会让我们倍加欣喜。

Infomaniak 自家的 AI 工具呢?

Infomaniak 运营着一个瑞士主权 AI 云,托管 Llama、Mixtral、Whisper 和其他开放权重模型。此 MCP 提供 infomaniak_list_ai_products 和 infomaniak_list_ai_models,让 Agent 可以发现有哪些产品可用,以及你的账户上开放了哪些模型;我们有意不封装它们的推理端点(如需使用,请直接调用兼容 OpenAI 的 API)。

参与贡献

欢迎贡献。请阅读 CONTRIBUTING.md,并遵守 CODE_OF_CONDUCT.md。安全问题应根据 SECURITY.md 的说明私下报告。

如果这为你节省了时间

支持此项目最快的方式是在 GitHub 上点亮 ⭐——这能帮助其他 Infomaniak 用户找到此项目,也能让我知道接下来该继续构建什么。

你也可以:

  • 针对 Bug、边缘情况或缺少的工具提交 issue
  • 围绕设计或 API 问题发起讨论
  • 分享你用它构建的成果——我很乐意了解

许可证

MIT——商标免责声明请参阅 NOTICE。

此项目与 Infomaniak Network SA 无关联。“Infomaniak”、“kDrive”、“kChat”、“kMeet”、“kSuite”、“Swiss Backup”均为 Infomaniak Network SA 的商标。


由 Mogacode 开发,这是一家提供订阅式搜索引擎优化服务的机构:我们的技术。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。