
IDE agent 的主场
本系列已经写过的 agent 住在三个地方:终端(Claude Code)、聊天窗口(ChatGPT)、桌面外壳(Workbuddy)。IDE agent 住在第四个地方:编辑器里,代码旁边。这一个位置差异,决定了它能对亚马逊数据做什么——不只是回答关于数据的问题,而是把答案落到仓库里,并且证明它能跑通。
为什么 agent 需要实时亚马逊数据而不是过期快照,通用论证在支柱指南里已经讲过,这里不再重复。本文只讲一件事:如何把 Pangolinfo 的 Amazon Data MCP 接入五个支持 MCP 的 IDE,以及接好之后”改代码—跑起来—读报错—修掉”这个闭环长什么样。
独立 agent 的工作方式是:提示词 + API 返回。它能描述一个修复,在聊天框里起草代码,再交还给你。剩下的事——粘到正确的文件里、跑测试、读失败输出、修掉修复本身——仍然是你的活。
住在 IDE 里的 agent 把这个闭环收进一个地方,因为它本来就拥有开发者每天用的工具:
- 它读的是真实代码库,不是粘贴的片段。Cursor 的 Agent 模式会搜索、探索整个项目;VS Code 的 Copilot agent 读当前文件和你引用的文件;Zed 的 Agent Panel 能读、搜、遍历项目树。
- 它就地写改文件,并且自带审查。VS Code 给你看 diff,可按请求接受或回滚;Zed 支持按 hunk 接受/拒绝,外加 Restore Checkpoint 按钮;Windsurf 的 Cascade 也能通过 checkpoint 回滚编辑。
- 它跑项目自己的命令——测试套件、构建、lint——并且读输出。Zed 的 agent 改完文件后可以直接调
diagnostics查类型错误;Windsurf 的 Cascade 能接 Problems 面板的报错并修复。 - 它会迭代。 测试失败时,agent 在同一个会话里看到失败输出,再试一次。不用在工具之间来回复制粘贴。
给这个闭环接上 MCP,它就有了实时外部数据。agent 可以为项目真正关心的 ASIN 拉取真实的亚马逊商品、价格、评论和排名数据,然后针对真实响应去实现和验证处理代码,而不是对着 mock 数据写。这就是全文一句话:IDE agent 把”亚马逊数据当作一个答案”变成”亚马逊数据当作一个验证过的提交”。
五个 IDE,五份配置
下面五个 IDE 都讲 MCP,但配置放在不同位置,JSON 形状也不同。五份示例都指向同一个 Pangolinfo 端点——https://mcp.pangolinfo.com/mcp——用 API key 鉴权。两种 header 形式都可用:Authorization: Bearer <key>(Pangolinfo 官方 MCP 客户端用的形式)或 x-api-key: <原始 key>。下面示例用 Bearer 形式,想用 x-api-key 直接换掉即可。
一条安全规则对五个 IDE 一样适用:永远不要把原始 API key 粘进可能进 git 的配置文件。 每个 IDE 都有办法让密钥不落盘——环境变量引用、弹窗输入,或者不进仓库的用户级文件。具体见各 IDE 的说明。
Cursor
配置文件: ~/.cursor/mcp.json(全局)或 <项目>/.cursor/mcp.json(项目级)。顶层 key 是 mcpServers。改完要重启 Cursor。
{
"mcpServers": {
"pangolinfo-amazon-data": {
"url": "https://mcp.pangolinfo.com/mcp",
"headers": {
"Authorization": "Bearer ${env:PANGOLINFO_API_KEY}"
}
}
}
}
${env:PANGOLINFO_API_KEY}从 shell 环境变量读 key。如果直接把 key 写进文件,它就是明文躺在文件里——项目级文件还可能被误提交。- 远程条目不需要
type字段;type: "stdio"只用于本地命令型 server。 - 启用方式: Settings → Cursor Settings → MCP & Integrations → + New MCP Server。每个 server 的开关在 Customize 下面;连接错误在 Output 面板的 MCP Logs 里看。
- 审批模型: 连接 server 要审批;每次工具调用也要审批,除非该工具在 MCP allowlist 里。工作区内的读取和文件编辑默认不需要审批;终端命令需要审批,除非被 Run Mode 放行。
- 未能核实: MCP 支持的最低 Cursor 版本,以及全局配置与项目配置冲突时谁赢。Cursor 官方文档是 JS 渲染的,本次未能直接读取;上面的配置形状由多个独立配置指南交叉印证。
VS Code(配 GitHub Copilot)
配置文件: 项目里的 .vscode/mcp.json(VS Code 格式,顶层 key 是 servers),或项目根目录的可移植 .mcp.json(顶层 key 是 mcpServers),或用户级 mcp.json。向导流程是命令面板 → MCP: Add Server。新 server 优先用可移植格式。
{
"servers": {
"pangolinfo-amazon-data": {
"type": "http",
"url": "https://mcp.pangolinfo.com/mcp",
"headers": {
"x-api-key": "${input:pangolinfo-api-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "pangolinfo-api-key",
"description": "Pangolinfo API key",
"password": true
}
]
}
- VS Code 格式下远程 server 必须带
type: "http"。inputs块让 VS Code 只在第一次弹窗问你要 key 并安全保存——key 永远不进配置文件。VS Code 自己的指导很明确:”Avoid hardcoding sensitive information like API keys. Use input variables or environment files instead.” - 信任: 启动 server 时 VS Code 会让你确认信任它。工作区配置的 server 继承 Workspace Trust;信任可通过 MCP: Reset Trust 重置。
- 工具控制: 聊天输入框里的 Configure Tools 按钮会列出该 server 暴露的所有工具,可逐个开关。每次工具调用可能都需要你确认。
- 版本要求: MCP 支持在 VS Code 1.102+ 普遍可用,且 MCP 工具只在 Agent 模式下工作(Ask / Edit 模式没有)。需要 GitHub Copilot 订阅。
- 不止工具: VS Code 的 MCP 支持还包括 resources(通过 Add Context → MCP Resources 附加)、prompts(以
/<server>.<prompt>调用)和 MCP Apps(在聊天里内嵌渲染交互界面)。
Windsurf
配置文件: mcp_config.json——不要手敲路径,走 UI 打开:Cascade 面板右上角 ...(Actions)菜单 → Open MCP config file 图标。顶层 key 是 mcpServers。
{
"mcpServers": {
"pangolinfo": {
"serverUrl": "https://mcp.pangolinfo.com/mcp",
"headers": {
"x-api-key": "${env:PANGOLINFO_API_KEY}"
}
}
}
}
- 字段是
serverUrl(或url)——不要加type或transport字段,Windsurf 官方示例里没有它们。 ${env:VAR}插值在headers和serverUrl里都可用。还支持${file:/path/to/file}形式。字面 key 写进文件就是明文。- 启用方式: Cascade 面板里的 MCPs 区域列出已配置的 server 和工具数量,每个 server 有开关。单个工具可通过该 server 的
disabledTools数组禁用。 - 工具上限: Cascade 在任意时刻最多访问 100 个工具(所有 MCP server 合计)。接多个 MCP server 可能撞上限——文档没说撞上限后会发生什么。
- 品牌 caveat: Windsurf 当前文档把编辑器描述为 Devin Desktop,Cascade 是其中的 legacy agent。上面的 MCP 配置是针对 Cascade 文档化的;同一份配置是否适用于更新的 Devin Local agent,官方文档没有说明。如果你用 Devin Local,先按最新文档核实,不要想当然。
- 团队管理员可以 allowlist 批准的 MCP server;一旦 allowlist 里有哪怕一个 server,团队内所有不在 list 里的 server 都会被拦掉。
Zed
配置文件: Zed 没有独立的 MCP 文件。Server 放在 settings.json 的顶层 key context_servers 下面。用 zed: open settings file 动作打开文件。项目级的 .zed/settings.json 也可以放 server,但要先信任该 worktree 才生效(Restricted Mode 会拦住);全局 server 不受信任门限制。
{
"context_servers": {
"pangolinfo": {
"url": "https://mcp.pangolinfo.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_PANGOLINFO_API_KEY"
}
}
}
}
- 官方示例只有两个字段——
url和headers。不要加type、transport、serverUrl、source或enabled。 - 启用方式: Settings → AI → MCP Servers → Add Server → Add Remote Server。server 行上有状态点——绿色加 tooltip “Server is active” 表示正在运行。
- 逐工具审批:
agent.tool_permissions.default控制——confirm(默认)在任何工具动作(含 MCP 调用)前弹窗,allow自动放行,deny全部拦掉。逐工具规则的 key 格式是mcp:<server>:<tool_name>。 - OAuth: 远程 server 如果没配
Authorizationheader,Zed 会弹窗走 OAuth。Pangolinfo 用 API key,不走这条路。 - 功能覆盖: Zed 只支持 MCP 的 Tools 和 Prompts,不支持 Sampling、Discovery、Elicitation。
- 密钥处理: 官方文档把 key 写成
settings.json里的字面值,且没有文档化的 keychain 或环境变量机制。含 key 的条目优先放全局(用户)settings.json,不要放项目级.zed/settings.json,更不要提交含 key 的 settings 文件。
Trae
Trae 是本文五个 IDE 里唯一一个未能从官方文档直接验证 MCP 配置的——调研期间文档站抓取失败,下面所有细节都是二手来源。把配置当作对照官方文档核对的起点,不要当作已确认的版本。
据报配置文件:<项目>/.trae/mcp.json(项目级)或 ~/.trae/mcp.json(全局)。据报格式:
{
"mcpServers": {
"pangolinfo-amazon-data": {
"url": "https://mcp.pangolinfo.com/mcp",
"headers": {
"x-api-key": "YOUR_PANGOLINFO_API_KEY"
}
}
}
}
type字段有争议。 二手来源互相矛盾:有的说没有type字段(按command还是url自动判断传输方式),有的说 Streamable HTTP 要写"type": "http",有的说 SSE 要写"type": "sse"。上面最简形式(不带type)是最稳妥的第一次尝试;如果 Trae 认不出 server,再试加"type": "http"。- headers 里的环境变量插值未经核实。 不要假设
${ENV_VAR}在这里能用——最可能的失败模式是 Trae 把字面${…}字符串发出去。上面的示例用的就是字面 key,所以明文密钥警告全额适用:不要把带真实 key 的项目级.trae/mcp.json提交进 git。 - 启用方式(据报): Settings(齿轮图标)→ MCP → Add → Add Manually,粘贴 JSON。项目级配置据报要先在 Settings → MCP 里打开 Enable project-level MCP。
- Agent 模式: Trae 把 Builder 模式合并成了统一的 Agent 模式;agent 读项目代码,在 DiffView 里提多文件修改(可逐文件接受/拒绝),运行受 auto-run 策略管控的项目命令,并且能在同一个会话里调用已配置的 MCP server。
一个完整闭环
下面是一个真实会话的形状。它是场景描述,不是实测记录——见文末的诚实说明。
你在为几个 ASIN 写价格监控脚本。打开项目,不是把 API 文档粘进聊天窗口,而是直接问 agent:“拉这五个 ASIN 的当前价格和评论数,写一个每天检查一次的监控脚本。”
- agent 调 Pangolinfo MCP 工具,拿回实时数据——你的 ASIN 的真实价格、真实评论数。
- 它把脚本写进项目,写在该在的文件里,并且因为能看到项目现有约定,风格跟得上。
- 脚本跑起来,失败了——鉴权 header 写错、字段名变了、响应形状跟代码假设的不一样。
- agent 读到报错输出,改代码,再跑一遍。第二遍通过。
- 你看 diff,接受,提交。这次提交里的代码是在同一个会话里对着真实数据验证过的。
第 3–4 步是独立 agent 做不到的部分。聊天 agent 只能猜报错;IDE agent 能读到它。这就是”agent 住在代码住的地方”的实际含义。
四个要当心的点
四个明确的限制,直接说:
- 本文没有做端到端实测。 五份配置都没有在真实 IDE 安装上接 Pangolinfo MCP 跑过。配置是从官方文档(Cursor 除外,见其说明)和二手来源(Trae)转录的,不是验证过的可用会话。如果某份配置在你的机器上失败,先查该 IDE 的字段名——
serverUrl还是url、servers还是mcpServers、type: "http"有还是没有——因为这些正是各 IDE 互不相同的地方。 - Trae 未经验证。 它的章节是二手来源。依赖之前先查 Trae 的实时文档。
- Windsurf 的 Devin Local 未确认。 配置是针对 legacy Cascade 文档化的。
- 密钥是反复出现的坑。 五个 IDE 的 MCP 配置都以 JSON 落盘。安全模式到处都一样:密钥不进文件——环境变量、弹窗输入,或不进仓库的用户级配置;永远不要提交带真实 key 的配置。
本文的位置
本文是支柱指南的六篇配套之一,支柱里讲了把实时亚马逊数据接入 AI agent 的通用论证。姊妹篇覆盖 agent 能住的其他地方:终端的 Claude Code、聊天窗口的 ChatGPT、桌面的 Workbuddy、做工作流自动化的 n8n。选哪个不是选哪个 agent”最好”——而是看工作发生在哪里。工作发生在代码里,agent 就该住在 IDE 里。
配置细节按官方文档核实:VS Code、Windsurf、Zed(2026 年 10 月)。Cursor 的配置由多个独立来源交叉印证;其官方文档未能直接读取。Trae 的配置是二手来源、未经验证。本文未在真实 IDE 安装上做端到端测试。



