Parley
Архитектура
flowchart LR
subgraph EXT [ Their AI client ]
direction TB
BA[Buyer agent<br/><i>Claude · ChatGPT · Gemini</i>]
end
subgraph PARLEY [ Your Parley deployment ]
direction TB
WK[".well-known/<br/>agent-commerce.json"]
MCP["MCP endpoint<br/><b>/api/mcp</b>"]
TOOLS["9 tools<br/><i>search · stock · order<br/>mandate · audit</i>"]
SELLER["Seller agent<br/><i>persona + limits</i>"]
DASH["Dashboard<br/><b>/dashboard</b>"]
PG[("Postgres<br/>audit_log · mandates")]
end
subgraph STORE [ Your existing store ]
direction TB
API1["GET search"]
API2["GET product"]
API3["POST order"]
end
RZP[["Razorpay<br/>payment link"]]
U([Customer])
U --> BA
BA <-->|"discovers"| WK
BA <-->|"JSON-RPC"| MCP
MCP --> TOOLS
TOOLS <--> SELLER
TOOLS -->|"read"| API1
TOOLS -->|"read"| API2
TOOLS -->|"write"| API3
TOOLS -->|"log every decision"| PG
TOOLS -->|"needs approval"| RZP
PG --> DASH
classDef ext fill:#1e293b,stroke:#475569,color:#e2e8f0
classDef core fill:#0f2942,stroke:#2563eb,color:#dbeafe
classDef store fill:#0f2e1f,stroke:#16a34a,color:#dcfce7
classDef pay fill:#2e1f0f,stroke:#d97706,color:#fed7aa
class BA ext
class WK,MCP,TOOLS,SELLER,DASH,PG core
class API1,API2,API3 store
class RZP payParley никогда не пишет в вашу базу данных. Каждый заказ проходит через ваш собственный API.
Related MCP server: Mercora
Как происходит покупка
sequenceDiagram
autonumber
actor C as Customer
participant B as Buyer agent
participant P as Parley
participant S as Your store
participant R as Razorpay
C->>B: "Buy a navy tee under ₹1500"
B->>P: search_products
P->>S: GET search
S-->>P: catalog
P-->>B: normalized products
B->>P: check_stock
P->>S: GET product (live, never cached)
S-->>P: stock: 8
B->>P: create_order_and_pay
Note over P: discount clamped in code
P->>S: POST order
alt Out of stock
S-->>P: 409 out_of_stock
P-->>B: blocked · nothing charged
else Store is down
S-->>P: 5xx
P-->>B: unavailable · try again
else Accepted
S-->>P: order_id
alt Mandate covers the amount
P->>P: charge against cap
P-->>B: completed · no human needed
else No mandate
P->>R: create payment link
R-->>P: link
P-->>B: awaiting approval
B-->>C: pay here →
end
end
P->>P: write audit_log rowПеред началом
Parley не управляет вашим магазином. Он общается с магазином, который у вас уже есть.
Почти у каждого бизнеса в интернете уже есть веб-сайт, а за этим сайтом стоят настоящие API — те же конечные точки, которые ваш собственный сайт вызывает для вывода списка товаров, проверки наличия и размещения заказов. Parley подключается к ним. Это единственное жёсткое требование.
Вам нужны три HTTP-эндпоинта:
Эндпоинт | Что он должен делать | Пример |
Поиск товаров | Возвращать ваш каталог, чтобы агент мог найти товары |
|
Получить товар | Возвращать один товар с его живым наличием |
|
Создать заказ | Зарезервировать наличие и вернуть идентификатор заказа |
|
Ещё один — необязательный: эндпоинт статуса заказа. Если его не задать, Parley повторно использует ваш API заказов.
Имена полей и формат JSON — на ваше усмотрение: вы сопоставляете их в конфигурации, а не в коде, поэтому ни один существующий эндпоинт не нужно переписывать под Parley.
Если у вас ещё нет этих API, Parley не к чему подключаться. Он никогда не скрейпит ваш сайт и никогда не читает вашу базу данных напрямую. Сначала откройте три эндпоинта, а затем вернитесь к шагам ниже.
Быстрый старт
1 · Клонирование
git clone https://github.com/Mudavath-Giri-Naik/Parley.git
cd Parley
npm installТребуется Node 20+
2 · Настройка
cp .env.example .env.localЗадайте эти четыре:
MERCHANT_NAME="Your Store"
MERCHANT_SEARCH_API=https://yourstore.com/api/products
MERCHANT_STOCK_API=https://yourstore.com/api/products
MERCHANT_ORDER_API=https://yourstore.com/api/ordersЗатем установите PRICE_UNIT в соответствии с вашим API:
Ваш API возвращает |
|
Ваш API возвращает |
|
→ Всё остальное: docs/CONFIGURATION.md
3 · Добавьте базу данных
Любой Postgres. Подойдут бесплатные Supabase или Neon.
Выполните supabase/0001_shared_schema.sql — он создаёт таблицы, роль parley_app и политики изоляции на уровне строк. Каждая строка его проверочного запроса должна читаться как PASS.
PARLEY_DB_URL=postgresql://parley_app:pass@host:5432/db?sslmode=requireПодключайтесь как
parley_app, а не как суперпользователь. Суперпользователь обходит безопасность на уровне строк, что незаметно удаляет слой изоляции.На Supabase используйте строку подключения pooler (Project Settings → Database → Connection pooling). Прямой хост
db.<ref>.supabase.coподдерживает только IPv6 и не будет разрешаться в большинстве IPv4-сетей.
4 · Добавьте платёжные ключи
Из вашей панели Razorpay → Settings → API Keys.
RAZORPAY_KEY_ID=rzp_test_xxxxx
RAZORPAY_KEY_SECRET=xxxxx5 · Запуск локально
npm run devОткройте http://localhost:3000 и проверьте:
Нет предупреждения «Configuration incomplete»
Карточки возможностей показывают зелёный цвет
Цены соответствуют вашему реальному каталогу
npm run test:regression6 · Деплой
npx vercel --prod⚠️ Повторно введите каждую переменную в Vercel → Settings → Environment Variables, затем передеплойте.
.env.localне загружается.
7 · Скопируйте вашу MCP-ссылку
Откройте ваш развёрнутый URL. Нажмите Copy рядом с MCP-эндпоинтом.
https://your-project.vercel.app/api/mcp8 · Подключение к Claude
Settings → Connectors → Add custom connector → вставьте URL → Add.
Документация по коннекторам Claude · Для ChatGPT см. документацию OpenAI по MCP — здесь не тестировалось
9 · Тестирование
Вставьте в чат:
Show me what's in stock right now, with prices.
Then check live availability for one of them.Затем откройте /dashboard — каждый вызов отображается с его обоснованием.
Что встроено
🔒 Потолок скидок | Задан в коде, а не в промпте |
💳 Лимиты расходов | Автоматические покупки только в пределах авторизованного клиентом лимита |
📦 Живое наличие | Никогда не кэшируется, проверяется перед каждым обещанием |
📝 Полный журнал аудита | Каждое решение записывается с пояснением на простом языке |
🔌 Любая форма API | Имена полей сопоставляются через конфигурацию, а не код |
🤝 Переговоры | Опционально, через Claude или Gemini |
Команды
npm run dev # local dev server
npm run build # production build
npm run test:regression # end-to-end suite against a live deployment
npm run check:template # verify no merchant values leaked into source
npm run typecheck # tsc --noEmitСтруктура проекта
app/
api/mcp/route.ts MCP endpoint
dashboard/ audit trail UI
page.tsx status page + copyable MCP link
lib/
config.ts all env vars, validated once
merchantApi.ts field mapping, envelopes, refusals
tools/ one file per tool
sellerAgent.ts negotiation
scripts/
regression.mjs end-to-end testsДокументация
Конфигурация — все переменные окружения, контракт API заказов
Ограничения — известные пробелы, прочтите перед деплоем
Лицензия
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Autonomous commerce for AI agents: discover, quote, order, pay, verify.
Connect AI to store orders, products and inventory with scoped access and human approvals.
AI shopping gateway for product search, inventory, carts, and merchant-hosted checkout.
The independent agent-commerce protocol for AI-agent checkout on any online store.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI agents to autonomously browse inventory, negotiate terms, manage carts, and execute secure payments on Shopify stores using standardized protocols. It provides a bridge for LLMs to handle the entire commerce lifecycle from discovery to order tracking through a verifiable mandate chain.52MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to discover products, build carts, and complete purchases across multiple downstream commerce services through a secure, contract-driven API.-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to browse product catalogs and make purchases through a policy engine that enforces spending limits, requires human approval for certain amounts, and logs all actions to an audit trail.-
- AlicenseNot gradedqualityBmaintenanceEnables AI shopping agents to search products, check stock, apply promotions, manage cart sessions, and create cryptographically signed checkout sessions on e-commerce storefronts, while giving merchants analytics into agent intent and catalog demand gaps.MIT