内容
# 测试轨道MCP服务器
[](https://github.com/trtmn/tram-mcp/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/tram-mcp)
[](https://opensource.org/licenses/MIT)
连接Claude到 [TestRail](https://www.testrail.com/) — 浏览API,搜索测试用例,通过自然语言管理和运行结果。建立在 [模型上下文协议](https://modelcontextprotocol.io/)。
`tram-mcp` 在本地通过stdio运行 — 您的MCP客户端将其作为子进程启动。它作为npm包 [`tram-mcp`](https://www.npmjs.com/package/tram-mcp) 和Claude Desktop `.mcpb` 包分发。
> **从旧的Python包迁移?** `tram-mcp` 现在是一个Node/npm包,而不是PyPI包。请使用下面的安装步骤;`uv tool install tram-mcp` / `uvx tram-mcp` 不再适用。
## 要求
- **Claude Code / `npx` 路径:** Node.js ≥ 18。
- **Claude Desktop `.mcpb`:** 无 — Desktop自带Node运行时。
## 添加到Claude Code
运行以下两个命令(同事或Claude Code本身可以逐字遵循):
```bash
claude mcp add tram-mcp -- npx -y tram-mcp
npx tram-mcp login
```
1. 第一个命令注册服务器(Claude Code启动 `npx -y tram-mcp` 通过stdio)。
2. `npx tram-mcp login` 打开一个浏览器表单 — 输入您的TestRail **URL**,**用户名**, 和 **API密钥** (在TestRail的我的设置 → API密钥)。凭证针对TestRail验证并保存在 `~/.tram-mcp/credentials.json` (仅您可读)。
然后启动Claude Code会话并运行 `/mcp` — 您应该看到 **tram-mcp** 及其工具。
**更喜欢手动输入到Claude Code?** 粘贴以下内容:
> 添加TestRail MCP服务器:运行 `claude mcp add tram-mcp -- npx -y tram-mcp`,然后运行 `npx tram-mcp login` 以便我可以在浏览器中输入TestRail凭证。
**更喜欢环境变量** (CI,或跳过浏览器表单)?设置 `TESTRAIL_URL`,`TESTRAIL_USERNAME`, 和 `TESTRAIL_API_KEY` (或 `TESTRAIL_PASSWORD`)— 它们优先于保存的文件。您可以在添加服务器时内联传递它们:
```bash
claude mcp add tram-mcp \
-e TESTRAIL_URL=https://yourinstance.testrail.io \
-e TESTRAIL_USERNAME=you@example.com \
-e TESTRAIL_API_KEY=your-api-key \
-- npx -y tram-mcp
```
使用 `npx tram-mcp status` 和 `npx tram-mcp logout` 随时管理保存的凭证。
## 添加到Claude Desktop
1. 从 [最新版本](https://github.com/trtmn/tram-mcp/releases/latest) 下载 **`tram-mcp.mcpb`**。
2. 打开它(或 **设置 → 扩展 → 从文件安装**)并确认安装。
3. 在表单中填写您的TestRail **URL**,**用户名**, 和 **API密钥**。API密钥存储在您的操作系统密钥链中。完成 — 无需终端,无需配置编辑。
## 其他客户端(Cursor,VS Code,…)
任何运行stdio命令的MCP客户端都可以使用。 使用 `npx -y tram-mcp` 作为命令,并通过 `TESTRAIL_*` 环境变量提供凭证,例如 `~/.cursor/mcp.json`:
```json
{
"mcpServers": {
"tram-mcp": {
"command": "npx",
"args": ["-y", "tram-mcp"],
"env": {
"TESTRAIL_URL": "https://yourinstance.testrail.io",
"TESTRAIL_USERNAME": "you@example.com",
"TESTRAIL_API_KEY": "your-api-key"
}
}
}
}
```
## 配置
凭证来自 `npx tram-mcp login` (保存在 `~/.tram-mcp/`),Desktop安装表单,或这些环境变量(优先级更高):
| 变量 | 必需 | 描述 |
|---|---|---|
| `TESTRAIL_URL` | 是 | 您的TestRail实例URL(例如 `https://example.testrail.io`) |
| `TESTRAIL_USERNAME` | 是 | TestRail用户名或邮箱 |
| `TESTRAIL_API_KEY` | 是* | TestRail API密钥(推荐) |
| `TESTRAIL_PASSWORD` | 是* | TestRail密码(API密钥替代) |
*必须设置`TESTRAIL_API_KEY`或`TESTRAIL_PASSWORD`之一。
## 开发
TypeScript;源代码在 [`src/`](src/),测试在 [`test/`](test/)。
```bash
npm install
npm run check # tsc --noEmit
npm test # vitest
npm run build:cli # bundle the CLI -> dist/cli.js
```
## 发布
由release-please自动执行。 将PR合并到 `development` 并使用 [Conventional Commit](https://www.conventionalcommits.org/) 标题;release-please会打开一个Release PR,升级版本号。合并该Release PR会标记发布,发布到npm,并将 `tram-mcp.mcpb` 附加到GitHub Release。请参阅 `CLAUDE.md` 获取详细信息。
## 许可证
MIT