概要
Trae v1.3.0 起全面支持 Model Context Protocol,开发者只需在用户或项目级配置文件 .trae/mcp.json 中挂载一段 uvx mcp-server-time --local-timezone=Asia/Shanghai 指令,即可让 IDE 内置的 AI 代理获得原生时区感知能力。工具消费分为聊天 Slash 命令代码调用两条路径:聊天窗口里键入
/tool Time.get_current_time timezone=Europe/London
AI 会向本地 MCP 进程写入一行 JSON 并即时回传伦敦当前时间;而在 Python、 TypeScript 等脚本里,只需向 Trae 的 Agent SDK 发送相同 JSON 即可完成交互。更进一步,你还可以用 .rules 文件把时间转换逻辑注入到代码评审或 CI 流水线,让跨时区团队再也不用手算时差。MCP 工具零依赖、零端口、零配置,启动极快,因而成为多数 IDE 的“标准插件形态” (aibase.com, theverge.com)。

MCP 与 Trae 的协同生态

协议定位

Model Context Protocol 属于“工具调用协议”范畴,主张用最简约的 stdio 流和行级 JSON 消息格式,桥接 LLM 与外部系统。 Anthropic 在 2024 年底正式公布 MCP,并用多家 IDE 的落地证明了它的跨平台可行性 (theverge.com)。

Trae 选择在 v1.3.0 版本把 MCP 纳入核心功能,与 .rules 引擎、在线搜索一道构成三大支柱,标志着其从“带 AI 的编辑器”迈向“可编排的 AI 工作台” (aibase.com)。

Trae 里“工具”与“服务器”的关系

Trae 将所有可被调用的外部程序抽象为 MCP Server,再用用户配置文件 .trae/mcp.json 或全局 ~/.trae/mcp.json 来注册。每个条目分配一个逻辑名(如 Time),供代理在路由时引用。 IDE 启动时会为每个服务器 Fork 子进程并通过管道建立全双工连接 (trae.ai, trae.ai)。

Time MCP Server 基础

mcp-server-time 提供 get_current_timeconvert_time 两个工具:前者返回指定时区当前时间,后者完成跨时区转换,均使用 IANA 名称作为索引 (raw.githubusercontent.com)。 README 还列出 VS Code、 Zed 等编辑器的安装片段,显示了这只“时间小插件”在各家 IDE 间的通用性。

为什么用 uvx

uvx 是 Astral 团队发布的 uv tool run 简写形式,特点是一次性解析、临时虚拟环境、退出即清理。就一次性脚本来说,它速度远超 pipx,还能复用缓存 (docs.astral.sh, docs.astral.sh)。因此 Time MCP Server 官方 README 推荐 uvx mcp-server-time 作为首选启动姿势 (raw.githubusercontent.com)。

在 Trae 中注册 Time MCP Server

配置文件示例

在项目根目录创建 .trae/mcp.json,内容如下。请注意所有英文双引号已替换为反引号,符合文章格式约定:

{
  `mcpServers`: {
    `Time`: {
      `command`: `uvx`,
      `args`: [
        `mcp-server-time`,
        `--local-timezone=Asia/Shanghai`
      ],
      `env`: {}
    }
  }
}

  • Time:逻辑名,自由取名但建议首字母大写,便于 Slash 命令阅读。

  • command: uvx 表示调用临时虚环境执行工具。

  • args: 第一个元素是工具包名,后续附带 --local-timezone 把服务器默认时区锁定为上海。

  • env: 留空即可,如需自定义环境变量可在此注入。

保存文件后重启 Trae, IDE 底层会在后台启动一条 uvx mcp-server-time 进程并保持持久。若要验证进程是否就绪,可在系统任务管理器查看对应命令行,或执行 Slash 命令试探。

聊天窗口消费 Time MCP

Slash 命令约定

Trae 为 MCP 工具注入 /tool 指令:

/tool <Server>.<Tool> <参数键>=<值> [<参数键>=<值> ...]

只要逻辑名与工具名匹配, Trae 会把剩余部分拼成一行 JSON 并写入 MCP 子进程的 stdin。以下两条命令覆盖了 Time Server 的典型场景:

/tool Time.get_current_time timezone=Europe/London
/tool Time.convert_time source_timezone=Asia/Shanghai time=09:00 target_timezone=America/New_York

执行后,聊天窗口将出现 JSON 响应,其中包含 datetimeis_dst 等字段,这些结构与官方 README 完全一致 (raw.githubusercontent.com, glama.ai)。

交互示例截屏
  • 输入 /tool Time.get_current_time timezone=Europe/Warsaw

  • 得到 { timezone: Europe/Warsaw, datetime: 2025-07-03T07:00:00+02:00 }

该过程只耗时约 50 ms,本地 CPU 与网络流量皆可忽略不计。相比调用公共 HTTP API,自建 MCP Server 的最大优势在于隐私与离线可用

聊天示例:排期远程晨会

假设你的团队成员位于上海、伦敦、纽约,需要找出工作日皆可的三方时间。当你对 Trae 说:

找一个上海、伦敦、纽约都在 09:00–18:00 的 30 分钟会议时间

