mcpField
I
Infomaniak MCP (unofficial)

Infomaniak MCP (unofficial)

远程服务
infomaniak-mcp.com云与基础设施04 天前更新

关于 Infomaniak MCP (unofficial)

Infomaniak MCP 是一个非官方、开源的 MCP 服务,让 AI 编码工具管理已授权的 Infomaniak 服务,并查询实时官方文档。它支持受范围限制的读取和经独立人工批准的变更,也提供只读发现模式。

主要功能

  1. 01发现账户与产品资源
  2. 02管理 DNS 记录并执行诊断
  3. 03查看邮箱元数据与受支持设置
  4. 04部署及管理客户自有 VPS 应用
  5. 05搜索实时官方文档
  6. 06通过审批控制写入

适用场景

  1. 01检查域名到期时间与 DNS 配置
  2. 02查询邮箱别名和转发设置
  3. 03部署或回滚 VPS 应用
  4. 04查找 Infomaniak 官方指南与 API 文档

MCP 相关

该项目提供托管 OAuth MCP 服务,也支持本地运行。MCP 客户端可访问 Infomaniak 资源发现、DNS、邮件、VPS 应用和文档工具;写操作受资源授权及人工审批控制。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://infomaniak-mcp.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;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.expiryUTC 注册到期时间、剩余天数,以及已过期/即将过期/正常状态
dns.auditSPF(缺失、重复、+all、Infomaniak include)、DMARC、DKIM 委派、MX、域名顶点 CNAME、TTL 过低
dns.propagationGoogle、Cloudflare 和 Quad9 对同一名称的解析结果,并与区域进行比较;查询失败即表示不一致

这些操作读取已存储的区域和公共解析器。它们不是邮件投递或签名测试。

受控写入

从明确可丢弃的资源开始。操作人员必须授予以下所有权限:

  1. 主体 operations 列表中列出的确切已审核操作。
  2. writes: "disposable-only",以及带有 disposable: true 和 writable: true 的确切资源绑定。
  3. 对完整计划进行新鲜、独立的人工审批。

命名 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 许可证。提供方适配器修复仍作为单独的上游贡献提交。

评论

支持 Markdown

第一次接触 MCP?

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

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