Skip to main content
Glama

Deploy with Vercel


Архитектура

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 pay

Parley никогда не пишет в вашу базу данных. Каждый заказ проходит через ваш собственный 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-эндпоинта:

Эндпоинт

Что он должен делать

Пример

Поиск товаров

Возвращать ваш каталог, чтобы агент мог найти товары

GET /api/products

Получить товар

Возвращать один товар с его живым наличием

GET /api/products/:id

Создать заказ

Зарезервировать наличие и вернуть идентификатор заказа

POST /api/orders

Ещё один — необязательный: эндпоинт статуса заказа. Если его не задать, 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 возвращает 1499 для товара за ₹1,499

PRICE_UNIT=major

Ваш API возвращает 149900 для товара за ₹1,499

PRICE_UNIT=minor

→ Всё остальное: 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=xxxxx

5 · Запуск локально

npm run dev

Откройте http://localhost:3000 и проверьте:

  • Нет предупреждения «Configuration incomplete»

  • Карточки возможностей показывают зелёный цвет

  • Цены соответствуют вашему реальному каталогу

npm run test:regression

6 · Деплой

npx vercel --prod

⚠️ Повторно введите каждую переменную в Vercel → Settings → Environment Variables, затем передеплойте. .env.local не загружается.

7 · Скопируйте вашу MCP-ссылку

Откройте ваш развёрнутый URL. Нажмите Copy рядом с MCP-эндпоинтом.

https://your-project.vercel.app/api/mcp

8 · Подключение к 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

Документация

Лицензия

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    5
    2
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables 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.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables 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