Relay MCP Server
Relay
AIオペレーションエージェント。自社データから回答し、自社ポリシーを引用し、1セントでも使う前に人間が確認します。
1 オーケストレーター · 2 スペシャリスト · 9 ツール · 1 人間承認ゲート付き書き込み
オペレーションチームはギャップの中で働いています。「なぜこの顧客の注文が届いていないのか、そして私たちは彼らに返金すべきなのか?」という問いの答えは、注文データベースと、オンボーディング以来誰も読んでいないポリシードキュメントの2か所に同時に存在します。このギャップを手作業で埋めることが、サポートエージェントの一日の大半を占めています。
Relayはそれを埋めます。そして、その作業内容を表示しながら行います。

通常のチャットボットとの違い
インターネットではなく、あなたのシステムを読み取ります。 9つのツールが稼働中のPostgreSQLデータベースをクエリします。モデルはツールの結果から得られなかった事実を述べることを禁止されており、すべての呼び出しは実際のレイテンシとともに画面上に表示されます。
散文ではなく、プロダクトをレンダリングします。 遅延しているものを尋ねると、ステータスバッジと遅延日数を含むテーブルが表示されます。概要を求めるとダッシュボードが表示されます。モデルがツールを選択し、フロントエンドが結果の見た目を決定するため、モデルが何をしても出力は常に適切にフォーマットされます。
自社ポリシーを引用します。 PDFをアップロードすると、数秒でチャンク化、埋め込み、検索可能になります。検索はハイブリッド方式です。意味的な類似性のためのベクトル類似度と、SKUのような正確な用語のためのPostgreSQL全文検索を、相互ランク融合で統合します。埋め込みはプロセス内で計算されるため、ドキュメントの内容がサーバー外に出ることはありません。
あなたのお金を使うことはできません。 書き込みを行うツールは正確に1つだけです。それはオーケストレーター上にあり、人間の承認ゲートの背後にあり、注文合計額に上限があり、冪等性があります。スペシャリストは資金を動かすことができず、いかなる委任もゲートを迂回することはできません。これは設定ではなく、トポロジーの特性です。
既存のツールに接続できます。 RelayはMCPサーバーとしても機能します。Claude Desktop、Cursor、または他のエージェントを/api/mcpに向けると、読み取りツールがそこで利用可能になります。同じツール、同じデータに対するものです。書き込みツールは意図的に公開されていません。承認ゲートはRelayのインターフェースに存在するため、書き込みを連携させると外部クライアントにそれを回避する手段を与えることになります。
配線をライブで確認できます。 アーキテクチャビューは図ではなく、リクエストが実際にたどった経路に沿ってノードが光り、各スペシャリストが呼び出したツールとその所要時間が表示されます。

Related MCP server: postgres-mcp-query-tool
エージェント
エージェント | 担当 | ツール |
Relay (オーケストレーター) | リクエストのルーティング、回答の合成、書き込みパスの管理 | 2 委任 + 1 書き込み |
オペレーションスペシャリスト | 注文、出荷、顧客、チケット、オペレーション概要 | 7 読み取り |
ナレッジスペシャリスト | ハイブリッド検索によるドキュメントライブラリ | 1 読み取り |
委任は速度のためではありません。レイテンシがかかります。その代わりに、信頼性の高いツール選択(6つの関連ツールは14の無関係なツールより優れている)、スペシャリストごとのクリーンなコンテキスト、そして構造的に分離された書き込みパスを提供します。
ツール
ツール | 効果 | 機能 |
| 読み取り | 推定配達日を過ぎても配達されていない注文 |
| 読み取り | ステータス、顧客、または最近の注文 |
| 読み取り | 1件の注文の詳細:商品、出荷、チケット、返金 |
| 読み取り | 出荷の現在地、遅延の有無と日数 |
| 読み取り | ステータス、優先度、カテゴリ別サポートチケット |
| 読み取り | 1件の顧客の注文履歴とチケット履歴 |
| 読み取り | ステータス別件数、キャリア別遅延、14日間のボリュームトレンド |
| 読み取り | アップロードされたドキュメントのハイブリッド検索 |
| 書き込み | 返金を発行します。人間の承認が必要です。上限あり、冪等性あり。 |
検索の仕組み

