原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Rustok Wallet

作者:temrjan版本 0.2.2i★ –i在你的电脑上运行
注册名称io.github.temrjan/rustok-wallet

安装

概览

作者提供的说明(英文原文)

Self-custody Ethereum Agent Wallet. All chains enabled by default. User assumes all risks.

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他
  • 你需要填写:RUSTOK_AGENT_PASSWORD

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 需要你自己填写: RUSTOK_AGENT_PASSWORD

标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "rustok-wallet": {
      "command": "npx",
      "args": [
        "-y",
        "rustok-agent-mcp"
      ],
      "env": {
        "RUSTOK_AGENT_PASSWORD": "your-value"
      }
    }
  }
}

在终端中运行这条命令

claude mcp add rustok-wallet --env RUSTOK_AGENT_PASSWORD=your-value -- npx -y rustok-agent-mcp

运行前请先填写空着的值。

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "rustok-wallet": {
      "command": "npx",
      "args": [
        "-y",
        "rustok-agent-mcp"
      ],
      "env": {
        "RUSTOK_AGENT_PASSWORD": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "rustok-wallet": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "rustok-agent-mcp"
      ],
      "env": {
        "RUSTOK_AGENT_PASSWORD": "your-value"
      }
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

需要你填写的值

  • RUSTOK_AGENT_PASSWORD 机密 必填 env
    Password to unlock the agent wallet

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 temrjan 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 32696 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 32696 个服务器的 10% 更新
  • 基础检查结果等于或优于此分类中其他 32696 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Rustok Wallet 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

你需要填写:RUSTOK_AGENT_PASSWORD

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.2.2)于6个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, LexPact UK Contracts

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

LexPact UK Contracts

作者:Idadabhai

Generate UK-law contracts: NDA, service, freelance, recruiter terms of business, IR35.

在你的电脑上运行今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

Rustok

Ethereum wallet with chain abstraction and transaction security engine.

Status: Production — Phase 7 DONE — Android verified on Sepolia; iOS supported. React Native app with real on-chain transactions, full onboarding, and txguard live analysis.

Website: rustokwallet.com | X: @rustokwallet | Agent editions: github.com/rustok-org


What is this?

Rustok is a self-custody Ethereum wallet built around two ideas:

  1. Your keys, your chains — one seed phrase controls addresses across Ethereum, Arbitrum, Base, Optimism, and zkSync. Balance and routing are unified; you pick the chain, the wallet handles the rest.
  2. Trust but verify — every transaction is analyzed by txguard before signing. It decodes calldata, runs security rules, simulates execution via revm, and enriches findings with threat intelligence.

The mobile app (Android + iOS) is the primary interface. A public HTTP API and CLI are available for headless txguard analysis.

2026 evolution: the same self-custody core now ships as a wallet for AI agents — MCP tools with fail-closed capability gating (read / preview / execute) and a three-rung trust ladder (autonomous agent → console-approved → phone-signed). See rustokwallet.com and the rustok-org repositories (mcp, console, mobile, paraswap-mcp, uniswap).


