Skip to main content
Glama

Альфа. v0.1.0-alpha — экспериментальная версия. Не используйте её с реальными средствами без независимого аудита. См. SECURITY.md.


Что это такое, за десять секунд

У вас уже есть HTTP API. ИИ-агенты хотят находить его, вызывать и платить за него — через протоколы, которые вы не писали и не хотите поддерживать.

Agent Commerce Gateway встаёт перед вашим существующим API, в вашей инфраструктуре, и делает это за вас. Вы описываете эндпоинт в YAML-файле; агенты получают MCP-инструмент и x402-пейволл. Деньги идут напрямую в ваш кошелёк — шлюз никогда не держит их у себя и не хранит ваши ключи.

Your existing API → Agent Commerce Gateway → AI Agent
                        MCP · x402 · receipts · doctor

Related MCP server: opendexter

Демо

[agent] Discovering resources over MCP...
[agent] Found: market_report — Premium Market Report (0.01 USDC)
[agent] Requesting resource...

[gateway] Payment required: 0.01 USDC → 0x7099…79C8
[buyer] Signing x402 authorisation...
[gateway] Payment verified
[gateway] Payment settled tx 0x4f2c…9ab1
[gateway] Calling merchant backend...
[gateway] Resource delivered

[receipt] payment: settled
[receipt] amount: 0.01 USDC
[receipt] merchant: 0x7099…79C8
[receipt] buyer balance 100.00 → 99.99 mUSDC
[receipt] merchant balance 0.00 → 0.01 mUSDC

Дашборд на http://localhost:5173 показывает тот же запрос в реальном времени. Он опрашивает аутентифицированный маршрут событий с коротким интервалом, а не через стриминг: браузерный EventSource не может отправить админ-токен, а операторские маршруты без него закрыты — поэтому SSE-эндпоинт доступен клиенту, умеющему отправлять заголовки, но никогда браузеру. Опрос — это штатный путь дашборда, а не ухудшенный режим.

Установка

npx @devlab.group/agent-commerce --help # no install needed
npm install -g @devlab.group/agent-commerce # or install the `agent-commerce` binary
agent-commerce doctor

Требуется Node >= 22. Один пакет содержит две вещи: CLI agent-commerce (init, validate, doctor, demo) и библиотеку для встраивания шлюза в ваш собственный процесс. Стандартная установка — ~49 МБ и не тянет никаких блокчейн- или кошельковых зависимостей.

import { createGateway, loadConfig, receipts } from '@devlab.group/agent-commerce';

const config = await loadConfig({ path: 'config.yaml' });
const gateway = await createGateway({
  config,
  store: receipts({ path: './receipts.sqlite' }),
  paymentProviders: [],
  protocolAdapters: [],
});
const { url } = await gateway.listen;

Опциональные пиры — ставьте только нужные рельсы

MCP-адаптер и x402-провайдер живут на собственных подпутях, потому что каждому нужна зависимость, которой нет в остальном пакете. Один x402 тянет браузерный кошелёчный стек (wagmi, WalletConnect, Reown) примерно на ~572 МБ, который шлюзу, обслуживающему бесплатный HTTP-ресурс, устанавливать незачем.

Что вам нужно

Установка

Импорт

шлюз, конфиг, чеки, CLI

@devlab.group/agent-commerce

from '@devlab.group/agent-commerce'

публиковать ресурсы как MCP-инструменты

+ @modelcontextprotocol/sdk

from '@devlab.group/agent-commerce/mcp'

принимать платежи x402

+ x402 viem

from '@devlab.group/agent-commerce/x402'

npm install @devlab.group/agent-commerce @modelcontextprotocol/sdk x402 viem
import { mcp } from '@devlab.group/agent-commerce/mcp';
import { x402 } from '@devlab.group/agent-commerce/x402';

Пиры закреплены точно: схемы x402 и EIP-712-домены пересекают эту границу, поэтому расхождение версий — это проблема корректности, а не удобства. Импортируете подпуть без установленного пира — и Node падает при загрузке, называя недостающий пакет, — намеренно, а не запускает шлюз, который молча ничего не обслуживает.

Быстрый старт

Требования: Node >= 22, npm 10, Docker. Больше ничего — никаких API-ключей, реальных денег или ручной настройки блокчейна.

