跳到正文
FunCoding

搜索

搜索文档、智能体、博客、Skill 和 MCP

MCP 与 Hooks

在 TraeCode 里添加 MCP Server(市场、手动、项目级 mcp.json、stdio/HTTP 配置、超时与变量);用 Hooks 在智能体执行节点运行自定义命令(事件、全局/项目、导入 Claude Code hooks)。

MCP Server

可以直接从 TraeCode 内置的 MCP 市场添加合适的 MCP Server,或手动配置;添加后可以把它们加入自定义智能体使用。从 MCP 市场添加:市场提供社区里热门的 MCP Server。进入设置中心(IDE 模式点右上角设置图标,SOLO 模式点对话面板右上角设置图标),左侧选 MCP 打开 MCP 窗口,点右上角 添加 > 从市场添加(首次添加时也可以点窗口中部的「从市场添加」),找到所需的 MCP Server,点右侧 +,在弹窗里填入配置信息并确认。标记为「Local」的 MCP Server 需要在本地安装 NPX 或 UVX 才能使用;配置里的 env 信息(API Key、Token、Access Key 等)要替换为真实信息。手动配置:在市场里找不到想要的,或想用自己开发的 MCP Server 时,点 添加 > 手动添加,填入 JSON 配置内容(优先使用 NPX 或 UVX 配置);若已在其他 IDE 里配置了 MCP Server 想复用,点「原始配置(JSON)」按钮,把 JSON 粘贴到 TraeCode 的 mcp.json 里,MCP 列表会自动添加对应的 MCP Server。项目级 MCP Server:在项目根目录的 .trae/ 下创建 mcp.json 声明一个或多个 MCP Server,需要时 TraeCode 自动从中加载;务必确保工作区里所有项目文件都来自可信来源,避免加载恶意配置带来安全风险。启用:设置 > MCP,打开「启用项目级 MCP」开关并在弹窗里确认。

配置说明:stdio 类型的 MCP Server 通过标准输入输出与客户端通信,字段:command(必填,启动 MCP Server 的可执行命令,必须在系统 PATH 里或用完整路径,命令里不能含空格)、args(可选,参数列表,每个必须是字符串)、env(可选,传给 MCP Server 的环境变量,值必须是字符串):

{
  "mcpServers": {
    "mcp_name": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-github"],
      "env": {
        "API_Key": "value"
      }
    }
  }
}

HTTP 类型的 MCP Server 通过 HTTP 或 HTTPS 与远程服务通信,字段:url(必填,远程 MCP Server 的访问地址,需为合法的 HTTP 或 HTTPS URL)、headers(可选,自定义请求头,用于携带鉴权等信息,如 "Authorization": "Bearer xxxx-xxxxxxx")。超时配置:stdio 类型通过 env 字段设置 START_MCP_TIMEOUT_MS(启动 MCP Server 的超时,毫秒)和 RUN_MCP_TIMEOUT_MS(调用 MCP Server 工具的超时,毫秒);HTTP 类型通过 headers 字段设置同名的两项。变量引用:MCP Server 配置支持变量,目前只支持 ${workspaceFolder},在 MCP Server 启动时被替换为当前项目的实际根目录路径(如 "args": ["${workspaceFolder}/plugins/mcp.js"])。火山引擎 MCP Server 市场提供涵盖计算、存储、数据库等云服务的 MCP Server,也可以在 TraeCode 里使用,使用说明见火山引擎官网。

Hooks

钩子(Hook)是 TraeCode 提供的自动化扩展机制:你可以在智能体执行过程中的特定事件节点运行自定义 Shell 命令,用于补充上下文、执行校验、记录日志、拦截高风险操作等。支持的事件:

事件名触发时机主要用途
SessionStart创建 Session 后、发起第一个对话前初始化环境、注入环境变量或补充上下文
UserPromptSubmit用户发送 Query 后、智能体开始处理前拦截不允许的请求,或向模型附加上下文
PreToolUse智能体发起工具调用后、实际执行前校验、拦截、修改工具参数,或要求用户确认
PostToolUse工具调用实际执行完成后检查工具执行结果,并向模型附加上下文
Stop智能体完成输出、准备结束当前 Query 时检查产出是否达标,必要时阻断停止并让智能体继续执行
Notification工具调用执行等待用户确认时,或智能体完成任务时(异步触发,不阻塞主流程)向用户发送通知

事件触发并命中配置的条件后,TraeCode 把该事件的 JSON 上下文传给你的 Hook 处理程序,由该程序根据返回结果决定是否附加上下文、拦截请求或继续执行;每个事件的输入输出细节见官方 Hook 事件文档。适用场景:安全合规(拦截敏感请求、保护关键文件、阻止高风险命令,建议用 UserPromptSubmit、PreToolUse);研发流程自动化(代码变更后调用脚本格式化或校验,工具调用前后记录日志或审计,建议用 PreToolUse、PostToolUse);上下文增强(会话开始时注入环境变量、工程约束或背景信息,用 SessionStart);任务验收(任务结束前检查产出质量,不达标就阻断停止让智能体继续优化,用 Stop);工具链联动(把智能体行为接入现有脚本、审查机制或规范检查流程)。Hook 类型:全局 Hook 对本机当前用户下的所有工作区生效(适合通用安全策略、统一上下文注入或跨项目校验规则);项目 Hook 仅对当前项目或工作区生效(适合与具体项目强相关的脚本、测试和格式化流程)。

在 TraeCode 里管理:新建——前往 设置 > Hooks,在「配置」部分选类型(全局或项目),在「已配置的 Hooks」处点「创建」,在弹出的安全警示面板里阅读提示、确认无风险后点「启用」,TraeCode 在相应目录下创建 hooks.json 并默认启用,在其中配置具体事件和命令后保存。管理——在同一位置点齿轮图标在编辑器里打开 hooks.json 修改,或开关 Hook 来启用/禁用。导入 Claude Code 的 Hook:TraeCode 支持读取 Claude Code 的 Hook 配置,但同名 Hook 事件的输入和输出参数可能存在差异,导入后建议按 TraeCode 的 Hook 事件规范检查并调整,确保命令能正确解析输入并返回符合预期的输出;在 设置 > Hooks 的「配置」部分选类型,打开「导入 CLAUDE 中的 Hooks 配置」开关并在安全警示面板里确认。运行方式:在「运行方式」部分选择 Hook 命令的运行方式:沙箱运行(在沙箱中自动执行)或本地自动运行(始终在沙箱外自动执行,有风险请谨慎选择)。运行日志:在「运行方式」部分点「运行日志」处的「查看日志」,TraeCode 打开输出面板并展示「Agent Hooks」类型的日志;退出 TraeCode 后当前周期的运行日志被清空。