Relay MCP Server
Relay
ИИ-агент для операций, который отвечает на основе ваших данных, ссылается на ваши собственные политики и останавливается для человека, прежде чем потратить хоть цент.
1 оркестратор · 2 специалиста · 9 инструментов · 1 запись с подтверждением человека
Операционные команды живут в разрыве. Ответ на вопрос «почему заказ этого клиента не прибыл, и должны ли мы ему деньги?» находится в двух местах одновременно: в базе данных заказов и в документе с политиками, который никто не читал с момента онбординга. Закрытие этого разрыва вручную — это большая часть того, чем занимается агент поддержки весь день.
Relay закрывает его — и показывает свою работу, пока это делает.

Что отличает это от чат-бота
Он читает ваши системы, а не интернет. Девять инструментов запрашивают живую базу данных PostgreSQL. Модели запрещено утверждать любой факт, который не получен из результата инструмента, и каждый вызов виден на экране с его реальной задержкой.
Он отображает продукт, а не прозу. Спросите, что опаздывает, и вы получите таблицу с бейджами статуса и днями задержки. Попросите обзор — и вы получите дашборд. Модель выбирает инструмент; фронтенд управляет тем, как выглядит результат, поэтому вывод всегда хорошо оформлен, независимо от того, что делает модель.
Он ссылается на ваши политики. Загрузите PDF — он будет разбит на фрагменты, встроен и доступен для поиска за секунды. Поиск гибридный — векторное сходство для смысла, полнотекстовый поиск Postgres для точных терминов, таких как SKU, — объединённый с помощью reciprocal rank. Эмбеддинги вычисляются в процессе, поэтому содержимое документов никогда не покидает ваш сервер.
Он не может потратить ваши деньги. Ровно один инструмент выполняет запись. Он находится на оркестраторе, за шлюзом одобрения человека, ограничен суммой заказа и идемпотентен. Ни один специалист не может переводить деньги, и никакое делегирование не может обойти шлюз. Это свойство топологии, а не настройка.
Он подключается к тому, что вы уже используете. Relay также является MCP-сервером. Укажите Claude Desktop, Cursor или другого агента на /api/mcp, и его инструменты чтения станут доступны там — те же инструменты, с теми же данными. Инструмент записи намеренно не раскрывается: шлюз одобрения живёт в интерфейсе Relay, поэтому федерация записи передала бы внешнему клиенту способ обойти его.
Вы можете видеть, как он подключён, в реальном времени. Представление архитектуры — это не диаграмма — узлы загораются вдоль пути, который фактически прошёл запрос, при этом каждый специалист перечисляет вызванные им инструменты и сколько времени они заняли.

Агенты
Агент | Владеет | Инструменты |
Relay (оркестратор) | Маршрутизирует запрос, синтезирует ответ, владеет путём записи | 2 делегирования + 1 запись |
Специалист по операциям | Заказы, отгрузки, клиенты, тикеты, операционный обзор | 7 чтений |
Специалист по знаниям | Библиотека документов, через гибридный поиск | 1 чтение |
Делегирование не для скорости — оно стоит задержки. Оно обеспечивает надёжный выбор инструментов (шесть связанных инструментов лучше, чем четырнадцать несвязанных), чистый контекст для каждого специалиста и структурно изолированный путь записи.
Инструменты
Инструмент | Эффект | Что делает |
| чтение | Заказы, просроченные по ожидаемой дате доставки и не доставленные |
| чтение | Заказы по статусу, клиенту или давности |
| чтение | Один заказ полностью: товары, отгрузка, тикеты, возвраты |
| чтение | Где находится отгрузка, опаздывает ли она и на сколько дней |
| чтение | Тикеты поддержки по статусу, приоритету или категории |
| чтение | Один клиент с историей заказов и тикетов |
| чтение | Количество по статусам, задержки по перевозчикам, 14-дневный тренд объёма |
| чтение | Гибридный поиск по загруженным документам |
| запись | Выпускает возврат. Требуется одобрение человека. Ограничен и идемпотентен. |
Как работает поиск

Приём, один раз на документ: загрузка → извлечение → разбиение на фрагменты (~1000 символов, 150 перекрытие) → встраивание (многоязычный MiniLM, 384d) → хранение в pgvector.
Запрос, каждый вопрос: встраивание → векторный поиск и полнотекстовый поиск параллельно → объединение по reciprocal rank → топ-5 фрагментов с их источником.
Оба поиска, потому что ни один не достаточен по отдельности. Векторное сходство находит фрагмент, который означает то же самое другими словами, и пропускает точный SKU. Полнотекстовый поиск находит точный токен и пропускает перефразировку. RRF объединяет два рейтинга без калибровки оценок между несопоставимыми системами.
Встраиватель многоязычен намеренно: англоязычная модель оценивает испанский вопрос против английской политики в 0.18, едва выше 0.02, который она даёт несвязанному тексту. Кросс-язычный поиск молча возвращал бы шум. Многоязычная модель оценивает ту же пару в 0.43.
Запуск
Требования: Node 22+, Docker и API-ключ от DeepSeek или Anthropic.
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-ключ, который хранится только в вашем браузере, отправляется как заголовок запроса, передаётся этому провайдеру и отбрасывается. Он никогда не записывается в базу данных, никогда не логируется и никогда не появляется в журнале аудита.
Команда | Что делает |
| Запустить / остановить 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, игнорируются git. Этот репозиторий публичный — ни один ключ, токен или строка подключения не должны находиться в отслеживаемом файле.
Демо-набор данных полностью сгенерирован. 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