mcpField
T
Trail

Trail

本地服务
usetrail.dev生产力06 周前更新

关于 Trail

Trail 的 MCP 服务将编码 Agent 连接到团队事项跟踪器和共享项目记忆,并按打开的文件夹确定项目范围。它还支持提醒和事项附件,并可通过会话钩子在启动时载入待办事项与项目背景。

主要功能

  1. 01管理跟踪器事项与状态
  2. 02读取和更新共享项目记忆
  3. 03创建和管理提醒
  4. 04为跟踪器事项添加附件
  5. 05按文件夹或配置确定项目范围
  6. 06通过会话钩子载入背景

适用场景

  1. 01让编码 Agent 获取项目待办事项
  2. 02记录长期有效的决策和项目知识
  3. 03跨会话跟踪有日期的提醒
  4. 04将工作限定在当前代码仓库

MCP 相关

该客户端通过 stdio 运行 MCP 服务,并通过 REST API 连接 Trail 账户。任何兼容 MCP 的客户端都可使用其跟踪器、记忆、提醒和附件工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"dev-usetrail-trail": {
"command": "npx",
"args": [
"-y",
"usetrail"
],
"env": {
"TRAIL_API_URL": "<TRAIL_API_URL>",
"TRAIL_PROJECT": "<TRAIL_PROJECT>"
}
}
}
}
启动命令npx -y usetrail
需要配置的环境变量
TRAIL_API_URLOnly for a self-hosted Trail. Left unset, the connector points at the hosted service.
TRAIL_PROJECTOverrides the project name, which otherwise comes from the folder you have open.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmusetrail1.29.1

工具

18

收录的工具列表 · 更新于 2 周前

参数类型必填说明
tagstring否
typeenum否feature | bug | chore | idea | question
limitinteger否此响应中的条目上限(无论如何都会受大小上限约束)。
cursorstring否从上一条响应停止的位置继续。使用返回的 proximo_cursor;它是不透明值,请勿解读其内容。
detailenum否full(默认):返回完整条目;若无法容纳,则自动改为仅返回索引。index:直接请求精简索引。index | full
statusenum否backlog | todo | in_progress | blocked | done | dropped
projectstring否

详细介绍

usetrail

适用于 Trail 的 MCP 服务——它为你的编码 Agent 提供团队的任务跟踪器和项目持久记忆,并限定在你当前打开的文件夹范围内。

你的 Agent 不再盲目工作。它会读取当前打开的内容,记录完成的工作,并记下那些吃过亏才学到的经验——都写入团队查看的同一块看板,而不是只有本次会话能看到的临时文件。

这个软件包是客户端。它通过 REST API 与你的 Trail 账号通信;这里没有数据库。依赖项包括 @modelcontextprotocol/sdk、zod 和内置的 fetch。

快速开始

# 1. connect this machine to your Trail account (opens your browser; no token to copy)
npx -y usetrail@latest login

# 2. register it with your agent - this example is Claude Code
claude mcp add trail -s user -- npx -y usetrail@latest

还没有账号?请在 usetrail.dev 创建一个——免费方案支持三个项目和三位成员。

不绑定特定 Agent。 这是一个通过 stdio 通信的普通 MCP 服务,支持目前使用的三个协议版本。任何兼容 MCP 的客户端都可以运行它;不同之处仅在于注册命令,每个客户端都有自己的说明文档。

更喜欢本地检出? 也可以克隆仓库,连接器会自行保持更新(参见更新):

git clone https://github.com/arsprengel/trail-mcp.git ~/.trail-mcp
npm --prefix ~/.trail-mcp install --omit=dev
node ~/.trail-mcp/bin.js login
claude mcp add trail -s user -- node ~/.trail-mcp/bin.js

在 Windows 上,请填写实际路径,而不要使用 ~:注册时会原样保存参数,而 Node 不会展开它。

Agent 能获得什么

任务跟踪器——list_items、get_item、add_item、update_item、move_item、get_next、delete_item。团队看板上的真实任务,包含类型、状态、优先级、负责人和历史记录。Agent 接手的工作会显示为进行中,完成后会关闭,因此不必再由某个人讲述工作进展。

项目记忆——list_memory、get_memory、add_memory、update_memory、review_memory。项目的持久知识:有陷阱的部署方式、不应反复争论的决策、任何 README 都没写的命令。项目中的所有成员,无论是人还是 Agent,都可以共享。新会话会先读取这些内容,再开始行动,避免重复探索。

提醒——add_reminder、list_reminders、update_reminder、delete_reminder。带日期且绝不能悄悄错过的事项——日期到来后,Agent 会自行关闭或重新安排。

附件——add_attachment、get_attachment。属于某项任务的文件。

它会写入哪个项目

