Skip to main content
Glama
Snozu

Relay MCP Server

by Snozu

Relay

一个AI运营代理,从您自己的数据中回答问题,引用您自己的政策,并在花一分钱之前停下来等待人类批准。

Next.js AI SDK PostgreSQL TypeScript 自托管

1个编排器 · 2个专家 · 9个工具 · 1个人类批准的写操作


运营团队通常处于一个缺口之中。对于“为什么这个客户的订单还没到,我们是否欠他们钱?”这个问题的答案,同时存在于两个地方:订单数据库和一份自入职以来没人读过的政策文档。手动填补这个缺口是客服人员一天中的大部分工作。

Relay填补了这个缺口——并且在执行时展示其工作过程。

Relay控制台在请求处理中


这与聊天机器人有何不同

它读取的是您的系统,而不是互联网。 九个工具查询实时PostgreSQL数据库。模型被禁止陈述任何并非来自工具结果的事实,并且每次调用都在屏幕上可见,并显示真实延迟。

它呈现产品,而非文字。 询问哪些订单延迟了,您会得到一个包含状态徽章和延迟天数的表格。询问概览,您会得到一个仪表板。模型选择工具;前端负责结果的外观,因此无论模型做什么,输出始终格式良好。

它引用您的政策。 上传PDF后,它会在几秒钟内被分块、嵌入并变为可搜索。检索是混合的——向量相似度用于语义,PostgreSQL全文搜索用于精确术语(如SKU)——通过倒数排名融合。嵌入是进程内计算的,因此文档内容永远不会离开您的服务器。

它无法花费您的钱。 只有一个工具可以写入。它位于编排器上,位于人类审批门之后,上限为订单总额,并且是幂等的。没有专家可以移动资金,再多的委托也无法绕过这个门。这是拓扑结构的一个属性,而不是一个设置。

它可以接入您已经使用的工具。 Relay也是一个MCP服务器。将Claude Desktop、Cursor或其他代理指向/api/mcp,它的读取工具就可以在那里使用——相同的工具,针对相同的数据。写入工具故意不暴露:审批门位于Relay的界面中,因此将写入操作联邦化会让外部客户端绕过它。

您可以实时看到它如何连接。 架构视图不是图表——节点会沿着请求实际经过的路径亮起,每个专家列出它调用的工具及其耗时。

实时架构视图


Related MCP server: postgres-mcp-query-tool

代理

代理

负责

工具

Relay(编排器)

路由请求,综合答案,拥有写入路径

2个委托 + 1个写入

运营专家

订单、发货、客户、工单、运营概览

7个读取

知识专家

文档库,通过混合检索

1个读取

委托不是为了速度——它需要付出延迟代价。它带来可靠的工具选择(六个相关工具胜过十四个不相关的工具)、每个专家独立的清晰上下文,以及结构上隔离的写入路径。

工具

工具

效果

作用

find_delayed_orders

读取

超过预计交货日期且未送达的订单

search_orders

读取

按状态、客户或最近时间搜索订单

get_order

读取

完整查看一个订单:商品、发货、工单、退款

track_shipment

读取

查看发货位置、是否延迟及延迟天数

search_tickets

读取

按状态、优先级或类别搜索支持工单

get_customer

读取

查看一个客户及其订单和工单历史

get_operations_summary

读取

按状态统计、按承运商统计延迟、14天数量趋势

search_knowledge

读取

对上传文档进行混合检索

issue_refund

写入

发起退款。需要人类审批。有上限且幂等。 ***

检索工作原理

检索管道

摄取,每个文档一次:上传 → 提取 → 分块(约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

打开 http://localhost:3000。

自带密钥。 控制台中的“设置”选项卡接受一个API密钥,该密钥仅存储在您的浏览器中,作为请求头发送,转发给该提供商并丢弃。它永远不会写入数据库,永远不会被记录,也永远不会出现在审计跟踪中。

命令

作用

npm run db:up / db:down

启动/停止PostgreSQL

npm run db:reset

清空并重新播种所有数据

npm run db:seed:docs

仅重置文档库

npm run docs:pdf

重新构建案例研究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是虚构的;其中的任何客户、订单、地址或退款都不指向真实人物。


文档

文档

面向对象

案例研究 (英文)

完整的技术文档

MCP暴露 · (西班牙语)

/api/mcp如何构建、暴露什么以及不暴露什么

案例研究 (西班牙语)

西班牙语版本

示例上传

带有预期答案的测试文档

由以下团队构建

IKOM — Haziel Zul 和 Jorge Bustos。

Relay是一个展示性构建。Harbor & Pine是一个虚构品牌,其数据是生成的;架构、代码和数字是真实的,并且可以在演示中重现。

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    An MCP server that gives AI agents direct read-only access to PostgreSQL databases, enabling natural language analytics through tools for schema exploration, querying, trend analysis, and data quality checks.
    11
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that gives an AI agent scoped, safe access to your Postgres databases with per-connection access control, row caps, timeouts, and defense-in-depth read-only enforcement.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A read-only natural-language database agent that exposes PostgreSQL schema-discovery and SELECT tools via MCP, enabling users to query databases in plain English.
    MIT
  • F
    license
    A
    quality
    B
    maintenance
    An MCP server that enables AI agents to securely interact with PostgreSQL databases with least-privilege scopes, PII masking, and human approval for writes.
    4
    -