git clone <repo> && cd agent-commerce
npm install
docker compose up

Затем, во втором терминале:

npm run agent-commerce -- doctor --config config-demo.yaml # verify the whole stack
npm run demo:agent # watch an agent buy something

Только Linux, и только если ваш пользователь не UID/GID 1000 (проверьте через id -u && id -g): экспортируйте DOCKER_UID=$(id -u) DOCKER_GID=$(id -g) перед docker compose up. Шаг развёртывания цепочки выполняется от этого пользователя, чтобы создаваемый им манифест развёртывания оставался доступным хосту на запись, а не принадлежал root. Docker Desktop на macOS и Windows транслирует права через свою VM, и это не требуется.

Вот и всё. Стек — это приватная цепочка Anvil, мок-токен USDC, демо-мерчант API, шлюз и дашборд — всё локальное и одноразовое.

Чтобы остановить и стереть состояние: docker compose down -v.

Как это работает

        ┌──────────────────────────────────────────────────────┐
        │ AI Agent │
        └──────────────┬───────────────────────────────────────┘
                       │ MCP · HTTP + X-PAYMENT
        ┌──────────────▼───────────────────────────────────────┐
        │ Agent Commerce Gateway (yours) │
        │ │
        │ protocol adapters → ExecutionPipeline → … │
        │ │ │
        │ ┌─────────────────────┼──────────────┐ │
        │ ▼ ▼ ▼ │
        │ PaymentProvider BackendExecutor ReceiptStore │
        │ (x402) (bounded HTTP) (SQLite) │
        └────────┬─────────────────────┬───────────────────────┘
                 │ │
        buyer → merchant ┌──────▼───────────────┐
        (never through us) │ Your backend API │
                                └───────────────────────┘

Каждый протокольный адаптер сходится к одному конвейеру исполнения. Именно это делает принудительную оплату свойством системы, а не тем, о чём должен помнить каждый адаптер. Подробности в docs/architecture.md.

Настройка ресурса

resources:
  market_report:
    name: Premium Market Report
    backend:
      type: http
      method: GET
      url: ${MERCHANT_API_BASE_URL}/api/report
      timeoutMs: 10000
    pricing:
      type: fixed
      amount: "0.01"
      currency: USDC
    expose: [http, mcp]
    payments: [x402]

Вот и вся интеграция. Никакого SDK в вашем бэкенде, никакого переписывания.

npm run agent-commerce -- init # generate a config interactively
npm run agent-commerce -- validate # fails loudly, exits non-zero

См. docs/configuration.md.

Поддержка протоколов

Протокол

Статус

Закреплённая ревизия

MCP

Поддерживается

@modelcontextprotocol/sdk@1.30.0

x402

Поддерживается

x402@1.2.0, схема exact, EVM

HTTP

Поддерживается

нативные маршруты

UCP

Запланировано

ACP · MPP · A2A · AP2

Запланировано

«Запланировано» означает никакого кода для этого не поставляется. Каждый адаптер сообщает собственные supportedSpec, capabilities и список unsupported в рантайме через GET /.well-known/agent-commerce и agent-commerce doctor — так что утверждение проверяемо, а не маркетинг. Подробности: docs/protocols.md.

Модель оплаты

  • Без кастодиального хранения. Шлюз никогда не держит средства и никогда не запрашивает приватный ключ мерчанта или покупателя. payTo — это ваш адрес.

  • Fail closed. Отсутствующие, повреждённые, истёкшие, повторные, неверной суммы, неверному получателю, неверной сети и неверного актива платежи — все отклоняются, у каждого есть тест.

  • Двойная защита от повторов. EIP-3009 останавливает двойное списание в цепочке; шлюз дополнительно резервирует replayKey, производный от авторизации, до того как что-либо расчехлит.

  • Реальное расчехление в CI. Сквозной тест проверяет, что баланс покупателя падает, а баланс мерчанта растёт ровно на цену, с реальным хэшем транзакции в чеке. Строка в логе «платёж успешен» не засчиталась бы.

Подробности: docs/payment-flow.md.

Диагностика

$ npm run agent-commerce -- doctor --config config-demo.yaml

