Windows 本地配置记录:Codex 重启后识别 Affinity MCP

📅 2026/7/9 1:21:19
Windows 本地配置记录:Codex 重启后识别 Affinity MCP
Windows 本地配置记录Codex 重启后识别 Affinity MCP说明本文是一篇本地开发环境配置记录用于复盘 Codex 如何读取 Affinity MCP 配置以及为什么新增 MCP 后通常需要重启 Codex 才能在插件列表中看到。本文不涉及商业推广不提供破解、绕过授权或修改官方程序的做法。Windows 本地配置记录把 Affinity by Canva 的 MCP 连接到 Codex绕过 Claude DesktopAffinity MCP 直连 WorkBuddy/Cursor 完整配置指南Windows1. 这篇记录解决什么问题在配置 Affinity MCP 时容易遇到一个现象配置文件已经写了 命令行也能看到 MCP server 但当前 Codex 界面里暂时看不到 Affinity这并不一定是配置失败。原因通常是当前正在运行的 Codex 会话没有热加载新增 MCP解决方式是保存配置 重启 Codex 重新打开插件 / MCP 管理页 确认 Affinity 是否出现本文记录一次 Windows 本地环境中的完整验证过程。2. 本地环境本文使用的环境如下系统Windows Codex本地桌面环境 Affinity已开启内置 MCP Claude Desktop已安装 Affinity Connector Node.js本机可用其中 Affinity Connector 位于类似路径C:\Users\你的用户名\AppData\Roaming\Claude\Claude Extensions\ant.dir.gh.canva.affinity这个目录中的关键文件是server/index.js manifest.json package.json README.md实际连接链路可以理解为Codex - node server/index.js - http://localhost:6767/sse - Affinity 桌面应用3. 先确认 Affinity 侧已经开启 MCP在 Affinity 中进入Edit - Settings - Model Context Protocol确认下面几类开关已经开启Enable Affinity MCP Access desktop files Access network Use saved scripts Save scripts to Scripts panel不同版本的界面文案可能略有差异以本机显示为准。修改 Affinity MCP 设置后建议退出并重新打开 Affinity。4. 给 Codex 写入 MCP 配置Codex 的全局配置文件通常在C:\Users\你的用户名\.codex\config.toml可以在文件末尾加入[mcp_servers.affinity] command node args [C:/Users/你的用户名/AppData/Roaming/Claude/Claude Extensions/ant.dir.gh.canva.affinity/server/index.js] startup_timeout_sec 30 tool_timeout_sec 120 [mcp_servers.affinity.env] SSE_URL http://localhost:6767/sse注意几点1. 你的用户名 要替换成自己的 Windows 用户名 2. 路径里可以用正斜杠 / 3. SSE_URL 建议先用 http://localhost:6767/sse 4. 新增配置前最好备份 config.toml备份示例Copy-Item -LiteralPath $env:USERPROFILE\.codex\config.toml -Destination $env:USERPROFILE\.codex\config.toml.bak-affinity -Force5. 用命令行先检查 Codex 是否读到了配置如果codex命令在当前终端中可用可以执行codex mcp list有些 Windows 环境中系统可能优先调用 WindowsApps 里的codex.exe导致出现权限问题。这时可以使用 Codex 安装目录下的真实 CLI 路径例如 C:\Users\你的用户名\AppData\Local\OpenAI\Codex\bin\版本目录\codex.exe mcp list成功时输出中应该能看到类似内容Name Command Args Status affinity node ...ant.dir.gh.canva.affinity/server/index.js enabled这里能看到affinity说明 Codex 配置文件已经被 CLI 读取。但这一步只能说明配置已被 Codex CLI 识别它不等于当前已经打开的 Codex 界面完成了热加载。6. 为什么还需要重启 Codex新增 MCP server 后当前正在运行的 Codex 会话不一定会自动加载新 server。表现可能是config.toml 已经写入 codex mcp list 已经看到 affinity 但插件 / MCP 列表里暂时没有 Affinity这时不要急着反复改配置。更稳的做法是1. 保存 config.toml 2. 关闭当前 Codex 窗口 3. 重新打开 Codex 4. 进入插件 / MCP 管理页 5. 查看 MCP 分组7. 重启后的验证结果重启 Codex 后在插件管理页中可以看到 MCP 列表里出现Affinity Node Repl Pycharm示例截图如下这说明Codex 已经识别 Affinity MCP server Affinity MCP 已经进入 Codex 插件 / MCP 管理界面如果开关处于启用状态就可以继续做后续工具测试。8. 后续建议先做只读测试第一次看到 Affinity MCP 后不建议马上执行会修改文档的脚本。建议先做只读测试list_sdk_documentation read_sdk_documentation_topic list_library_scripts render_spread render_selection如果需要执行脚本应先阅读 Affinity SDK 的preamble文档。原因是 Affinity MCP 的execute_script能在桌面应用中执行 JavaScript能力比较强应该先确认当前文档、文件路径和操作范围。9. 常见问题9.1 配置写了为什么界面里还是没有 Affinity先执行codex mcp list如果命令行能看到affinity但界面没有优先重启 Codex。如果命令行也看不到检查config.toml 是否写错位置 TOML 表名是否是 [mcp_servers.affinity] server/index.js 路径是否真实存在 Node.js 是否可用9.2 浏览器打开 localhost:6767/sse 没有正常页面这是正常现象。http://localhost:6767/sse不是普通网页而是 MCP/SSE 通信用的 endpoint。判断是否成功不应该只看浏览器页面而应该看 MCP client 是否能列出工具。9.3 为什么不用 npx 安装某个 Affinity MCP 包本文记录的是复用 Claude Desktop 已安装的 Affinity Connector。不要直接照抄未经验证的包名例如affinity/mcp-server应该先确认本机实际安装目录和manifest.json中声明的启动方式。9.4 是否需要修改 Claude Desktop 的 connector 文件不建议。更稳妥的方式是读取 connector 的启动方式 在 Codex 中复用同一个 server/index.js 不要修改 connector 安装文件这样后续排错更清晰也不容易受到更新影响。10. 最小排查清单可以按下面顺序检查1. Affinity 是否已启动 2. Affinity 设置中 MCP 是否开启 3. Claude Desktop 是否已安装 Affinity Connector 4. server/index.js 路径是否存在 5. Codex config.toml 是否写入 affinity 6. codex mcp list 是否能看到 affinity 7. 是否已重启 Codex 8. 插件 / MCP 管理页是否出现 Affinity如果第 6 步成功第 8 步失败大概率是还没有重启或刷新 Codex。11. 小结这次配置的关键点不是 TOML 写法本身而是理解两个阶段阶段一Codex CLI 读取 config.toml 阶段二Codex 桌面界面重启后加载 MCP server所以验证时建议分两步先用 codex mcp list 验证配置 再重启 Codex 验证界面可见看到插件 / MCP 管理页中出现Affinity后才算完成了从配置到界面的闭环。参考链接Affinity 官方帮助AI Automation with Claudehttps://www.affinity.studio/help/ai-connector-setup/Model Context Protocol 官方文档https://modelcontextprotocol.io/