Relay MCP Server
Relay
一个AI运营代理,从您自己的数据中回答问题,引用您自己的政策,并在花一分钱之前停下来等待人类批准。
1个编排器 · 2个专家 · 9个工具 · 1个人类批准的写操作
运营团队通常处于一个缺口之中。对于“为什么这个客户的订单还没到,我们是否欠他们钱?”这个问题的答案,同时存在于两个地方:订单数据库和一份自入职以来没人读过的政策文档。手动填补这个缺口是客服人员一天中的大部分工作。
Relay填补了这个缺口——并且在执行时展示其工作过程。

这与聊天机器人有何不同
它读取的是您的系统,而不是互联网。 九个工具查询实时PostgreSQL数据库。模型被禁止陈述任何并非来自工具结果的事实,并且每次调用都在屏幕上可见,并显示真实延迟。
它呈现产品,而非文字。 询问哪些订单延迟了,您会得到一个包含状态徽章和延迟天数的表格。询问概览,您会得到一个仪表板。模型选择工具;前端负责结果的外观,因此无论模型做什么,输出始终格式良好。
它引用您的政策。 上传PDF后,它会在几秒钟内被分块、嵌入并变为可搜索。检索是混合的——向量相似度用于语义,PostgreSQL全文搜索用于精确术语(如SKU)——通过倒数排名融合。嵌入是进程内计算的,因此文档内容永远不会离开您的服务器。
它无法花费您的钱。 只有一个工具可以写入。它位于编排器上,位于人类审批门之后,上限为订单总额,并且是幂等的。没有专家可以移动资金,再多的委托也无法绕过这个门。这是拓扑结构的一个属性,而不是一个设置。
它可以接入您已经使用的工具。 Relay也是一个MCP服务器。将Claude Desktop、Cursor或其他代理指向/api/mcp,它的读取工具就可以在那里使用——相同的工具,针对相同的数据。写入工具故意不暴露:审批门位于Relay的界面中,因此将写入操作联邦化会让外部客户端绕过它。
您可以实时看到它如何连接。 架构视图不是图表——节点会沿着请求实际经过的路径亮起,每个专家列出它调用的工具及其耗时。

代理
代理 | 负责 | 工具 |
Relay(编排器) | 路由请求,综合答案,拥有写入路径 | 2个委托 + 1个写入 |
运营专家 | 订单、发货、客户、工单、运营概览 | 7个读取 |
知识专家 | 文档库,通过混合检索 | 1个读取 |
委托不是为了速度——它需要付出延迟代价。它带来可靠的工具选择(六个相关工具胜过十四个不相关的工具)、每个专家独立的清晰上下文,以及结构上隔离的写入路径。
工具
工具 | 效果 | 作用 |
| 读取 | 超过预计交货日期且未送达的订单 |
| 读取 | 按状态、客户或最近时间搜索订单 |
| 读取 | 完整查看一个订单:商品、发货、工单、退款 |
| 读取 | 查看发货位置、是否延迟及延迟天数 |
| 读取 | 按状态、优先级或类别搜索支持工单 |
| 读取 | 查看一个客户及其订单和工单历史 |
| 读取 | 按状态统计、按承运商统计延迟、14天数量趋势 |
| 读取 | 对上传文档进行混合检索 |
| 写入 | 发起退款。需要人类审批。有上限且幂等。 *** |
检索工作原理

摄取,每个文档一次:上传 → 提取 → 分块(约1000字符,150重叠) → 嵌入(多语言MiniLM,384维) → 存储到pgvector。
查询,每个问题:嵌入 → 向量搜索 和 全文搜索并行 → 通过倒数排名融合 → 返回前5个段落及其来源。
两种搜索并行,因为单独一种都不够。向量相似度可以找到含义相同但用词不同的段落,但会错过精确的SKU。全文搜索找到精确的标记,但错过同义改写。RRF融合两种排名,无需在不可比较的系统之间校准分数。
嵌入器特意采用了多语言:一个仅英文的模型将西班牙语问题与英文政策进行评分时得分0.18,仅略高于不相关文本的0.02。跨语言检索会悄无声息地返回噪声。而多语言模型对同一对的评分为0.43。
运行
要求: Node 22+、Docker,以及来自DeepSeek或Anthropic的API密钥。
npm install # also generates the Prisma client
cp .env.example .env # set RELAY_PROVIDER and the matching key
npm run db:up # PostgreSQL + pgvector on port 5440
npm run db:push # create the schema
npm run db:seed # demo dataset + policy documents
npm run dev自带密钥。 控制台中的“设置”选项卡接受一个API密钥,该密钥仅存储在您的浏览器中,作为请求头发送,转发给该提供商并丢弃。它永远不会写入数据库,永远不会被记录,也永远不会出现在审计跟踪中。
命令 | 作用 |
| 启动/停止PostgreSQL |
| 清空并重新播种所有数据 |
| 仅重置文档库 |
| 重新构建案例研究PDF |
种子数据是确定性的——每次运行相同的订单、延迟和工单——并且日期是相对于当前时间生成的,因此数据永远不会显得过时。
尝试一下
可供上传的示例文档位于docs/sample-uploads/,每个文档后附有要问的问题和正确答案。其中一个文档故意与某个种子政策矛盾,这正是真实客户中会发生的情况。
项目布局
prisma/
schema.prisma Data model — one datastore
seed.ts Deterministic business dataset
seed-documents.ts Policy documents into the knowledge base
src/
app/api/chat/route.ts The agent endpoint
lib/
agents.ts Orchestrator + specialists, delegation tools
tools.ts The 9 tools
rag/ Chunking, ingestion, hybrid search
embeddings.ts Local multilingual embedder
audit.ts Tool call recording
model.ts Provider resolution, bring-your-own-key
components/
console.tsx The one-panel console
architecture.tsx Live architecture canvas
renders/ Generative UI: tables, records, charts通过MCP连接
// claude_desktop_config.json
{
"mcpServers": {
"relay": { "url": "http://localhost:3000/api/mcp" }
}
}八个读取工具可用:订单、发货、客户、工单、运营概览和混合文档搜索。issue_refund被有意排除——读取操作可以安全地联邦化,写入操作则留在人类审批门之后。
部署
自托管。一个独立的Next.js构建和一个PostgreSQL容器,位于反向代理之后。无需托管平台,也无供应商锁定。
安全
.env和所有.env.*(除了.env.example)都被gitignore忽略。此仓库是公开的——任何密钥、令牌或连接字符串都不应出现在被跟踪的文件中。
演示数据集是完全生成的。Harbor & Pine是虚构的;其中的任何客户、订单、地址或退款都不指向真实人物。
文档
文档 | 面向对象 |
完整的技术文档 | |
| |
西班牙语版本 | |
带有预期答案的测试文档 |
由以下团队构建
IKOM — Haziel Zul 和 Jorge Bustos。
Relay是一个展示性构建。Harbor & Pine是一个虚构品牌,其数据是生成的;架构、代码和数字是真实的,并且可以在演示中重现。
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Snozu/relay'
If you have feedback or need assistance with the MCP directory API, please join our Discord server