关于 Infomaniak MCP (unofficial)
Infomaniak MCP 是一个非官方、开源的 MCP 服务,让 AI 编码工具管理已授权的 Infomaniak 服务,并查询实时官方文档。它支持受范围限制的读取和经独立人工批准的变更,也提供只读发现模式。
主要功能
- 01发现账户与产品资源
- 02管理 DNS 记录并执行诊断
- 03查看邮箱元数据与受支持设置
- 04部署及管理客户自有 VPS 应用
- 05搜索实时官方文档
- 06通过审批控制写入
适用场景
- 01检查域名到期时间与 DNS 配置
- 02查询邮箱别名和转发设置
- 03部署或回滚 VPS 应用
- 04查找 Infomaniak 官方指南与 API 文档
MCP 相关
该项目提供托管 OAuth MCP 服务,也支持本地运行。MCP 客户端可访问 Infomaniak 资源发现、DNS、邮件、VPS 应用和文档工具;写操作受资源授权及人工审批控制。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://infomaniak-mcp.com/mcpclaude mcp add --transport http leonhoulier-infomaniak https://infomaniak-mcp.com/mcp{"mcpServers":{"leonhoulier-infomaniak":{"type":"http","url":"https://infomaniak-mcp.com/mcp"}}}在 Cursor 中打开{"servers":{"leonhoulier-infomaniak":{"type":"http","url":"https://infomaniak-mcp.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"leonhoulier-infomaniak":{"type":"http","url":"https://infomaniak-mcp.com/mcp"}}}{"mcpServers":{"leonhoulier-infomaniak":{"serverUrl":"https://infomaniak-mcp.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
Infomaniak MCP
使用 AI 编码工具操作你已在使用的 Infomaniak 服务。 独立、非官方且开源。由 Léon Houlier 构建。
试用托管试点版 · 下载插件 · 参与贡献 · API 参考 · 隐私政策 · Cookie 政策
https://infomaniak-mcp.com/mcp
对于 Claude Code:
claude mcp add --transport http infomaniak https://infomaniak-mcp.com/mcp
然后在 Claude Code 中运行 /mcp,并完成浏览器登录。其他客户端请参阅设置指南。每位客户都需要在私密页面输入自己的 Infomaniak 令牌,并授权一个账户。切勿在聊天或 GitHub issue 中粘贴令牌。原生客户端接入仍在评估中。
请询问:“显示我的 Infomaniak 服务。”
| 功能 | 当前托管服务 |
|---|---|
| 发现 | 已授权账户/产品清单和资源名称解析 |
| DNS | 记录、审计、传播情况和过期时间;可在已同意的域名中创建/更新/删除记录 |
| 邮件 | 已同意邮箱的元数据、别名和转发;支持更改设置 |
| VPS 应用 | 客户自有运行器、固定版本的无状态 Dockerfile 部署、运行状况、请求的日志和保留镜像回滚 |
| 官方文档 | 支持七种语言的实时帮助搜索、实时开发者索引、当前指南和 API 参考 |
| 更改 | 设置期间可选择读写;也可使用只读模式;在支持的情况下,每项具体写入都需要客户端确认,并提供浏览器备用方案 |
该服务不提供邮箱内容、通用 HTTP 执行、任意 shell 命令、购买或一般性的 VPS 生命周期写入。目录元数据仅供参考,并不代表支持执行相关操作。提供商令牌经过静态加密;运营方持有加密密钥,并可使用这些令牌发送 API 请求。
与 Infomaniak 无关联,也未获其认可。
托管连接
通过客户端的 OAuth 流程使用 https://infomaniak-mcp.com/mcp。每位客户都需要私下连接自己的 Infomaniak 令牌、选择账户并选取资源。客户无需本地运行环境或自有服务器。可选的 VPS 部署需要配对客户自有的运行器。现有授权范围绝不会自动扩大;明确设置的只读权限始终有效。
请参阅 API 和当前功能、客户端评估依据和隐私政策。原生客户端的评估结果各不相同;端点或本地测试通过,并不能证明所有客户端工作流都可用。
托管服务、插件包和运行器均从此源代码发布。源代码、插件 ZIP 文件和校验和请参阅版本发布。也可在下载页面获取运行器。
托管插件包
精简的托管插件位于 plugins/infomaniak。 它将私密连接指南和可复用的 Infomaniak 工作流与现有远程 MCP 打包在一起。可移植的 Agent Plugins 清单面向兼容的宿主,同时提供 Claude 兼容包。插件包中不会存储提供商令牌。
下载公开插件包,或使用 node scripts/package-plugin.mjs 构建。Claude Code 可从此仓库安装:
claude plugin marketplace add leonhoulier/infomaniak-ai
claude plugin install infomaniak@infomaniak-mcp
0.3.5 版本已发布至 MCP Registry。 该条目指向托管 OAuth 端点;客户无需 npm 包。Claude 已提交审核,Cursor 已收到发布者申请,OpenAI 则已上传草稿。这些都不是已获批准的目录条目。 仓库安装和公开下载可分别使用。请参阅分发计划,了解当前提交渠道、原生资格、审核材料和发现优先级。
若要私下试用浏览器体验,请运行 npm run preview 并打开
http://127.0.0.1:8790。默认使用演示数据。请参阅
测试托管体验。
本地安装替代方案
每位客户都使用自己的凭据。只需提供 INFOMANIAK_API_TOKEN(或其私有 _FILE 来源),服务便会启动只读发现版本:账户、产品和完整的公开目录。起步时无需作者账户、后端、私有策略或托管服务器。该版本提供六种工具,无法规划或执行写入操作。
限定范围的策略可启用资源级读取和受控写入生命周期。 原有后端配置仍可单独使用。
连接 AI 客户端
需要 Node.js 22.13+。无需托管服务器。在此代码检出目录中:
npm ci --ignore-scripts
npm run build
node dist/server.js setup
选择客户端。Claude Code 和 Claude Desktop 使用其私有插件设置;VS Code 使用原生密码提示。Codex 和 Cursor 使用终端中的隐藏输入,并在项目目录之外使用私有本地凭据文件。设置流程会先说明令牌的存放位置,再提示你输入。切勿将令牌粘贴到聊天中。
对于 Claude Desktop,请使用 npm run package:desktop 构建扩展,然后打开
artifacts/infomaniak-ai-0.2.0.mcpb。其中包含依赖项;该包未经签名,原生安装仍需客户端验证。
你的第一个问题:
显示我的 Infomaniak 服务。如果我有多个账户,请让我选择一个。
使用 node dist/server.js setup --client vscode --dry-run 预览任何连接。
请参阅入门指南,了解各客户端、令牌权限、轮换和移除方式。目前尚无 npm 或应用市场版本可用。
JSON 写入 API
JSON API 提供限定范围的读取,以及规划、执行、取消和协调路由。托管 Beta 版仅允许写入可丢弃的 TXT 名称,并使用加密计划;协商表单引导时由原生客户端确认,否则通过浏览器批准。单独的策略版本保留其配置的资源授权和人工密钥。该 API 没有批准端点。请参阅写入 API 参考。
高级功能:范围限定的读取和独立审批的写入
上面的简单连接可用于发现账户和产品。如需检查单个资源或启用经审核的更改,请配置单独的范围限定策略。受控版本使用 Node 的 SQLite API。
使用你的实际账户 ID 初始化一个新的私有目录。替换大写占位符;省略不需要的产品选项:
node dist/admin.js init \
--directory "$HOME/.config/infomaniak-ai" \
--account ACCOUNT_ID \
--zone example.com \
--dns-source _infomaniak-ai-test \
--mail-hosting MAIL_HOSTING_ID \
--mailbox MAILBOX_NAME
这会写入一份私有策略、一个客户端连接令牌,以及一个单独的人类审批密钥。它们的值绝不会被打印出来。所有写入操作和可写资源授权默认均已禁用。绝不会覆盖现有安装。
在客户端的密钥存储中或通过 INFOMANIAK_API_TOKEN 配置提供商令牌。也可以将 INFOMANIAK_API_TOKEN_FILE 设置为一个模式为 0600 的绝对路径,指向常规密钥文件。不要同时配置这两种来源,也不要将凭据粘贴到对话中。
对于通用 MCP 客户端,使用命令 node 和以下参数:
/absolute/path/to/infomaniak-ai/dist/server.js
--config
/absolute/path/to/private/access.local.json
默认本地策略还会在 localhost:8787/approvals 启动审批界面。人类密钥应在浏览器/交互式人工终端中使用,不要放入 AI 客户端的配置中。
node dist/server.js --config /absolute/path/to/access.local.json --doctor
Doctor 会检查配置和可选的后端完整性,不会调用提供商。
工具
策略驱动版本提供十种工具:
| 工具 | 用途 |
|---|---|
infomaniak_status | 覆盖范围、已配置的适配器和连接策略 |
infomaniak_search | 按需查找相关操作和经审核的架构 |
infomaniak_catalogue | 按产品/方法分页获取公开元数据 |
infomaniak_read | 在账户/资源授权范围内执行经审核的读取 |
infomaniak_plan | 持久化预览;不会修改提供商数据或进行审批 |
infomaniak_execute | 执行一次经独立审批的精确计划 |
infomaniak_operation | 状态查询或只读协调 |
infomaniak_cancel | 在执行开始前取消 |
infomaniak_docs_search | 搜索当前官方帮助指南或实时 API 索引 |
infomaniak_docs_read | 获取当前官方指南或 API 参考 |
没有 MCP 审批工具,也没有通用 HTTP/命令行执行器。搜索可能会返回已禁用的目录条目,并说明它们无法执行的原因。
经审核的操作会在搜索结果中附带 Infomaniak 专属的 notes:各个 ID 的含义、. 区域顶点、MX 优先级位于目标值中、UTC 到期日期,以及转发标志的含义。完整表格请见技能。
当前文档和浏览器任务
每个版本都包含实时官方文档搜索和读取功能。使用 infomaniak_docs_search 搜索公开主题词(例如 VPS Lite SSH),然后使用 infomaniak_docs_read 和返回的 URL。设置 source: "api" 可搜索实时开发者索引,而不是捆绑的操作目录。
结果包含来源 URL、检索时间和明确的分页信息。
当缺少某项 API 功能时,Agent 可以使用自己获得授权的浏览器或计算机工具,按照官方 Manager 指南操作。访问文档不会控制浏览器,也不会授予更改资源的权限。请参阅文档访问。
只读诊断
| 操作 | 检查内容 |
|---|---|
domains.expiry | UTC 注册到期时间、剩余天数,以及已过期/即将过期/正常状态 |
dns.audit | SPF(缺失、重复、+all、Infomaniak include)、DMARC、DKIM 委派、MX、域名顶点 CNAME、TTL 过低 |
dns.propagation | Google、Cloudflare 和 Quad9 对同一名称的解析结果,并与区域进行比较;查询失败即表示不一致 |
这些操作读取已存储的区域和公共解析器。它们不是邮件投递或签名测试。
受控写入
从明确可丢弃的资源开始。操作人员必须授予以下所有权限:
- 主体
operations列表中列出的确切已审核操作。 writes: "disposable-only",以及带有disposable: true和writable: true的确切资源绑定。- 对完整计划进行新鲜、独立的人工审批。
命名 DNS 授权使用 resources.dns_names["example.com:_infomaniak-ai-test"]。
使用此类狭窄授权时,更新/删除调用必须包含 expected_source。
可写的整个区域授权允许更广泛的更改;区域清单授权则不允许。邮箱授权使用
resources.mailboxes["HOSTING_ID:MAILBOX_NAME"],且与邮件托管清单授权分开。
人工审核者会在 /approvals 查看账户、资源、更改前后值、影响和恢复限制,
然后输入 APPROVE。模型会收到计划 ID/哈希,但模型和审核者都不能授予审批。
本地管理员也可以通过 admin.js plans、show,以及使用单独人工密钥进行交互式
approve。
过期或已失效的计划无法执行。冲突写入会通过资源锁串行处理。不确定的请求会保持锁定,并通过读取进行协调; 变更绝不会自动重试。已验证的服务提供商状态并不能证明 DNS 已传播、邮件已投递、SSH 可访问或应用运行正常。
若要在自己的账户上验证写入功能,请选择一个区域和一个临时邮箱。
先通过私有终端环境提供 INFOMANIAK_API_TOKEN;切勿在命令或 shell 历史中
包含其值。然后运行:
node scripts/qualify-writes.mjs \
--account ACCOUNT_ID --zone example.com --mail-hosting MAIL_HOSTING_ID --mailbox throwaway
它只会操作 DNS 名称 _infomaniak-ai-test 和别名 ik-ai-test,为每项更改
制定计划,等待你在第二个终端中通过 node dist/admin.js approve 批准后再执行,
读取回写结果,最后检查区域和别名是否恢复到初始状态。它绝不会自行批准任何内容。
仅在完成临时资源的线上验证并认真审核策略后,才使用 writes: "enabled"。
它仍要求可写资源授权、操作授权和每项计划的独立审批。凭据、购买、任意 API 执行、
VPS 重新安装及其他未经审核的操作仍不可用。
复用现有 MCP 与兼容性
原有的三工具只读版本无需策略文件即可使用。
它需要 INFOMANIAK_API_TOKEN、INFOMANIAK_MCP_SERVER_PATH(经过审核的绝对路径
dist/server.js)和 INFOMANIAK_MCP_SHA256。它会在禁用浏览器身份验证的情况下运行后端,
并使用仅允许 GET 的 fetch 防护。
受控版本可以通过以下配置复用该适配器,以只读方式访问 VPS:
{
"backend": {
"path": "/absolute/path/to/infomaniak-mcp-agent/dist/server.js",
"sha256": "SHA256_OF_REVIEWED_ENTRY_FILE"
}
}
这是一段策略片段,并非完整配置。校验和仅覆盖入口文件,不包括其依赖关系图。 请使用经过审计的构建版本;防护机制并非针对不可信可执行文件的操作系统沙箱。 必须具备经过审核的 VPS 配套能力。 此前验证时,上游 npm 0.15.2 返回了 404,因此不能假设存在可用的上游软件包安装命令。
对于 Claude Code:
claude plugin validate .
claude --plugin-dir .
受控版本请选择可选的私有策略文件,原始版本则提供经过审核的后端路径/校验和。 清单验证与原生客户端的接入流程相互独立;后者尚未经过端到端验证。
相关项目
这个插件源于对两个现有开源项目的贡献,并复用了从中积累的经验:
- peaktwilight/infomaniak-cli,
一个面向 Infomaniak API 的 Python CLI。待处理的拉取请求新增了 DNS 传播和同步修复、DNS 审计修复、托管服务发现、只读模式、
--dry-run预览以及邮箱命令。 - Mogacode-ma/infomaniak-mcp-agent, 一个支持两阶段确认的 TypeScript MCP 服务。待处理的拉取请求新增了 DNS 导出/差异对比/传播工具、仅使用令牌的 VPS 清单和防火墙读取功能、测试、只读模式、别名删除以及邮箱转发。
脚本编写请使用 CLI;若要由 Agent 驱动并使用广泛的工具,请使用 MCP 服务;若需要限定授权范围,并要求每次写入操作都由另一位人员审批,请使用此插件。
在 Infomaniak 上进行可选托管
经过身份验证的 Streamable HTTP 版本使用单独的应用专用客户端凭据和人工审批凭据,并为每位用户配置隔离的提供方令牌。
运行 node dist/server.js --config /private/access.local.json --http。
请参阅Infomaniak VPS 部署指南,了解固定版本的 Docker 镜像配置、Caddy HTTPS 代理、私有状态、备份和重启流程。 构建此仓库不会部署任何内容。仅支持 OAuth 的客户端接入和公开托管服务仍属未来计划。
构建可分发的软件包
npm run package
这会生成 artifacts/infomaniak-ai-0.2.0.tgz,其中包含编译后的代码、目录、
技能和插件清单。白名单会排除测试、本地策略、凭据和操作数据库。开发期间,该软件包会继续标记为私有,以防意外发布到注册表;本地软件包可以安装。
该软件包尚未发布到公开注册表或市场。
要在独立的本地安装中测试软件包:
npm install --prefix "$HOME/.local/share/infomaniak-ai" \
--ignore-scripts ./artifacts/infomaniak-ai-0.2.0.tgz
将 MCP 客户端的命令配置为 node,并将已安装的绝对路径 node_modules/infomaniak-ai/dist/server.js 作为参数,同时在其机密环境中提供你的提供方令牌。如果没有策略或后端配置,启动后将使用四工具发现版本。运行 python3 scripts/bundle-smoke.py,在使用虚假凭据的一次性干净 Node 容器中检查软件包。
开发
欢迎贡献:Infomaniak 操作、客户端兼容性、文档和回归测试。请阅读 CONTRIBUTING.md,较大的改动请先创建问题,较小的改动可提交拉取请求。请通过 SECURITY.md 私下报告漏洞。
npm run typecheck
npm test
python3 -m unittest discover -s tests -p 'test_*.py'
npm run format:check
测试夹具使用虚假凭据和 API。容器冒烟测试会禁用网络,并使用一次性状态目录。实时证据保存在此仓库之外。此软件包为私有,以防意外发布。
采用 MIT 许可证。提供方适配器修复仍作为单独的上游贡献提交。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。