Skip to main content
Glama
dinggi5

Kura

Kura (蔵 — die Schatzkammer, die Schätze bewahrt)

Lokale EVM-Wallet für KI-Agenten. Eine Wallet, bei der ein Mensch per Passwort genehmigt, wenn ein KI-Agent wie Claude auf dem Mac Internetzahlungen (x402) durchführt.

  • Keine Wallet für Menschen (wie MetaMask etc.), sondern für KI-Agenten

  • Keine Cloud-SaaS — läuft nur lokal. Die Schlüssel verlassen diesen Computer nicht.

  • KI fordert die Zahlung an → Mensch genehmigt per Passwort → Ausführung

  • Die Chain ist Base (Ethereum L2, Gebühren fast 0). Standard ist das Testnetz (Base Sepolia)


Auf einen Blick

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

Das Passwort wird nur im Eingabefeld der Kura-App abgefragt. Es gelangt weder in den Chat noch in MCP- oder Konfigurationsdateien.


Related MCP server: cardzero-mcp

Installation

Apple-Silicon-Mac (macOS 11 oder höher)

(A) Homebrew

brew install --cask dinggi5/tap/kura

(B) DMG direkt herunterladen

Lade unter Releases Kura_<Version>_aarch64.dmg herunter, öffne es und ziehe Kura in den Ordner Programme.

Da es eine App ist, der man seine Schlüssel anvertraut, habe ich in SECURITY.md sogar die Befehle aufgeschrieben, wie man prüft, ob die heruntergeladene App wirklich von mir stammt.

(C) Aus dem Quellcode bauen

Voraussetzungen: Rust, Node.js (20.19+ oder 22.12+ — Vite-7-Anforderung), 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

Updates

Die App aktualisiert sich selbst.
Unter Einstellungen → Info kannst du Version und Änderungen einsehen und auf Jetzt installieren und neu starten klicken.

  • Nur die Prüfung ist automatisch — die Installation musst du immer selbst anstoßen.

  • Heruntergeladene Dateien werden nur installiert, nachdem die Signatur geprüft wurde (Signaturprüfung kann nicht deaktiviert werden). Details stehen im Abschnitt „Updates" in SECURITY.md.

  • Wenn du die automatische Update-Prüfung nicht möchtest, deaktiviere Einstellungen → Info → Beim Start prüfen.

Deinstallation

⚠️ Wenn du die App löschst, wird die Wallet nicht gelöscht. Schlüssel, Einstellungen und Transaktionsverlauf liegen im Ordner ~/.jigap außerhalb der App. Wenn du nur die App löschst, bleiben sie erhalten — das habe ich absichtlich so gemacht, damit du nicht versehentlich Vermögenswerte verlierst (auch brew uninstall --zap löscht sie nicht).

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

Um auf diesem Mac auch die Wallet vollständig zu löschen, halte dich unbedingt an diese Reihenfolge:

  1. Stelle zuerst sicher, dass du die 12-Wörter-Wiederherstellungsphrase in der Hand hast. Du kannst sie über die Schlüssel-Schaltfläche im App-Header erneut ansehen.

  2. Wenn noch ein Guthaben vorhanden ist, transferiere es in eine andere Wallet.

  3. Beende Kura vollständig (Menüleisten-Symbol rechtsklicken → Beenden). Wenn die App läuft, schreibt sie alle paar Sekunden Statusdateien in ~/.jigap, sodass der gelöschte Ordner sofort wieder neu entsteht.

  4. Beende auch KI-Tools (wie Claude Code), an die Kura MCP angebunden ist.

  5. Wenn du den Autostart aktiviert hast, deaktiviere ihn oder führe rm ~/Library/LaunchAgents/Kura.plist aus (diese Datei bleibt erhalten, wenn du die App in den Papierkorb legst. Bei brew uninstall --cask wird sie mit entfernt).

  6. Führe dann rm -rf ~/.jigap aus.

Wenn du das letzte rm -rf ~/.jigap ohne die 12 Wörter ausführst, kann niemand mehr die Vermögenswerte dieser Wallet wiederherstellen.


Erster Start