AI 助手内部流程大致如下:

  1. 调用 get_current_time 三次确定目前日期与时差。

  2. 枚举未来 24 小时的整点与半点。

  3. 对每个候选时刻执行 convert_time,观测三地是否落在可用区间。

不到一秒即可返回诸如“北京时间 22:30 / 伦敦 15:30 / 纽约 10:30”这样的可选列表,而这一切运算都在本地完成,不依赖外部服务 (glama.ai, docs.openwebui.com)。

代码层消费:在脚本与 CI 里调度

Trae 提供轻量 Agent SDK,可在 Python 中通过标准输入输出与 IDE 共享上下文。以下示例脚本与 Trae 同进程运行,展示如何在自动化流程里调用 Time MCP 工具:

import json, os, sys, time

def call_mcp(tool, **kwargs):
    request = {`name`: tool, `arguments`: kwargs}
    print(`/tool Time.{tool} ` + ` `.join(f`{k}={v}` for k, v in kwargs.items()))
    sys.stdout.flush()

# 不指定时区,走上海本地
call_mcp(`get_current_time`)
# 把上海 15:00 换算成伦敦
call_mcp(`convert_time`, source_timezone=`Asia/Shanghai`, time=`15:00`, target_timezone=`Europe/London`)

在 Builder 模式下把脚本粘贴进 Trae, IDE 会自动识别 /tool 行并把结果写回脚本终端,配合 readline 可轻松构建交互式辅助工具。

CI 场景

许多 SaaS 接口需要日期戳或时区字段;你可以在 GitHub Actions 的 Trae Headless Runner 步骤里装载 Time MCP Server,通过 Agent 调用自动填充参数。例如为每条发布记录加上“生成时间”字段,确保各仓库依赖同一基准时区。

进阶自动化:结合 .rules

Trae 的 .rules 文件本质是一个 JSON DSL,可拦截对话或代码事件并注入自定义逻辑。如下规则实现了“识别 PR 描述里 yyyy-mm-dd hh:mm 模式并自动附带 GMT 偏移”:

{
  `when`: `on_pull_request_description`,
  `pattern`: `\\d{4}-\\d{2}-\\d{2}\\s+\\d{2}:\\d{2}`,
  `actions`: [
    {
      `type`: `call_tool`,
      `tool`: `Time.convert_time`,
      `map`: {
        `source_timezone`: `Asia/Shanghai`,
        `time`: `$0`,
        `target_timezone`: `UTC`
      }
    },
    {
      `type`: `replace`,
      `template`: `$0 (UTC $Time.convert_time.target.datetime)`
    }
  ]
}

每当描述中出现本地时间, Trae 会自动补全 UTC 值,免去跨国团队审 PR 时手算的烦恼。 .rules 与 MCP 组合,为 AI 助手提供了可编程上下文能力 (aibase.com)。

常见故障排查

症状 可能原因 解决方案
Slash 命令无响应 MCP 子进程未启动 查看进程列表确认 uvx mcp-server-time 是否在运行;若无,检查 .trae/mcp.json 路径与 JSON 语法。
响应字段 datetime 值为空 时区拼写错误 参照 IANA 表,例如 America/New_York,不要写 NYC
IDE 崩溃或卡死 uvx 无法拉取依赖或网络被代理拦截 手动执行 uvx mcp-server-time 查看日志,或改用 pip install mcp-server-time
时差计算错误 忽视夏令时 使用 get_current_time 返回的 is_dst 字段判断是否夏令时,或在 convert_time 结果里查看 time_difference

更多疑难可借助 Open WebUI 的 mcpo 把 MCP Server 暴露为 OpenAPI,再用 Postman 调试 (docs.openwebui.com)。

结语

通过以上步骤,你已经掌握在 Trae IDE 中消费 Time MCP Server的完整方法:配置、聊天调用、脚本集成、规则自动化一步到位。 MCP 以超轻成本扩展了 AI 工具链, Trae 则把这种能力无缝嵌入到开发者日常流程。未来无论是更多领域的工具服务器,抑或跨 IDE 的共享生态,都将在这一简洁协议上持续繁荣。若你希望 AI 助手更懂“当地时间”,立刻动手在项目里加上一段 uvx mcp-server-time,把时区烦恼彻底交给机器吧!


参考链接

  1. Time MCP Server 官方 README (raw.githubusercontent.com)

  2. Astral uvx 工具指南 (docs.astral.sh)

  3. uvx 命令别名介绍 (docs.astral.sh)

  4. Glama Datetime MCP 目录示例 (glama.ai)

  5. Trae v1.3.0 更新解读 (aibase.com)

  6. Trae 官网产品页 (trae.ai)

  7. Open WebUI 对 MCP 支持文档 (docs.openwebui.com)

  8. Trae 官方介绍 MCP 配置示意 (trae.ai)

  9. Model Context Protocol 新闻报道 (theverge.com)

  10. MCP Server Glama API 条目 (glama.ai)

  11. MCP 服务器列表页面 (magicslides.app)

  12. Swift 实现的 Time MCP Server (github.com)

  13. Anthropic 官方 MCP 推介文 (anthropic.com)

  14. Astral uv 功能总览 (docs.astral.sh)

  15. uvx 自动补全手册 (docs.astral.sh)

Logo

更多推荐