PASS Config valid — 2 resource(s), merchant "Demo Data Store"
PASS Gateway healthy and ready at http://127.0.0.1:8080
PASS Backend 2/2 backend host(s) reachable
PASS Protocols http=on mcp=on (/mcp)
PASS Payments x402 enabled — network=base-sepolia, destination=0x7099…79C8, facilitator=local
INFO Payments (MPP) planned — not implemented in v0.1
PASS Storage sqlite schema v1 writable; receipts=2
PASS Protocol versions reported by gateway /.well-known/agent-commerce

Score: 7/7 checks passed

Это реальный вывод, а не иллюстрация. doctor также перекрёстно проверяет живую конфигурацию расчехления шлюза против того, во что резолвится ваш локальный конфиг, и падает, если они расходятся — диагностика, которая проходит, пока система неправильно сконфигурирована, хуже, чем её отсутствие.

Возвращает ненулевой код, если что-то не так. --json — для машин.

Доступ и открытость

Демо привязывает всё к 127.0.0.1. Прежде чем выставлять шлюз туда, где его может достичь кто-то ещё, знайте разделение:

  • Агентские маршруты (/api/resources/:id/invoke, /mcp) не аутентифицированы по замыслу — платные ресурсы защищены оплатой, а не паролем.

  • Операторские маршруты (/api/receipts, /api/events, /api/events/stream) — это коммерческий реестр мерчанта: адреса плательщиков, суммы, хэши расчехления. Они требуют server.adminToken и возвращают 404, если он не настроен.

  • Браузеры управляются через server.allowedOrigins — явный белый список, по умолчанию пустой.

  • Ограничения скорости нет. Бесплатный ресурс — это неаутентифицированный прокси к вашему бэкенду с любой скоростью, которую выберет вызывающий. Квоты и защита от злоупотреблений — дело вашего API или вашего edge.

SECURITY.md прямо говорит, что это защищает, а что нет.

Живое расчехление — не в этом релизе

v0.1.0-alpha расчехляет только против локальной детерминированной цепочки (Anvil + MockUSDC). Нет живого режима, нет флага для его включения и нет частичного пути к нему: facilitator.mode: "remote" отклоняется при загрузке конфига, а проверка здоровья x402-провайдера требует RPC-метод, доступный только в Anvil, поэтому /ready возвращает 503 против реальной сети. Расчехление реальной ценности запланировано, а не поставляется — см. docs/payment-flow.md.

Разработка

npm run verify # contract + lint + typecheck + test
npm run test:e2e # deterministic end-to-end, boots its own chain

Для работы с цепочкой нужен Foundry (anvil, forge, cast). См. CONTRIBUTING.md.

Дорожная карта

Сейчас (v0.1.0-alpha) — MCP, x402, чеки, doctor, детерминированное демо.

Далее — импорт OpenAPI · более строгий набор тестов на соответствие · GitHub Action для doctor · UCP · MPP · ACP · A2A · AP2 · примеры для Shopify и WooCommerce · PostgreSQL · более богатая наблюдаемость.

Новые протоколы появляются только после того, как модель адаптеров переживёт реальное использование. Дисциплина объёма — требование релиза, а не настроение.

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

Архитектура

как части сочетаются

Платёжный поток

платный цикл и все способы, которыми он падает

Протоколы

что именно поддерживается, а что нет

Конфигурация

справочник по config.yaml

Модель безопасности

границы доверия и то, что мы не защищаем

Контракты

замороженный межпакетный контракт

Руководство по адаптерам

добавьте протокол или платёжную рельсу

Лицензия

Apache-2.0.

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Marketplace MCP for paid HTTP APIs. Pay per call in USDC on Base via the open x402 standard — non-custodial. 13 tools for discovery, buying, and publishing APIs.
    51
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that enables AI agents to search, pay for, and call paid APIs using the x402 protocol, with automatic USDC settlement.
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for the x402 protocol that lets AI agents discover and call payment-gated HTTP APIs automatically.
    223
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server that allows AI agents to discover and pay for thousands of APIs (x402 on Solana/Base) using a single key, with automatic payment handling and a federated catalog of machine-payable endpoints.
    235
    MIT

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

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/devlab-group/agent-commerce'

If you have feedback or need assistance with the MCP directory API, please join our Discord server