Skip to main content
Glama
vsima

canton-agent-mcp

by vsima

canton-agent-mcp

Ваш агент спрашивает. Вы одобряете. Устройство подписывает.

ci License: Apache-2.0

Сервер MCP, который позволяет ИИ-агенту использовать Canton Network через мобильный кошелёк человека. Агент может запросить вход в систему и оплату; каждый запрос отображается как лист одобрения на телефоне человека, и подпись ставится ключом устройства (Secure Enclave или Android StrongBox), но никогда агентом.

Этот сервер — dApp-клиент CIP-0103 поверх WalletConnect. Он не хранит ни ключей, ни токенов реестра. Он может только запрашивать, а владелец кошелька может видеть, одобрять или отклонять каждый запрос.

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

  1. Агент вызывает canton_connect_wallet; появляется QR-код для сопряжения WalletConnect.

  2. Человек сканирует его из вкладки Connect своего кошелька и одобряет на телефоне.

  3. После этого агент может запросить вход в систему (canton_sign_in) или оплату (canton_request_payment). Каждый запрос вызывает лист одобрения на телефоне; кошелёк подготавливает транзакцию на своём участнике, повторно проверяет хэш подготовленной транзакции на устройстве и подписывает аппаратно.

  4. Сессии сохраняются на диске, поэтому кошелёк сопрягается один раз и используется повторно.

Эталонный кошелёк на другой стороне — canton-mobile-app (iOS и Android, построенный на нативном canton-mobile-sdk), но подойдёт любой кошелёк CIP-0103, поддерживающий WalletConnect.

Related MCP server: Grip MCP

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

Требуется Node 22.6+ (сервер запускает TypeScript напрямую, без шага сборки) и бесплатный идентификатор проекта WalletConnect Cloud.

git clone https://github.com/vsima/canton-agent-mcp
cd canton-agent-mcp && npm install

Зарегистрируйте его в Claude Code:

claude mcp add canton-agent --env WC_PROJECT_ID=<your-project-id> \
  -- node <path-to>/canton-agent-mcp/src/main.ts

Затем попросите агента подключить ваш кошелёк и оплатить кому-либо. Запрос на оплату блокируется до тех пор, пока человек не примет решение, поэтому увеличьте тайм-аут инструмента вашего MCP-клиента, если он обрывает длинные вызовы (в Claude Code: переменная окружения MCP_TIMEOUT).

Инструменты

Tool

Что делает

canton_connect_wallet

Начинает сопряжение; возвращает QR-код, который сканирует человек

canton_wallet_status

Подключён ли кошелёк и к какой сети

canton_accounts

Стороны, предоставленные кошельком, с открытыми ключами

canton_sign_in

Вход с Canton: подписанное и проверенное доказательство стороны

canton_request_payment

Отправляет перевод по стандарту токенов на одобрение на телефон

canton_disconnect

Завершает сессию

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

Всё через переменные окружения:

Variable

Default

Значение

WC_PROJECT_ID

required

идентификатор проекта WalletConnect Cloud

WC_RELAY_URL

public relay

URL WebSocket реле

CANTON_NETWORK_ID

canton:localnet

идентификатор сети CAIP-2

AGENT_MCP_NAME

Canton Agent

Отображается на листах одобрения кошелька

AGENT_MCP_DOMAIN

canton-agent-mcp.local

Домен вызова для входа

AGENT_MCP_STORAGE

~/.canton-agent-mcp/wc-store

Каталог хранения сессий

AGENT_MCP_REQUEST_EXPIRY

3600

Секунды, в течение которых отправленный запрос остаётся доступным для ответа (от 300 до 604800)

CANTON_LEDGER_URL / CANTON_REGISTRY_URL / CANTON_VALIDATOR_URL

Splice LocalNet

Где создаются команды оплаты

Платежи по умолчанию используют локальный Splice LocalNet (запустите его через integration/run-localnet.sh из репозитория SDK).

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

  • Сервер может запрашивать, но не действовать: ни ключей, ни токенов реестра, ни подписи.

  • Каждый вход и платёж требует явного одобрения на телефоне.

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

  • Запросы истекают (по умолчанию через час); реле хранит их в зашифрованном виде.

  • Политика расходов на стороне кошелька (лимиты на агента и списки разрешений, применяемые кошельком перед подписью) — следующая веха в нативном SDK.

Разработка

npm test        # typecheck + unit tests (no network)
npm run probe   # opens a real relay session and prints the pairing QR

Независимый проект с открытым исходным кодом, созданный сообществом, лицензирован Apache-2.0. Не аффилирован с Digital Asset, Canton Foundation или Global Synchronizer Foundation и не одобрен ими.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Cryptographic proof of consent for AI agents. Sign before you act. Policy engine enforces spending caps, action whitelists, and escalation rules. Independently verifiable by anyone.
    10
    2
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to check balances and send transactions across multiple blockchains with automatic spending limit protection and policy enforcement.
    3
    MIT