内容
# taas-mcp
本地的 [MCP](https://modelcontextprotocol.io) 服务器,用于向本地 LLM 公开 Tread 的交易数据和订单工具。它是一个**轻薄、通用代理**:它不包含任何硬编码的工具——在启动时,它会从您的 Tread 后端获取工具目录,并将每个调用转发到那里。所有推理都在您的本地代理中进行;Tread 执行各个工具调用。
> **后端依赖。** 此客户端与 Tread 后端的 `mcp_api` 端点(`GET /api/mcp/tools`、`POST /api/mcp/dispatch`、`GET /api/mcp/guide`)通信,必须部署并为您的用户启用 `MCP` 功能标志。设计 / PRD:Linear 项目 _“MCP Server — Local-LLM Trading Data & Orders”_。
## 公开内容
后端注册表宣传的任何内容——市场数据、余额、投资组合分析、订单状态和交易(单个、做市商、delta-neutral 和批量订单,以及取消 / 暂停 / 恢复 / 设置杠杆)。由于目录是实时获取的,因此在后端添加或更改工具无需在此处进行新版本发布。
它还公开了权威操作指南作为 `tread_operating_guide` 提示,该提示从后端实时获取——在驱动工具之前加载它。
## 安装
首先安装 [`uv`](https://docs.astral.sh/uv/) — 这是唯一的先决条件。下面的 `uvx` 命令随 `uv` 一起提供(它是 `uv tool run` 的简写),因此无需安装其他内容:
```bash
# macOS / Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# 或,使用 Homebrew
brew install uv
```
然后直接从仓库安装和运行——无需克隆。`uvx` 从 GitHub 获取包,在隔离环境中构建(自动提供兼容的 Python),并运行 `taas-mcp` 入口点:
```bash
uvx --from git+https://github.com/tread-labs-public/taas_mcp.git taas-mcp
```
服务器通过 stdio 使用 MCP,因此通常由您的 MCP 客户端启动(请参阅 [连接您的 MCP 客户端](#连接您的mcp客户端)),而不是交互式运行。上面的命令是您在客户端配置中使用的相同命令。
通过追加 `@<ref>` 可以固定到分支或标签:
```bash
uvx --from git+https://github.com/tread-labs-public/taas_mcp.git@main taas-mcp
```
要将其作为持久工具安装在您的 `PATH` 上(这样命令就是 `taas-mcp`),请使用 `uv tool`:
```bash
uv tool install git+https://github.com/tread-labs-public/taas_mcp.git
uv tool upgrade taas-mcp # 稍后拉取新版本
```
> [!NOTE]
> `uvx` 缓存构建。 在后端发布仅影响此客户端的更改后,使用 `uvx --refresh --from git+https://github.com/tread-labs-public/taas_mcp.git taas-mcp` 强制重新构建。
## 配置
| 变量 | 必需 | 描述 |
| --- | --- | --- |
| `TREAD_URL` | 是 | Tread 服务器的基本 URL,例如 `https://app.tread.fi` |
| `TREAD_MCP_TOKEN` | 是 | 您的 MCP token(在 Tread 网页 UI 中生成/重新生成) |
| `TREAD_READONLY` | 否 | `1` 以隐藏所有写入/交易工具 |
| `TREAD_TIMEOUT` | 否 | HTTP 超时(秒)(默认 30) |
可以在 app.tread.fi 的设置 > 安全页面生成 token
<img width="2506" height="1082" alt="image" src="https://github.com/user-attachments/assets/7f5b6c6c-5409-43ca-9d46-348e0e9f35eb" />
token 作为您进行身份验证;每个调用都在服务器端限定为您的帐户。 一个运行中的服务器 == 一个 Tread 用户。token 在一段时间(默认为 30 天)不活动后过期(在每次使用时刷新);过期后,请求返回 `401`,您需要从 Tread 网页 UI 重新生成它。
## 连接您的 MCP 客户端
将您的 MCP 客户端指向相同的 `uvx` 命令。客户端按需启动服务器,并通过 `env` 传递配置。
### Claude Code (CLI)
```bash
claude mcp add tread \
--env TREAD_URL=https://app.tread.fi \
--env TREAD_MCP_TOKEN=您的token \
-- uvx --from git+https://github.com/tread-labs-public/taas_mcp.git taas-mcp
```
添加 `--env TREAD_READONLY=1` 以进行只读设置。
### Claude Desktop / 通用 MCP 客户端(JSON)
```json
{
"mcpServers": {
"tread": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/tread-labs-public/taas_mcp.git",
"taas-mcp"
],
"env": {
"TREAD_URL": "https://app.tread.fi",
"TREAD_MCP_TOKEN": "您的token"
}
}
}
}
```
对于只读设置,在 `env` 中添加 `"TREAD_READONLY": "1"`。
> [!NOTE]
> 客户端必须能够在其 `PATH` 上找到 `uvx`。如果它找不到(在 macOS GUI 应用中很常见),请使用 `which uvx` 的绝对路径作为 `command`,例如 `/opt/homebrew/bin/uvx`。
## 开发
克隆仓库进行本地开发,然后同步和测试:
```bash
git clone https://github.com/tread-labs-public/taas_mcp.git
cd taas_mcp
uv sync
uv run pytest
```
直接运行您的本地副本(在推送之前,将客户端指向此命令以测试更改):
```bash
uv run --directory /path/to/taas_mcp taas-mcp
```
## 安全
本地代理拥有风险。Tread 不为这些调用运行服务器端代理——没有自动的保证金管理、变量强制执行或活动救援。请参阅 `tread_operating_guide` 提示以获取操作合同。