Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Open-source EIP-2612 Permit-based wallet sessions for AI agents using MCP.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
作者没有在注册中心列出安装信息。请查看下方作者的 README。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过 GitHub 账户 MCPVOT 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.0.1)于3个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Tethered Trust
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:↓ 每周下载量i★ 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.
Fit, compatibility and recall checks for AI agents before they buy: verdicts, evidence, receipts.
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Open-source EIP-2612 Permit-based wallet sessions for AI agents.
The reference implementation for paid MCP servers — verify signatures, manage sessions, settle on-chain. No API keys. No recurring charges.
A human connects their crypto wallet, signs a one-time EIP-2612 Permit (gasless — no transaction fee), and receives a session token. AI agents use this token in MCP requests to pay for tool calls with USDC on Base. The server settles each call on-chain via transferFrom.
No API keys. No recurring charges. No per-call wallet signatures. The permit is the policy.
This is the reference implementation used by mcpvot.xyz — an x402 payment facilitator for MCP servers. The open-source core (@mcp-agentic-wallet/core) is framework-agnostic and works with any MCP server or Next.js app.
npm install @mcp-agentic-wallet/core viem
import { InMemoryStore, settleCall } from '@mcp-agentic-wallet/core';
const store = new InMemoryStore();
// In your MCP tool handler: const token = req.headers.get('Session-Token'); const session = store.getSession(token); if (!session) return new Response('Payment required', { status: 402 });
// Consume budget ($0.005 = 5000 atomic USDC units) const result = store.consumeBudget(token, 5000n); if (!result.ok) return new Response('Insufficient budget', { status: 402 });
// Settle on-chain await settleCall(session.humanAddress, 5000n, { treasuryAddress: process.env.TREASURY_ADDRESS!, hotWalletKey: process.env.HOT_WALLET_PRIVATE_KEY, });
return Response.json({ result: 'your data' });
git clone https://github.com/MCPVOT/mcp-agentic-wallet.git
cd mcp-agentic-wallet npm install cp .env.example .env.local # Configure your treasury + hot wallet key npm run dev
Visit http://localhost:3000/wallet to connect a wallet and authorize a session.
Human Server Agent
│ │ │ │── connect wallet ──────────►│ │ │── sign EIP-2612 Permit ───►│ │ │ (gasless, 1-time) │── verify signature ──────►│ (on-chain) │ │── submit permit() ────────►│ (on-chain, gas) │ │── create session ──────────┐│ │◄─ return session token ─────│◄───────────────────────────┘│ │ │ │ │ │◄── Session-Token header ────│ │ │── consume budget ───────────┐│ │ │── transferFrom() ──────────►││ (on-chain, gas) │ │── return tool data ─────────┘│ │ │◄──────────────────────────────│
@mcp-agentic-wallet/core)| Class/Function | Description |
|---|---|
InMemoryStore | Session store (in-memory, pluggable for KV/Redis) |
verifyPermit() | Verifies EIP-712 Permit signature on-chain via viem |
settleCall() | Executes transferFrom(human, treasury, amount) on Base |
submitPermit() | Submits the permit() transaction to USDC contract |
checkAllowance() | Reads on-chain USDC allowance for an owner→spender pair |
checkRateLimit() | Simple rate limiter (per-wallet) |
toSessionInfo() | Converts session to safe client-facing info (no permit signature) |
See SECURITY.md for the full threat model.
Key features:
spender === treasuryMCPVOT uses this wallet to power on-chain sim-racing events:
transferFrom settles the entry to the escrow contractThe iRacing MCP tools (get_race_results, lookup_driver, search_hosted_races) are available at mcpvot.xyz and use the same session-token flow for payment.
| Env Var | Required | Default | Description |
|---|---|---|---|
TREASURY_ADDRESS | Yes | — | Address that receives USDC payments |
HOT_WALLET_PRIVATE_KEY | Yes | — | EOA private key for gas (never commit to git!) |
BASE_RPC_URL | No | https://mainnet.base.org | Base Mainnet RPC |
NEXT_PUBLIC_TREASURY_ADDRESS | Yes | — | Treasury shown in wallet UI |
MIT — see LICENSE