MCP 与插件
在 Amp 里添加本地和远程 MCP 服务器、控制 MCP 权限,以及用 TypeScript 插件扩展工具、命令和事件处理。
MCP
可以用本地或远程的 MCP 服务器添加工具。配置有两种:本地 MCP 配置存在 amp.mcpServers(即使 URL 指向别的机器也算本地配置);远程 MCP 定义由 ampcode.com 保存,在 MCP 服务器设置或 amp mcp remote 里管理。官方推荐优先把 MCP 服务器通过 mcp.json 打包进技能,只在需要时加载其工具;必须常驻上下文时,才用命令行或设置文件添加:
amp mcp add context7 -- npx -y @upstash/context7-mcp
amp mcp add linear https://mcp.linear.app/sse"amp.mcpServers": {
"playwright": { "command": "npx", "args": ["-y", "@playwright/mcp@latest", "--headless"] },
"linear": { "url": "https://mcp.linear.app/sse" },
"sourcegraph": {
"url": "${SRC_ENDPOINT}/.api/mcp/v1",
"headers": { "Authorization": "token ${SRC_ACCESS_TOKEN}" }
}
}字段:本地用 command/args/env,远程用 url/headers;配置里用 ${VAR_NAME} 引用环境变量。很多远程服务器通过 OAuth 自动认证;在 orb 里可以用 header ${amp:id-token} 让远程服务器用 Amp ID 令牌认证线程。amp.mcpPermissions 用 matches(url 或 command/args 的通配模式)加 action(allow/reject)控制哪些 MCP 服务器能用,按第一条匹配规则生效,没有匹配则允许。
插件
插件是给 Amp 增加工具、命令和事件驱动行为的 TypeScript/JavaScript 模块(单个文件或带支持文件的目录)。插件在你的环境里运行代码,只加载你信任的。能力:amp.on(...) 处理工具调用、工具结果和智能体生命周期事件;amp.registerTool(...) 注册自定义工具;amp.registerSkill(...) 打包技能目录;amp.registerCommand(...) 添加命令面板动作;ctx.ui.notify/confirm/input/select 弹出界面;amp.ai.ask(...) 做线程范围的是/否判定。来源:个人插件(个人设置里管理,到处可用)、工作区插件(管理员管理,对全员生效)、项目插件(项目根的 .amp/plugins/)、系统插件(~/.config/amp/plugins/,设置了 XDG_CONFIG_HOME 则在其下)。同名时优先级为项目、系统、个人、工作区。插件还能定义自定义代理模式和子智能体,以及实现权限策略。完整 API 见官方插件 API 参考。