Skip to main content
Glama
dinggi5

Kura

Kura (蔵 — хранилище, где берегут сокровища)

Локальный EVM-кошелёк для AI-агентов. Кошелёк, в котором человек подтверждает паролем интернет-платежи (x402), совершаемые такими ИИ, как Claude, на Mac.

  • Это не кошелёк для людей (вроде MetaMask) — он для AI-агентов

  • Не облачный SaaS — работает только локально. Ключи не покидают этот компьютер.

  • ИИ запрашивает платёж → человек подтверждает паролем → выполнение

  • Сеть — Base (L2 Ethereum, комиссия почти нулевая). По умолчанию — тестнет (Base Sepolia)


Обзор

[ AI 앱 (Claude Code / 데스크톱) ]
        │  MCP로 "결제해줘" 요청
        ▼
[ Kura 데스크톱 앱 ]  ← 승인 팝업 → 사람이 비밀번호 입력
        │  서명 (키는 이 앱 안에서만)
        ▼
[ Base 체인 / x402 페이실리테이터 ]  ← 실제 결제

Пароль вводится только в поле ввода приложения Kura. Он не попадает ни в чат, ни в MCP, ни в файлы конфигурации.


Related MCP server: cardzero-mcp

Установка

Apple Silicon Mac (macOS 11 или новее)

(A) Homebrew

brew install --cask dinggi5/tap/kura

(B) Прямое скачивание DMG

На странице Releases скачайте Kura_<версия>_aarch64.dmg, откройте его и перетащите Kura в папку Applications.

Поскольку это приложение, которому доверяют ключи, как проверить, что скачанное приложение действительно создано мной, описано в SECURITY.md вместе с командами.

(C) Сборка из исходников

Предварительные требования: Rust, Node.js (20.19+ или 22.12+ — требуется Vite 7), macOS.

git clone https://github.com/dinggi5/kura.git
cd kura
git checkout v0.1.1   # 배포본과 같은 소스. 빼면 개발 중인 최신 코드가 받아져요
npm ci                # package-lock.json 그대로 설치 (install 은 버전이 올라갈 수 있어요)

# 개발 모드로 바로 실행
npm run tauri dev

# 앱으로 빌드해 /Applications에 설치
npm run tauri build -- --bundles app --no-sign
ditto src-tauri/target/release/bundle/macos/Kura.app /Applications/Kura.app
open /Applications/Kura.app

Обновление

Приложение обновляется само.
В Настройки → О программе проверьте версию и изменения, затем нажмите Установить сейчас и перезапустить.

  • Автоматически выполняется только проверка, а установка всегда требует вашего нажатия.

  • Скачанные файлы устанавливаются только после проверки подписи (отключить проверку подписи нельзя). Подробности — в разделе «Обновление» в SECURITY.md.

  • Если не хотите, чтобы приложение само проверяло обновления, отключите Настройки → О программе → Проверять при запуске.

Удаление

⚠️ При удалении приложения кошелёк не удаляется. Ключи, настройки и история транзакций хранятся в папке ~/.jigap вне приложения, поэтому при удалении только приложения они остаются — это сделано намеренно, чтобы вы случайно не потеряли активы (команда brew uninstall --zap их тоже не удаляет).

# 앱만 제거 (지갑은 남음 — 나중에 다시 설치하면 그대로 이어서 써요)
brew uninstall --cask dinggi5/tap/kura   # 또는 /Applications/Kura.app 을 휴지통으로

Чтобы полностью удалить и кошелёк с этого Mac, строго соблюдайте порядок:

  1. Сначала убедитесь, что у вас есть 12-словная фраза восстановления. Её можно посмотреть снова, нажав кнопку с ключом в шапке приложения.

  2. Если остался баланс, переведите его в другой кошелёк.

  3. Полностью завершите Kura (правый клик по значку в строке меню → Выйти). Пока приложение запущено, оно каждые несколько секунд записывает файлы состояния в ~/.jigap, поэтому удалённая папка сразу же создаётся заново.

  4. Завершите и AI-инструменты (Claude Code и т.п.), к которым подключён MCP Kura.

  5. Если включён автозапуск, отключите его или выполните rm ~/Library/LaunchAgents/Kura.plist (при удалении приложения в корзину этот файл остаётся; при удалении через brew uninstall --cask он удаляется вместе с приложением).

  6. Затем выполните rm -rf ~/.jigap

Если выполнить последнюю команду rm -rf ~/.jigap без 12 слов, активы этого кошелька будет невозможно вернуть никому.


Первый запуск

Kura живёт в строке меню. После запуска в строке меню вверху экрана появляется значок хранилища (◻︎), а окно раскрывается вниз только при нажатии на этот значок. При клике в другом месте окно закрывается, а приложение остаётся в фоне и продолжает ждать запросы на оплату от ИИ. Чтобы полностью выйти — правый клик по значку → Выйти. (При первом запуске, когда кошелька ещё нет, окно открывается само.)

  1. Создание кошелька — задайте пароль (не менее 8 символов), который нужно будет вводить при каждом переводе. Этим паролем ключ шифруется и сохраняется (~/.jigap/wallet.enc).

  2. Резервное копирование сид-фразы — показываются 12 слов. Это настоящее доказательство владения активами, поэтому запишите их на бумаге или в менеджере паролей. Даже если вы забудете пароль, 12 слов позволят восстановить кошелёк: завершите приложение, сначала убедившись, что 12 слов у вас есть, затем удалите ~/.jigap/wallet.enc и запустите приложение заново — восстановление произойдёт через Импорт на первом экране (можно также вставить их в другой стандартный BIP-39 кошелёк). Однако если удалить этот файл без 12 слов, активы будут потеряны навсегда.

  3. Приветственный тур — знакомит с пополнением, подключением ИИ и защитными механизмами. Его можно посмотреть в любой момент через ⓘ Справка в шапке.


Пополнение (USDC)

Для платежей на кошельке должен быть USDC (цифровой доллар).

  • Нажмите Получить в приложении — появится адрес и QR-код.

  • При отправке с биржи или другого кошелька обязательно выбирайте сеть Base. Отправка в другую сеть приведёт к потере средств.

  • На тестнете (по умолчанию) деньги ненастоящие. Нажмите кнопку Faucet на экране получения, чтобы получить бесплатные тестовые монеты и попрактиковаться.

  • ETH необязателен — при платежах x402 комиссию платит фасилитатор, поэтому ETH может быть нулевым. Немного ETH для газа нужно только при прямых переводах через Отправить в приложении (комиссия Base — около 1 цента). Для пополнения достаточно только USDC.


Подключение ИИ (Claude)

Подключитесь, зарегистрировав сервер Kura в настройках MCP AI-приложения. После подключения на главном экране появится значок «Claude подключён». Начиная с версии 0.1.2 MCP-сервер встроен в приложение, поэтому подключение возможно без клонирования исходников или установки Rust.

Самый простой способ — экран «Подключение ИИ» в приложении

Нажмите значок «ИИ не подключён» в верхней части главного экрана — откроется экран подключения.

  • Claude Desktop — нажмите кнопку «Подключить», и появится окно установки расширения для Claude. Достаточно нажать «Установить».

  • Claude Code — регистрируется одним нажатием кнопки (приложение само выполнит claude mcp add). Начиная со следующего запуска claude подключение будет работать из любой папки.

Ниже — как сделать то же самое вручную.

Claude Desktop — достаточно одного файла расширения

Скачайте kura-<версия>.mcpb со страницы релизов и дважды щёлкните — Claude Desktop спросит разрешение на установку. (Или: Настройки Claude → Расширения → Выбрать файл.)

Внутри расширения нет исполняемого файла — там только лаунчер, который после проверки подписи запускает подписанный и нотариально заверенный MCP-сервер из установленного Kura.app. Поэтому сначала нужно установить приложение Kura.

Claude Code · другие MCP-приложения

Зарегистрируйте бинарный файл из приложения по абсолютному пути:

claude mcp add --scope user kura -- /Applications/Kura.app/Contents/MacOS/kura-mcp

(--scope user — это опция, которая позволяет использовать сервер не «только в этой папке», а где угодно. Если он нужен только в одном проекте, можно её опустить.)

В других MCP-приложениях укажите в настройках следующее:

{
  "mcpServers": {
    "kura": {
      "command": "/Applications/Kura.app/Contents/MacOS/kura-mcp"
    }
  }
}

Если вы разрабатываете из исходников

В корне репозитория уже есть .mcp.json. При запуске claude в этой папке сервер подхватится автоматически (при первом запуске будет вопрос, разрешить ли использование сервера — нажмите Разрешить). Этот путь — для разработки, где сервер каждый раз пересобирается через cargo run; если вы используете установленную версию, правильным будет указать путь к приложению, как описано выше.

Инструменты, доступные ИИ: get_wallet_status · get_balances · get_history (только чтение) · request_payment (запрос платежа → всплывающее окно подтверждения в приложении) · x402_fetch (вызов URL с платёжным требованием 402).

После изменения MCP-инструментов перезапустите AI-приложение, чтобы изменения вступили в силу (сервер загружается один раз при старте сессии).


