Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Self-custody Ethereum Agent Wallet. All chains enabled by default. User assumes all risks.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
RUSTOK_AGENT_PASSWORD标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 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/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"rustok-wallet": {
"command": "npx",
"args": [
"-y",
"rustok-agent-mcp"
],
"env": {
"RUSTOK_AGENT_PASSWORD": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"rustok-wallet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"rustok-agent-mcp"
],
"env": {
"RUSTOK_AGENT_PASSWORD": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 temrjan 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 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
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Generate UK-law contracts: NDA, service, freelance, recruiter terms of business, IR35.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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
Rustok is a self-custody Ethereum wallet built around two ideas:
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).
m/44'/60'/0'/0/0), cross-device recovery┌─────────────────────────────────────────────────────────────┐
│ 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) │ │ │ │ │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ └─────────────────────────────────────────────────────────────┘
| Layer | Technology |
|---|---|
| Mobile | React Native 0.85.2, React 19.2.3, TypeScript 5.8 |
| Navigation | React Navigation v7 (bottom-tabs, native-stack) |
| Styling | NativeWind v4, TailwindCSS 3.4, design-token system |
| State | Zustand 5, MMKV (persistent), React Native Keychain (secrets) |
| Animations | Reanimated 4.3, React Native Worklets, Gesture Handler |
| Bridge | uniffi-bindgen-react-native 0.31.0-2 |
| Language | Rust (edition 2024) |
| EVM | revm v36, alloy-evm v0.30 |
| Ethereum | alloy-rs v1.8 (provider, signer, primitives, consensus) |
| Crypto | BIP39 (m/44'/60'/0'/0/0), AES-256-GCM, Argon2id, secp256k1 |
| HTTP | Axum 0.8, Tower HTTP (CORS, trace) |
| Async | Tokio, Futures |
| Serialization | Serde, Serde JSON |
| CLI | clap v4 |
| Logging | tracing, tracing-subscriber |
Prerequisites: Node.js ≥ 22.11, Android SDK (for Android) or Xcode + CocoaPods (for iOS).
# Install dependencies
cd mobile && npm install
npx react-native start --port 8081
cd android && ./gradlew app:installDebug -PreactNativeDevServerPort=8081
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.mdfor onboarding flow, bridge surface, DEV escape hatches, and Android/Windows specifics.
# Run all tests
cargo test --workspace
cargo build -p rustok --release
cargo run -p rustok-api
# Decode ERC-20 approve calldata
rustok decode \ --to 0xdAC17F958D2ee523a2206206994597C13D831ec7 \ --data 0x095ea7b3000000000000000000000000000000000000000000000000000000000000dead00000000000000000000000000000000000000000000000000000000000f4240
rustok analyze \ --to 0xdAC17F958D2ee523a2206206994597C13D831ec7 \ --data 0x095ea7b3ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
# Generate a new encrypted wallet
rustok wallet new --password "your-secure-password"
rustok wallet balance 0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045
rustok wallet info --keystore 0xabc...def.json --password "your-password"
rustok wallet send --keystore wallet.json --password "pwd" --to 0xd8dA...6045 --amount 0.1
| Rule | Severity | Trigger |
|---|---|---|
unlimited_approval | Warning | approve(spender, type(uint256).max) |
set_approval_for_all | Warning | setApprovalForAll(operator, true) |
permit_to_unknown | Danger | EIP-2612 permit to unknown spender |
permit_unlimited | Warning | Permit with value == U256::MAX |
known_scam | Forbidden | Address in scam database |
unknown_function | Warning | Unrecognized function selector |
value_with_calldata | Warning | ETH sent with contract call |
send_to_contract | Info | Transfer to contract address |
| Chain | ID | Status |
|---|---|---|
| Ethereum | 1 | Active |
| Arbitrum One | 42161 | Active |
| Base | 8453 | Active |
| Optimism | 10 | Active |
| zkSync Era | 324 | Active |
| Sepolia | 11155111 | Testnet |
Public API for transaction security analysis (rustok-api, Axum). Self-hosted — see deploy/.
| Endpoint | Method | Description |
|---|---|---|
/health | GET | Health check |
/check-address | POST | Address security check via GoPlus (malicious flag, risk level, risks) |
/decode | POST | Decode 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"}'
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/).
517 tests, 0 failures
Pre-commit gates:
# Rust
cargo fmt --all --check cargo clippy --workspace --all-targets -- -D warnings cargo test --workspace
cd mobile && npm run typecheck && npm run lint && npm run test
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
Rustok is dual-licensed:
只显示了开头部分;其余内容请在仓库中阅读