Features

  • Multi-chain wallet — unified balance, send, and receive across 5 mainnet chains + Sepolia testnet
  • BIP39 seed phrase — MetaMask-compatible path (m/44'/60'/0'/0/0), cross-device recovery
  • txguard analysis — pre-sign security scan with risk badge and per-finding breakdown
  • PIN + Biometric lock — Argon2id-hashed PIN, Face ID / fingerprint unlock, background auto-lock
  • Onboarding — create wallet (4-step wizard + phrase quiz), import from seed phrase, or recover from lockout / biometric change
  • Activity history — real transaction feed with pending-state tracking and explorer links
  • Theme — light / dark / system with design-token consistency across the UI

Architecture

┌─────────────────────────────────────────────────────────────┐

│ Mobile App (Android / iOS) │ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌────────────────┐ │ │ │ Wallet │ │ Activity│ │ TxGuard │ │ Settings │ │ │ │ Tab │ │ Tab │ │ Tab │ │ (Appearance, │ │ │ │ │ │ │ │ │ │ Biometric, │ │ │ │ • Hero │ │ • TX │ │ • Risk │ │ Auto-lock, │ │ │ │ card │ │ list │ │ badge │ │ Network) │ │ │ │ • Send │ │ • Pull │ │ • Per- │ │ │ │ │ │ • QR │ │ refresh│ │ finding│ │ │ │ │ └─────────┘ └─────────┘ └─────────┘ └────────────────┘ │ │ ┌─────────────────────────────────────────────────────────┐│ │ │ React Navigation v7 • Zustand 5 • NativeWind v4 ││ │ │ Reanimated 4 • MMKV • Keychain • Argon2id ││ │ └─────────────────────────────────────────────────────────┘│ └───────────────────────────┬─────────────────────────────────┘ │ JS ↔ Rust Bridge ┌───────────────────────────▼─────────────────────────────────┐ │ react-native-rustok-bridge │ │ (uniffi-bindgen-react-native 0.31) │ └───────────────────────────┬─────────────────────────────────┘ │ FFI ┌───────────────────────────▼─────────────────────────────────┐ │ Rust Workspace │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ rustok-core │ │ txguard │ │ rustok-api │ │ │ │ │ │ │ │ │ │ │ │ • keyring │ │ • parser │ │ Axum HTTP server │ │ │ │ • provider │ │ • rules │ │ /health │ │ │ │ • router │ │ • simulator │ │ /check-address │ │ │ │ • send │ │ • enrichment│ │ /decode │ │ │ │ • explorer │ │ │ │ │ │ │ │ • explainer │ │ 8 security │ │ Self-hosted │ │ │ │ • convert │ │ rules │ │ (see deploy/) │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ rustok-cli │ │ rustok-types│ │rustok-mobile-bindings│ │ │ │ │ │ │ │ │ │ │ │ CLI binary │ │ Shared DTOs │ │ uniffi FFI exports │ │ │ │ (decode, │ │ (no crypto │ │ for iOS / Android │ │ │ │ analyze, │ │ deps) │ │ │ │ │ │ wallet, │ │ │ │ │ │ │ │ send) │ │ │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ └─────────────────────────────────────────────────────────────┘


Tech Stack

LayerTechnology
MobileReact Native 0.85.2, React 19.2.3, TypeScript 5.8
NavigationReact Navigation v7 (bottom-tabs, native-stack)
StylingNativeWind v4, TailwindCSS 3.4, design-token system
StateZustand 5, MMKV (persistent), React Native Keychain (secrets)
AnimationsReanimated 4.3, React Native Worklets, Gesture Handler
Bridgeuniffi-bindgen-react-native 0.31.0-2
LanguageRust (edition 2024)
EVMrevm v36, alloy-evm v0.30
Ethereumalloy-rs v1.8 (provider, signer, primitives, consensus)
CryptoBIP39 (m/44'/60'/0'/0/0), AES-256-GCM, Argon2id, secp256k1
HTTPAxum 0.8, Tower HTTP (CORS, trace)
AsyncTokio, Futures
SerializationSerde, Serde JSON
CLIclap v4
Loggingtracing, tracing-subscriber

Quick Start

Mobile App

Prerequisites: Node.js ≥ 22.11, Android SDK (for Android) or Xcode + CocoaPods (for iOS).

# Install dependencies

cd mobile && npm install

Start Metro bundler

npx react-native start --port 8081

Android (separate terminal)

cd android && ./gradlew app:installDebug -PreactNativeDevServerPort=8081

Windows: .\gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

iOS (macOS only, separate terminal)

cd ios && pod install && cd .. && npx react-native run-ios

For physical Android devices:

adb reverse tcp:8081 tcp:8081

Detailed mobile docs: See mobile/README.md for onboarding flow, bridge surface, DEV escape hatches, and Android/Windows specifics.

Rust Workspace
# Run all tests

cargo test --workspace

Build CLI

cargo build -p rustok --release

Run API server locally

cargo run -p rustok-api

CLI Examples
Transaction Security Analysis
# Decode ERC-20 approve calldata

rustok decode \ --to 0xdAC17F958D2ee523a2206206994597C13D831ec7 \ --data 0x095ea7b3000000000000000000000000000000000000000000000000000000000000dead00000000000000000000000000000000000000000000000000000000000f4240

Full security analysis (parse + rules + verdict)

Exit codes: 0=allow, 1=warn, 2=block

rustok analyze \ --to 0xdAC17F958D2ee523a2206206994597C13D831ec7 \ --data 0x095ea7b3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff

Wallet Operations
# Generate a new encrypted wallet

rustok wallet new --password "your-secure-password"

Check unified balance across Ethereum, Arbitrum, Base, Optimism, zkSync

rustok wallet balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045

Show wallet info from keystore file

rustok wallet info --keystore 0xabc...def.json --password "your-password"

Send ETH (txguard security check mandatory, testnet by default)

rustok wallet send --keystore wallet.json --password "pwd" --to 0xd8dA...6045 --amount 0.1


Security Rules (txguard)

RuleSeverityTrigger
unlimited_approvalWarningapprove(spender, type(uint256).max)
set_approval_for_allWarningsetApprovalForAll(operator, true)
permit_to_unknownDangerEIP-2612 permit to unknown spender
permit_unlimitedWarningPermit with value == U256::MAX
known_scamForbiddenAddress in scam database
unknown_functionWarningUnrecognized function selector
value_with_calldataWarningETH sent with contract call
send_to_contractInfoTransfer to contract address

Supported Chains

ChainIDStatus
Ethereum1Active
Arbitrum One42161Active
Base8453Active
Optimism10Active
zkSync Era324Active
Sepolia11155111Testnet

txguard API

Public API for transaction security analysis (rustok-api, Axum). Self-hosted — see deploy/.

EndpointMethodDescription
/healthGETHealth check
/check-addressPOSTAddress security check via GoPlus (malicious flag, risk level, risks)
/decodePOSTDecode and analyze raw EVM transaction (action, risk score, findings)
# Check address

curl -X POST https://your-rustok-api-host/check-address \ -H "Content-Type: application/json" \ -d '{"address": "0xdAC17F958D2ee523a2206206994597C13D831ec7"}'

Decode transaction

curl -X POST https://your-rustok-api-host/decode \ -H "Content-Type: application/json" \ -d '{"to": "0xdAC17F958D2ee523a2206206994597C13D831ec7", "data": "0x095ea7b3000000000000000000000000000000000000000000000000000000000000dead00000000000000000000000000000000000000000000000000000000000f4240"}'

Deployed via Docker + Caddy on 185.197.195.191 (deploy/).


Tests

517 tests, 0 failures
  • Rust workspace: 231 tests (txguard, core, types, mobile-bindings)
  • Mobile (Jest): 286 tests (components, stores, hooks, screens)

Pre-commit gates:

# Rust

cargo fmt --all --check cargo clippy --workspace --all-targets -- -D warnings cargo test --workspace

Mobile

cd mobile && npm run typecheck && npm run lint && npm run test


Project Layout

rustok/

├── mobile/ # React Native app (primary UI) │ ├── src/ │ │ ├── screens/ # Wallet, Activity, TxGuard, Settings, Onboarding │ │ ├── components/ # Design system primitives │ │ ├── navigation/ # AppShell, navigators │ │ ├── stores/ # Zustand + MMKV state │ │ ├── hooks/ # Selectors and logic │ │ ├── lib/ # Bridge, formatting, explorers │ │ └── theme/ # Design tokens │ ├── android/ # Gradle project │ └── ios/ # Xcode project │ ├── packages/ │ └── react-native-rustok-bridge/ # uniffi JS ↔ Rust bridge package │ ├── crates/ # Rust workspace │ ├── txguard/ # Transaction security engine │ ├── core/ # Wallet logic (keyring, provider, router, send) │ ├── types/ # Shared DTOs │ ├── api/ # Axum HTTP server │ ├── cli/ # CLI binary │ └── rustok-mobile-bindings/ # uniffi FFI exports │ ├── deploy/ # Docker + Caddy deployment └── docs/ # Architecture, phase handoffs, incident reports


License

Rustok is dual-licensed:

  • [AGPL-3.0-or-later](LICENSE) — open source. Free for any use that complies with AGPL terms, including making source code of derivative works and network-accessible services available to users.
  • [Commercial License](LICENSE-COMMERCIAL.md) — available from the copyright holder for uses that cannot comply with AGPL-3.0 (e.g. closed-source Apple App Store

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx