内容
# Yandex Tracker MCP
用于 Yandex Tracker 的小型 stdio MCP 服务器。它提供了用于读取、搜索、创建、更新、评论和转换 Tracker 问题的工具。
## 与 Codex 配合使用
将服务器添加到 `~/.codex/config.toml`:
```toml
[mcp_servers.yandex-tracker]
command = "uvx"
args = ["mcp-yandex-tracker"]
[mcp_servers.yandex-tracker.env]
YANDEX_TRACKER_TOKEN = "..."
YANDEX_TRACKER_CLOUD_ORG_ID = "..."
```
如果要直接从源代码运行最新的未发布代码,请将 `args` 行替换为:
```toml
args = ["--from", "git+https://github.com/kawaii-snafy/mcp-yandex-tracker.git", "mcp-yandex-tracker"]
```
对于非云组织,请使用 `YANDEX_TRACKER_ORG_ID` 代替 `YANDEX_TRACKER_CLOUD_ORG_ID`。
在更改配置后重启 Codex。服务器会暴露名为 `tracker_*` 的工具,例如 `tracker_get_issue`、`tracker_search_issues` 和 `tracker_add_comment`。
## 与 Claude Code 配合使用
使用 Claude Code CLI 添加服务器:
```sh
claude mcp add --transport stdio \
--env YANDEX_TRACKER_TOKEN="..." \
--env YANDEX_TRACKER_CLOUD_ORG_ID="..." \
yandex-tracker \
-- uvx mcp-yandex-tracker
```
对于非云组织,请使用 `--env YANDEX_TRACKER_ORG_ID="..."` 代替 `YANDEX_TRACKER_CLOUD_ORG_ID`。
验证 Claude Code 注册:
```sh
claude mcp list
claude mcp get yandex-tracker
```
在 Claude Code 中,使用 `/mcp` 检查服务器连接和工具。
## 环境
必需:
- `YANDEX_TRACKER_TOKEN`:OAuth 或 IAM token。
- 一个组织 ID:`YANDEX_TRACKER_CLOUD_ORG_ID` 用于云组织或 `YANDEX_TRACKER_ORG_ID` 用于非云组织。
可选:
- `YANDEX_TRACKER_AUTH_SCHEME`:默认为 `OAuth`。对于 IAM token,请使用 `Bearer`。
- `YANDEX_TRACKER_BASE_URL`:默认为 `https://api.tracker.yandex.net`。
- `YANDEX_TRACKER_TIMEOUT`:默认为 `30`。
## 本地验证
运行 MCP 服务器并请求其工具列表:
```sh
YANDEX_TRACKER_TOKEN="..." YANDEX_TRACKER_CLOUD_ORG_ID="..." \
uvx mcp-yandex-tracker <<<'{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
```
响应应该是一个包含 `tracker_*` 工具的 JSON-RPC 对象。服务器仅限 stdio,因此 stdout 保留用于 MCP JSON-RPC 消息。
## 文档
更详细的文档位于 [`docs/`](docs/README.md):
- [INTEGRATION.md](docs/INTEGRATION.md) — 将服务器连接到主机。
- [TOOLS.md](docs/TOOLS.md) — 完整的工具参考,包含参数。
- [ARCHITECTURE.md](docs/ARCHITECTURE.md) — 服务器内部工作原理。
- [EXTENDING.md](docs/EXTENDING.md) — 添加工具、规则和扩展说明。
## 开发
```sh
git clone git@github.com:kawaii-snafy/mcp-yandex-tracker.git
cd mcp-yandex-tracker
python3 -m venv .venv
.venv/bin/python -m pip install -e .
python3 -m unittest discover -s tests
```