Trail 可以管理多个项目。连接器会使用你当前打开的文件夹作为项目依据——可以是文件夹名称、旁边 .trail 文件中的设置,或 TRAIL_PROJECT 变量。因此,Agent 无需额外说明就能写入正确的项目,两个代码仓库之间也不会相互混淆。如需访问其他项目,Agent 可以在工具调用中明确传入 project。

会话钩子(Claude Code、Gemini CLI、Antigravity)

在你登录时安装一次;对于通过连接器首次运行的情况也会安装,这涵盖了在注册时粘贴令牌,而不是通过浏览器登录的用户。每当在配置了跟踪器的项目中启动会话时,待处理事项和项目记忆都会从第一条消息起纳入上下文——Agent 一开始就了解情况,而不必指望有人记得去询问。采用故障静默设计:未登录或没有网络时,钩子会保持静默。

每种工具都有自己的配置位置,因此连接器会写入该工具实际读取的位置:

  • Claude Code - 在 ~/.claude/settings.json 中配置会话启动钩子。
  • Gemini CLI - 在 ~/.gemini/settings.json 中配置会话启动钩子。
  • Antigravity - 工具会注册到它实际读取的文件 ~/.gemini/config/mcp_config.json 中:gemini mcp add 无法在 Antigravity 中连接 Trail,因为该命令会改写 ~/.gemini/settings.json。经 Antigravity 2.11(Windows)实测,在该配置文件夹中的三项内容里,只有工具注册会生效——启动摘要钩子不会运行,而放在其文档所述位置的插件文件夹也不会被读取。因此,在 Antigravity 中,Agent 可以使用这些工具和服务端的工作规则,并会在第一轮对话时自行获取项目摘要,而不是接收摘要。插件路径已构建并通过测试,目前由开关控制,等待情况改变。

usetrail status 会针对这台机器上检测到的每种工具,告知你其是否已启用——你无需再翻找设置文件。

它绝不会与你争抢控制权。机器上没有安装的工具不会创建任何配置;hooks install 也不会为你没有安装的程序伪造配置。如果你用 hooks uninstall 移除了它,它不会自行恢复——请用以下命令重新添加:

npx -y usetrail@latest hooks install

没有钩子机制的客户端也能正常使用:服务端自身的指令会告诉 Agent 在采取行动前自行获取摘要。

你自己的 Trail

设置一次服务器地址,之后就会一直使用该地址:

TRAIL_API_URL=https://your-trail npx -y usetrail@latest login

未设置该变量时,login 会连接托管服务。

命令

npx -y usetrail@latest            # start the MCP server over stdio - what your agent runs
npx -y usetrail@latest login      # connect this machine (browser confirmation, no token copying)
npx -y usetrail@latest status     # server address, current project, whether a token is present
npx -y usetrail@latest logout     # delete the saved token
npx -y usetrail@latest doctor     # find the install on this machine and unstick auto-updates

令牌存储在 ~/.config/trail/token.json 中(模式为 600)。你可以随时在应用的“AI token”面板中撤销它。

配置

变量作用
TRAIL_API_URL你自己的 Trail 地址。首次登录后保存。默认为托管服务。
TRAIL_PROJECT强制指定项目名称(默认为当前打开的文件夹)。
TRAIL_API_TOKEN直接提供令牌,跳过浏览器登录。适用于 CI。
TRAIL_LANG连接器在屏幕上显示内容的语言:pt 或 en。未设置时,使用系统语言;如果系统未指定语言,则使用英语。不会改变 Agent 读取的内容。

旧名称(TETHER_*)仍可使用,且没有截止期限——该产品以前名为 Tether,任何人已经配置好的内容都无需更改。

更新

@latest 不是装饰。 注册为 npx -y usetrail@latest 后,连接器会在 Agent 每次启动会话时解析已发布的版本,因此新版本发布后会自动送达,无需任何人采取操作。若注册为裸命令 npx usetrail,npm 会重复使用首次缓存的副本——该机器将永远停留在那个版本。请使用 @latest。

使用 @latest 的代价是在会话启动时多花大约一秒,并进行一次网络调用。实际上这两点都无关紧要:连接器反正也要通过网络与 Trail 通信。

克隆安装会以不同方式自行更新:启动时,它会在后台静默执行快速前进拉取,间隔最长为六小时。当前运行的会话会继续使用已加载的版本;下次启动的会话则会使用更新后的版本。没有网络或遇到本地冲突时,则不会发生任何操作,且过程保持静默。

如果仍停留在旧版本?npx -y usetrail@latest doctor 会查找安装、报告版本并解除故障。

要求

Node 18 或更高版本。

许可证

MIT。此软件包是客户端,也就是你在自己的机器上运行的连接器。你可以使用、派生或改造它。它所连接的 Trail 服务是一个独立托管的产品。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。