内容
<div align="center">
<img src="https://raw.githubusercontent.com/valtors/relay-landing/master/assets/images/relay-logo.png" alt="Relay logo" width="160" />
# Relay
本地MCP服务器,支持文件、图片、PDF、网页和工作流。
[](https://github.com/valtors/relay/actions/workflows/ci.yml)
[](https://www.npmjs.com/package/userelay)
[](LICENSE)
[](go.mod)
[](https://github.com/valtors/relay/stargazers)
[](https://www.npmjs.com/package/userelay)
[](https://github.com/valtors/relay/releases)
</div>
---
## 安装
```bash
npx userelay
```
在本地运行。您的文件保留在您的机器上。
---
## 功能
- 运行一个MCP服务器,包含40种工具,分为7类。
- 读取和写入本地文件。
- 调整图片大小、裁剪、转换、旋转、灰度化和翻转。
- 从PDF中提取文本、统计页数、合并文件、拆分文件和提取页面。
- 获取网页并检查状态码。
- 转换CSV、JSON、markdown、base64和regex输出。
- 与Claude Desktop、Cursor、VS Code等MCP客户端配合使用。
- 默认支持stdio,可通过`--http`启用HTTP。
- 当存在`ANTHROPIC_API_KEY`时,启用内置工作流工具。
无需安装多个单一用途的服务器。一个二进制文件即可。
---
## 快速入门
### 1. 检查二进制文件
如果您想使用一次性命令而不是启动stdio服务器,请先使用`status`。
```bash
npx userelay status
```
```text
relay v0.3.0
tools: 40 registered (7 categories)
transport: stdio (default) | http (with --http)
```
### 2. 检测支持的编辑器
```bash
npx userelay init --list
```
```text
relay init --list
detected editors:
1. Cursor
2. VS Code
```
如果您的编辑器在列表中,请写入配置文件:
```bash
npx userelay init
```
### 3. 验证本地二进制文件
如果您从源代码或发布版安装了Relay,`relay status`将打印相同的信息:
```bash
relay status
```
```text
╭─────────────────────────────────╮
│ relay vdev │
│ │
│ Tools: 40 (7 categories) │
│ Transport: stdio | http │
│ Status: ready │
╰─────────────────────────────────╯
```
### 4. 尝试一个结果
使用以下提示您的MCP客户端:
> 将`./screenshots/hero.png`调整为1200px宽,并保存为`./screenshots/hero-large.png`。
如果成功,Relay就启动了。
---
## 尝试的工作流
### 1. 研究仓库或文档页面
**提示**
> 获取`https://github.com/pdfcpu/pdfcpu`,总结其功能,列出3个值得尝试的命令,并将笔记保存到`./notes/pdfcpu-summary.md`。
**Relay工具**
- `web_fetch`
- `file_write`
- 文本格式化工具(按需)
**预期结果**
一个本地的markdown摘要,您的代理可以稍后重用。
### 2. 将本地PDF转换为结构化数据
**提示**
> 读取`./invoices`中的每个PDF,提取文本,提取所有美元金额,并将一个JSON文件保存到`./invoices/amounts.json`。
**Relay工具**
- `file_list`
- `pdf_extract_text`
- `data_json_format`
- `file_write`
**预期结果**
一个JSON文件,而不是从PDF中手动复制粘贴。
### 3. 获取网页并生成可用产物
**提示**
> 获取`https://example.com/pricing`,将重要点转换为markdown,将markdown转换为HTML,并保存为`./research/pricing.html`。
**Relay工具**
- `web_fetch`
- `text_md_to_html`
- `file_write`
**预期结果**
一个可以直接打开、审阅和分享的文件。
---
## 工具
Relay包含40种工具,分为7类。
| 类别 | 工具 |
|---|---|
| 文件(7) | read, write, list, size, hash, zip, unzip |
| 图片(7) | info, resize, crop, convert, rotate, grayscale, flip |
| PDF(6) | info, page count, extract text, extract pages, merge, split |
| 文本(6) | word count, replace, extract regex, base64 encode, base64 decode, md to html |
| 数据(4) | csv to json, json to csv, format json, query json |
| 网页(2) | fetch, status |
| 工作流(8) | run workflow, PM plan, research, brand, UX, GTM, approval, assemble plan |
从CLI列出它们:
```bash
relay tools
relay tools --json
```
---
## 客户端配置
最佳选项:使用`relay init`。
它为检测到的编辑器写入正确的JSON格式,并使用已安装的二进制文件路径。如果您想手动粘贴配置,请使用下面的代码片段。它们假设`relay`已经在您的`PATH`中。如果您的客户端无法找到它,请用`which relay`或`where relay`的完整路径替换`"relay"`。
### Claude Desktop
**macOS**
`~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**
`%APPDATA%\Claude\claude_desktop_config.json`
**Linux**
`~/.config/Claude/claude_desktop_config.json`
```json
{
"mcpServers": {
"relay": {
"command": "relay"
}
}
}
```
### Cursor
**项目配置**
`<project>/.cursor/mcp.json`
**全局配置**
`~/.cursor/mcp.json` 或 `%USERPROFILE%\.cursor\mcp.json`
```json
{
"mcpServers": {
"relay": {
"command": "relay"
}
}
}
```
### VS Code
**项目配置**
`<project>/.vscode/mcp.json`
```json
{
"servers": {
"relay": {
"command": "relay"
}
}
}
```
### 可选工作流工具
大多数Relay工具不需要API密钥。
如果您想要内置的规划和工作流工具(`run_workflow`、`pm_plan`、`run_research`、`run_brand`、`run_ux`、`run_gtm`、`assemble_plan`),请在`env`下添加`ANTHROPIC_API_KEY`:
```json
{
"mcpServers": {
"relay": {
"command": "relay",
"env": {
"ANTHROPIC_API_KEY": "your-key-here"
}
}
}
}
```
---
## 比较
| 功能 | Relay | 拼接服务器 |
|---|---:|---:|
| 一键安装 | ✓ | — |
| 单仓库/二进制文件 | ✓ | — |
| 40种内置工具 | ✓ | — |
| 分钟级首次结果 | ✓ | — |
| 本地文件工作流 | ✓ | — |
| 跨平台发布 | ✓ | — |
| 低运维开销 | ✓ | — |
---
## CLI参考
```text
relay 启动stdio模式下的MCP服务器
relay start 与上述相同
relay start --http 通过Streamable HTTP提供服务
relay init 检测编辑器并写入配置
relay init --list 显示检测到的编辑器
relay tools 列出所有工具
relay tools --json 列出所有工具的JSON格式
relay status 版本、工具数量、传输方式
relay version 打印版本
relay help 使用信息
```
---
## 开发
```bash
git clone https://github.com/valtors/relay
cd relay
go test ./...
go run . status
go run .
```
添加工具:[docs/ADDING_A_TOOL.md](docs/ADDING_A_TOOL.md)
安装替代方案:
```bash
curl -fsSL https://raw.githubusercontent.com/valtors/relay/main/scripts/install.sh | sh
```
```powershell
irm https://raw.githubusercontent.com/valtors/relay/main/scripts/install.ps1 | iex
```
```bash
go install github.com/valtors/relay@latest
```
---
## 路线图
目前已完成:
- 40种内置工具
- 跨平台安装脚本
- stdio和HTTP的MCP服务器
- 编辑器配置助手,附带`relay init`
- GoReleaser和CI
接下来:
- 更完善的引导资产
- demo GIF
- 更多验证的启动工作流
- 更深入的编排(如果它能明显改善实际使用)
---
## 许可证
MIT。参见 [LICENSE](LICENSE)。
由 [Tamish](https://github.com/tamish560) 在 [Valtors](https://github.com/valtors) 构建。如果Relay节省了设置时间,请给仓库加星。