Kura lebt in der Menüleiste. Beim Start erscheint in der Menüleiste oben auf dem Bildschirm ein Schatzkammer-Symbol (◻︎), und das Fenster klappt nur nach unten auf, wenn du auf dieses Symbol klickst. Wenn du woanders hinklickst, schließt es sich, und die App bleibt im Hintergrund und wartet weiter auf KI-Zahlungsanfragen. Zum vollständigen Beenden: Symbol rechtsklicken → Beenden. (Beim ersten Start ohne Wallet öffnet sich das Fenster automatisch.)

  1. Wallet erstellen — Lege ein Passwort (mindestens 8 Zeichen) fest, das du bei jeder Überweisung eingibst. Mit diesem Passwort wird der Schlüssel verschlüsselt gespeichert (~/.jigap/wallet.enc).

  2. Seed-Backup — Es werden 12 Wörter angezeigt. Das ist der echte Eigentumsnachweis für deine Vermögenswerte. Schreibe sie auf Papier oder in einen Passwort-Manager. Selbst wenn du das Passwort vergisst, kannst du mit den 12 Wörtern alles wiederherstellen: Beende die App, stelle zuerst sicher, dass du die 12 Wörter in der Hand hast, lösche dann ~/.jigap/wallet.enc und starte die App neu. Über Importieren auf dem ersten Bildschirm kannst du sie wiederherstellen (auch in einer anderen Standard-BIP-39-Wallet möglich). Aber: Wenn du diese Datei ohne die 12 Wörter löschst, verlierst du deine Vermögenswerte für immer.

  3. Willkommenstour — Sie erklärt Aufladen, KI-Verbindung und Sicherheitsvorkehrungen. Du kannst sie jederzeit über ⓘ Hilfe im Header erneut ansehen.


Guthaben aufladen (USDC)

Für Zahlungen benötigt deine Wallet USDC (digitaler Dollar).

  • Tippe in der App auf Empfangen, um Adresse und QR-Code zu sehen.

  • Wenn du von einer Börse oder einer anderen Wallet sendest, wähle unbedingt das Base-Netzwerk. Sendest du über ein anderes Netzwerk, verlierst du dein Geld.

  • Im Testnetz (Standard) ist es kein echtes Geld. Übe mit den kostenlosen Test-Coins über die Faucet-Schaltfläche auf dem Empfangsbildschirm.

  • ETH ist optional — Bei x402-Zahlungen übernimmt der Facilitator die Gebühren, sodass ETH auch 0 sein kann. Nur wenn du über Senden in der App direkt überweist, brauchst du etwas ETH für Gas (Base-Gebühren liegen bei etwa 1 Cent). Es reicht, nur USDC aufzuladen.


KI (Claude) verbinden

Registriere den Kura-Server in den MCP-Einstellungen der KI-App, um sie zu verbinden. Nach der Verbindung erscheint auf dem Hauptbildschirm das Abzeichen „Claude verbunden". Ab Version 0.1.2 ist der MCP-Server in der App enthalten, sodass du ohne Quellcode-Klon oder Rust-Installation verbinden kannst.

Der einfachste Weg — der Bildschirm „KI verbinden" in der App

Tippe auf das Abzeichen „KI nicht verbunden" oben auf dem Hauptbildschirm, um den Verbindungsbildschirm zu öffnen.

  • Claude Desktop — Tippe auf die Schaltfläche „Verbinden", und es erscheint ein Fenster zur Erweiterungsinstallation in Claude. Tippe einfach auf „Installieren", fertig.

  • Claude Code — Wird mit einem einzigen Tastendruck registriert (die App führt claude mcp add für dich aus). Ab dem nächsten claude-Start ist es in jedem Ordner verbunden.

Unten siehst du, wie du dasselbe manuell machst.

Claude Desktop — eine einzige Erweiterungsdatei

Lade kura-<Version>.mcpb von der Release-Seite herunter und doppelklicke darauf. Claude Desktop fragt dann nach der Installation. (Oder: Claude-Einstellungen → Erweiterungen → Datei auswählen.)

Die Erweiterung enthält keine ausführbare Datei — nur einen Launcher, der den signierten und notariell beglaubigten MCP-Server in der installierten Kura.app nach Signaturprüfung ausführt. Deshalb musst du zuerst die Kura-App installieren.

Claude Code · Andere MCP-Apps

Registriere das Binärprogramm in der App mit absolutem Pfad:

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