Как проходит платёж

  1. ИИ запрашивает платёж.

  2. Появляется окно Kura, показывающее, сколько и куда отправляется (окно появляется автоматически, даже если оно было скрыто).

  3. Введите пароль и подтвердите.

  4. Платёж выполняется, и результат возвращается ИИ. Если не подтвердить в течение 5 минут — автоматический отказ.


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

  • Подтверждение паролем — по умолчанию каждый платёж требует подтверждения паролем (при включении автономных платежей исключение действует только при условиях ниже). Ключ хранится в зашифрованном виде (Argon2id + AES-256-GCM) и расшифровывается только для платежа, после чего сразу стирается (при включённой сессии автономных платежей хранится в памяти только на время разблокировки).

  • Лимиты — в настройках задаётся, сколько можно отправить за раз / в день (по умолчанию 5 USDC за раз, 20 USDC в день). При превышении отправка блокируется.

  • Экстренная блокировка — при включении кнопки-щита в шапке все переводы немедленно блокируются.

  • Доверенные адреса · автономные платежи — для автоматического подтверждения без пароля должны выполняться все три условия: разблокированная сессия + малый лимит + доверенный адрес. Во всех остальных случаях — всегда пароль.

  • История транзакций — записываются все переводы, заблокированные попытки и подписи.

  • Локальный приоритет — ключи (~/.jigap/) находятся вне репозитория и не попадают в git.

  • Нет аналитики и CDN для шрифтов — приложение само подключается к интернету только в трёх случаях: ①RPC-сервер для проверки баланса и переводов ②адреса x402, запрошенные ИИ ③проверка обновлений (GitHub). История использования никуда не отправляется, а шрифты встроены в приложение, поэтому интерфейс отображается и в офлайне.

  • Проверку обновлений можно отключить — при запуске приложение спрашивает GitHub, нет ли новой версии (там остаются IP-адрес подключения и текущая версия). Отключите Настройки → О программе → Проверять при запуске, и этот трафик тоже исчезнет. Включена проверка или нет — установка выполняется только по вашему нажатию — никаких скрытых изменений не бывает.


Для разработчиков

Тем же кошельком можно управлять через CLI kura (общий MCP-сервер и базовая логика). Он уже входит в установленное приложение, так что достаточно добавить одну строку в PATH:

sudo mkdir -p /usr/local/bin
sudo ln -sf /Applications/Kura.app/Contents/MacOS/kura-cli /usr/local/bin/kura
kura status

Для запуска из исходников:

cargo run --manifest-path ./kura-mcp/Cargo.toml --bin kura -- status
cargo run --manifest-path ./kura-mcp/Cargo.toml --bin kura -- balance
cargo run --manifest-path ./kura-mcp/Cargo.toml --bin kura -- history --limit 10
cargo run --manifest-path ./kura-mcp/Cargo.toml --bin kura -- pay <주소> <금액> --token usdc
cargo run --manifest-path ./kura-mcp/Cargo.toml --bin kura -- fetch <URL>

pay/fetch не принимают пароль через CLI — должно быть запущено приложение Kura, и пароль вводит человек во всплывающем окне подтверждения.

Тесты:

(cd src-tauri && cargo test)        # 백엔드(지갑·암호화·한도·송금)
(cd kura-mcp && cargo test)         # MCP/CLI 어댑터
npx tsc --noEmit && npx vite build  # 프론트

Процедура создания дистрибутива (подписанный и нотариально заверенный DMG) описана в docs/RELEASE.md. Потребуется учётная запись Apple Developer и одноразовая настройка, после чего всё сводится к одной команде:

./scripts/release.sh

Технологический стек

Десктоп

Tauri (Rust + веб-фронтенд)

Фронтенд

React + Tailwind CSS, Framer Motion, Lucide, Pretendard

Сеть

Base / alloy-rs

Платежи

x402 (офчейн-подпись EIP-3009)

Подключение ИИ

MCP-сервер (rmcp)

Структура: [Rust-ядро (src-tauri)] ← MCP / CLI-адаптер (kura-mcp). Доступ к ключам (подпись) — только у GUI-процесса; это последний рубеж обороны.


Лицензия · статус

Лицензия MIT — поскольку это код, работающий с ключами и деньгами, он должен быть открыт для чтения, проверки и изменения.

Если вы обнаружили уязвимость, сообщите о ней через закрытый канал, описанный в SECURITY.md, прежде чем создавать issue. В этом же документе описано, что Kura не может предотвратить.

Встроенный шрифт Pretendard распространяется по лицензии SIL Open Font License 1.1 (полный текст).

Приоритетный пользователь — я сам: это кошелёк для корейских разработчиков и творческих людей, которые платят через локальные LLM/Claude на Apple Silicon Mac. Это ещё ранняя версия 0.1.x, поэтому рекомендую сначала освоиться на тестнете (по умолчанию), а на мейннет класть только ту сумму, которую не жалко потерять.

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
3dRelease cycle
3Releases (12mo)
Commit activity

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Gives AI agents a smart-contract wallet on Base (USDC) with 10 stdio tools: create wallets, send USDC payments, pay x402-protected HTTP resources, and run ERC-8183 escrow Jobs for A2A service delivery.
    10
    14
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    A budget-bound x402 payment wallet for AI agents: it autonomously pays HTTP 402 payment-gated URLs across every major chain (EVM, Solana, and many non-EVM families). Self-custodial and backendless, your key, your RPC, with spend caps enforced before any on-chain send.
    7
    MIT

View all related MCP servers

Related MCP Connectors

  • Read-only on-chain intel for AI agents on Base: balances, tokens, gas, tx status. No API keys.

  • PayPerByte — per-byte data for AI agents: x402 USDC on Base, EIP-712-attested. No token.

  • Read-only on-chain intelligence for AI agents on Base: balances, tokens, gas, tx status.

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/dinggi5/kura'

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