取り込み、ドキュメントごとに1回:アップロード → 抽出 → チャンク化(約1000文字、150オーバーラップ) → 埋め込み(多言語MiniLM、384次元) → pgvectorに保存。
クエリ、質問ごとに:埋め込み → ベクトル検索 および 全文検索を並行実行 → 相互ランク融合で統合 → ソース付きの上位5つのパッセージ。
どちらか一方だけでは不十分だからです。ベクトル類似度は異なる言葉で同じ意味を持つパッセージを見つけますが、正確なSKUを見逃します。全文検索は正確なトークンを見つけますが、言い換えを見逃します。RRFは、比較不可能なシステム間でスコアを調整することなく、2つのランキングを統合します。
埋め込みモデルは意図的に多言語対応です。英語のみのモデルでは、スペイン語の質問と英語のポリシーを照合した場合のスコアは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 devhttp://localhost:3000 を開きます。
ご自身のキーをお持ちください。 コンソールの設定タブでは、APIキーを受け付けます。このキーはブラウザにのみ保存され、リクエストヘッダーとして送信され、プロバイダーに転送された後は破棄されます。データベースに書き込まれることはなく、ログに記録されることもなく、監査証跡に表示されることもありません。
コマンド | 機能 |
| PostgreSQLの起動 / 停止 |
| すべてをワイプして再シード |
| ドキュメントライブラリのみリセット |
| ケーススタディPDFを再構築 |
シードは決定論的です(実行ごとに同じ注文、遅延、チケット)。日付は現在時刻を基準に生成されるため、データが古く見えることはありません。
試してみる
アップロード用のサンプルドキュメントはdocs/sample-uploads/にあります。各ドキュメントの後に尋ねる質問と正解も記載されています。そのうちの1つは、シードされたポリシーと意図的に矛盾しています。これは実際のクライアントで発生するケースです。
プロジェクト構成
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, chartsMCP経由での接続
// claude_desktop_config.json
{
"mcpServers": {
"relay": { "url": "http://localhost:3000/api/mcp" }
}
}8つの読み取りツールが利用可能になります:注文、出荷、顧客、チケット、オペレーション概要、ハイブリッドドキュメント検索。issue_refundは設計上存在しません。読み取りは連携しても安全ですが、書き込みは人間のゲートの背後に留まります。
デプロイメント
セルフホスト。スタンドアロンのNext.jsビルドと、リバースプロキシの背後にあるPostgreSQLコンテナ。管理プラットフォームは不要で、ベンダーロックインもありません。
セキュリティ
.envおよび.env.exampleを除くすべての.env.*はgitignoreされています。このリポジトリは公開されています。キー、トークン、接続文字列は追跡対象のファイルに含めてはいけません。
デモデータセットは完全に生成されたものです。Harbor & Pineは架空のブランドであり、そこに含まれる顧客、注文、住所、返金は実在の人物を指すものではありません。
ドキュメント
ドキュメント | 対象 |
完全な技術文書 | |
| |
スペイン語版 | |
期待される回答付きテストドキュメント |
制作
IKOM — Haziel Zul と Jorge Bustos。
Relayはショーケースビルドです。Harbor & Pineは架空のブランドであり、そのデータは生成されたものです。アーキテクチャ、コード、数値はすべて本物であり、デモで再現可能です。
This server cannot be deployed
Maintenance
Related MCP Connectors
Analytical memory for AI agents: a real Postgres queried in plain English over MCP. One command.
Guard AI agents' PostgreSQL/MySQL access via MCP: SQL audit, auth, masking, write approval
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query your org's data in natural language — read-only MCP access to SQL, NoSQL, files & warehouses.
Related MCP Servers
- AlicenseAqualityBmaintenanceAn 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.115MIT
- FlicenseNot gradedqualityDmaintenanceAn 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.-
- AlicenseNot gradedqualityDmaintenanceA 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
- FlicenseAqualityBmaintenanceAn MCP server that enables AI agents to securely interact with PostgreSQL databases with least-privilege scopes, PII masking, and human approval for writes.4-