(--scope user bedeutet nicht „nur dieser Ordner", sondern dass es überall verwendet werden kann. Wenn du es nur in einem Projekt nutzen willst, kannst du es weglassen.)

Bei anderen MCP-Apps trägst du Folgendes in die Einstellungen ein:

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

Wenn du aus dem Quellcode entwickelst

Die Datei .mcp.json im Repository-Root ist bereits vorhanden. Wenn du in diesem Ordner claude ausführst, wird sie automatisch erkannt (beim ersten Mal fragt sie, ob du den Server verwenden willst — genehmige es). Dieser Pfad ist für die Entwicklung gedacht und wird bei jedem cargo run neu gebaut — wenn du die installierte Version nutzt, ist die obige App-Pfad-Registrierung richtig.

Werkzeuge, die die KI nutzen kann: get_wallet_status · get_balances · get_history (nur lesen) · request_payment (Zahlungsanfrage → Genehmigungs-Popup in der App) · x402_fetch (Aufruf von URLs mit 402-Zahlung).

Wenn du die MCP-Werkzeuge änderst, musst du die KI-App neu starten, damit es wirksam wird (der Server wird beim Sitzungsstart einmal geladen).


So läuft eine Zahlung ab

  1. Die KI fordert eine Zahlung an.

  2. Das Kura-Fenster erscheint und zeigt, wie viel an wen gesendet wird (auch wenn das Fenster versteckt ist, erscheint es automatisch).

  3. Du gibst das Passwort ein und genehmigst.

  4. Die Zahlung wird ausgeführt und das Ergebnis an die KI zurückgegeben. Wenn du nicht innerhalb von 5 Minuten genehmigst, wird automatisch abgelehnt.


Sicherheitsmodell

  • Passwort-Genehmigung — Standardmäßig ist bei jeder Zahlung eine Passwort-Genehmigung erforderlich (wenn du automatische Zahlungen aktivierst, nur unter den folgenden Bedingungen als Ausnahme). Der Schlüssel wird verschlüsselt (Argon2id + AES-256-GCM) gespeichert und nur für die Zahlung entschlüsselt und sofort wieder gelöscht (bei aktivierter automatischer Zahlungssitzung wird er nur während der Entsperrung im Speicher gehalten).

  • Limits — Du legst in den Einstellungen fest, wie viel pro Transaktion / pro Tag gesendet werden darf (Standard: 5 pro Transaktion, 20 USDC pro Tag). Bei Überschreitung wird blockiert.

  • Notfall-Sperre — Wenn du die Schild-Schaltfläche im Header aktivierst, werden alle Überweisungen sofort blockiert.

  • Vertrauenswürdige Adressen · Automatische Zahlungen — Für die automatische Genehmigung ohne Passwort müssen Sitzungs-Entsperrung + kleines Limit + vertrauenswürdige Adresse alle drei zutreffen. Sonst ist immer ein Passwort erforderlich.

  • Transaktionsverlauf — Alle gesendeten Überweisungen, blockierten Versuche und Signaturen werden protokolliert.

  • Lokal zuerst — Die Schlüssel (~/.jigap/) liegen außerhalb des Repos und werden nicht in git hochgeladen.

  • Keine Analyse- oder Font-CDN — Die App verbindet sich nur mit dreierlei selbst: ①RPC-Server für Guthabenabfrage und Überweisungen ②x402-Adressen, die die KI anfordert ③Update-Prüfung (GitHub). Nutzungsdaten werden nirgendwohin gesendet, und die Schriftarten sind in der App enthalten, sodass der Bildschirm auch offline vollständig angezeigt wird.

  • Update-Prüfung kann deaktiviert werden — Beim Start fragt die App bei GitHub nach einer neuen Version (dort bleiben deine IP-Adresse und die aktuelle Version gespeichert). Unter Einstellungen → Info → Beim Start prüfen kannst du diese Kommunikation deaktivieren. Ob die Prüfung ein- oder ausgeschaltet ist — die Installation musst du immer selbst anstoßen. Es kann sich nichts heimlich ändern.


Für Entwickler

Dieselbe Wallet kann auch über die CLI kura bedient werden (teilt sich MCP-Server und Kernlogik). Sie ist bereits in der installierten App enthalten. Füge eine Zeile zum PATH hinzu und schon kannst du sie nutzen:

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

Um sie aus dem Quellcode auszuführen:

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 akzeptieren kein Passwort über die CLI — die Kura-App muss laufen, und ein Mensch muss das Passwort im Genehmigungs-Popup eingeben.

Tests:

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

Die Prozedur zur Erstellung einer Distribution (signierte, notariell beglaubigte DMG) findest du in docs/RELEASE.md. Du benötigst ein Apple-Developer-Konto und eine einmalige Einrichtung. Danach ist es nur noch eine Zeile:

./scripts/release.sh

Technologie-Stack

Desktop

Tauri (Rust + Web-Frontend)

Frontend

React + Tailwind CSS, Framer Motion, Lucide, Pretendard

Chain

Base / alloy-rs

Zahlung

x402 (EIP-3009 Off-Chain-Signatur)

KI-Verbindung

MCP-Server (rmcp)

Struktur: [Rust-Kern(src-tauri)] ← MCP / CLI-Adapter(kura-mcp). Nur der GUI-Prozess hat Schlüsselzugriff (Signierung) — das ist die letzte Verteidigungslinie.


Lizenz · Status

MIT-Lizenz — Da es sich um Code handelt, der mit Schlüsseln und Geld umgeht, sollte man ihn direkt lesen, prüfen und umschreiben können.

Wenn du eine Schwachstelle entdeckst, melde sie bitte über den privaten Weg in SECURITY.md, bevor du ein Issue erstellst. In derselben Datei steht auch, was Kura nicht verhindern kann.

Die enthaltene Schriftart Pretendard steht unter der SIL Open Font License 1.1 (Volltext).

Die erste Priorität bin ich selbst — eine Wallet für koreanische Entwickler und Kreative, die auf dem Apple-Silicon-Mac mit lokalen LLMs/Claude bezahlen. Es ist noch eine frühe 0.1.x-Version. Ich empfehle, zuerst im standardmäßigen Testnetz zu üben und im Mainnet nur so viel einzuzahlen, wie du dir leisten kannst zu verlieren.

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