Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Escrow + AI arbitration for A2A payments. Lock funds, confirm delivery, dispute if needed.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
ARBITOVA_API_KEY, ARBITOVA_BASE_URL「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"arbitova": {
"command": "npx",
"args": [
"-y",
"@arbitova/mcp-server"
],
"env": {
"ARBITOVA_API_KEY": "your-value",
"ARBITOVA_BASE_URL": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add arbitova --env ARBITOVA_API_KEY=your-value --env ARBITOVA_BASE_URL=your-value -- npx -y @arbitova/mcp-server動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"arbitova": {
"command": "npx",
"args": [
"-y",
"@arbitova/mcp-server"
],
"env": {
"ARBITOVA_API_KEY": "your-value",
"ARBITOVA_BASE_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"arbitova": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@arbitova/mcp-server"
],
"env": {
"ARBITOVA_API_KEY": "your-value",
"ARBITOVA_BASE_URL": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
ARBITOVA_BASE_URL envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月9日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント jiayuanliang0716-max で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:ARBITOVA_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(3.4.0)がレジストリに届いたのは7 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, ChargingNear.me
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況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.
U.S. EV charging stations: nearest, on a route, city and state stats, highway gaps and NEVI status.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Non-custodial USDC escrow + AI arbitration for agent-to-agent payments on Base.
Two agents lock USDC into a contract, one delivers, the other confirms or disputes, and a neutral AI arbiter resolves. Arbitova never holds the money — the contract does.
No API keys. No registration. No custody. Your Ethereum address is your identity.
EscrowV1 at 0xA8a031bcaD2f840b451c19db8e43CEAF86a088fC on Base Sepolia — verified on Basescan, mainnet launching after auditA2A-ESCROW-RFC-v0.1/.well-known/arbitova.jsondocs/tutorials/15-min-paid-agent.mdEvery A2A / agent-commerce spec in the wild — MCP, Google's A2A, ERC-7683, Coinbase's Agent Commerce — defines *how agents talk*. None of them define *how money moves when the agents don't trust each other*.
Arbitova is the missing settlement primitive:
createEscrow → markDelivered → {confirmDelivery | dispute → resolve | cancel}. No hidden branches, no admin override.DISPUTED, not into seller payout. Silence is safer than a wrong confirmation.keccak256 is stored on-chain. The full verdict history is queryable at /verdicts — no aggregation, no delay.This is not a marketplace. There is no Arbitova account, no listing fee, no Pro tier. The protocol is the whole product.
npm install @arbitova/sdk ethers
import { Arbitova } from '@arbitova/sdk';
const buyer = await Arbitova.fromPrivateKey({ privateKey: process.env.BUYER_PK });
const { escrowId, txHash } = await buyer.createEscrow({ seller: process.env.SELLER_ADDRESS, amount: '5.00', deliveryHours: 24, reviewHours: 24, verificationURI: 'https://example.com/spec.json', });
console.log(Escrow #${escrowId} locked — ${buyer.explorerTx(txHash)});
Seller-side, arbiter-side, browser wallet integration: see packages/sdk-js/README.md.
pip install "arbitova[path_b]"
from arbitova import path_b
result = path_b.arbitova_create_escrow( seller="0x...", amount=5.00, verification_uri="https://example.com/spec.json", ) print(result)
{
"mcpServers": { "arbitova": { "command": "npx", "args": ["-y", "@arbitova/mcp-server"], "env": { "ARBITOVA_RPC_URL": "https://sepolia.base.org", "ARBITOVA_ESCROW_ADDRESS": "0xA8a031bcaD2f840b451c19db8e43CEAF86a088fC", "ARBITOVA_USDC_ADDRESS": "0x036CbD53842c5426634e7929541eC2318f3dCF7e", "ARBITOVA_AGENT_PRIVATE_KEY": "0x..." } } } }
Six tools: arbitova_create_escrow, arbitova_mark_delivered, arbitova_confirm_delivery, arbitova_dispute, arbitova_cancel_if_not_delivered, arbitova_get_escrow. All sign locally via ethers v6. Your private key never leaves the process.
Omit ARBITOVA_AGENT_PRIVATE_KEY for read-only introspection mode (useful for observability).
┌──────────────────┐
│ CREATED │ buyer locked USDC └────────┬─────────┘ │ ▼ seller.markDelivered() ┌──────────────────┐ │ DELIVERED │ deliveryHash on-chain └────────┬─────────┘ │ buyer.confirmDelivery()│ │ buyer.dispute() │ │ or seller.dispute() ▼ ▼ ┌─────────────┐ ┌──────────┐ │ RELEASED │ │ DISPUTED │ waiting for arbiter └─────────────┘ └────┬─────┘ │ arbiter.resolve(bps split + verdictHash) ▼ ┌──────────┐ │ RESOLVED │ └──────────┘
Two terminal states not drawn: CANCELLED (buyer calls cancelIfNotDelivered after delivery window) and auto-escalation into DISPUTED if the review window expires without confirmation.
Three end-to-end A2A demos on Base Sepolia with a live AI arbiter:
Each demo runs the full CREATED → DELIVERED → CONFIRMED (or DISPUTED → RESOLVED) flow with real on-chain transactions.
| Package | Purpose |
|---|---|
@arbitova/sdk | Node.js / browser SDK (ethers v6) |
arbitova | Python SDK, install with [path_b] extra for on-chain support |
@arbitova/mcp-server | MCP server (6 on-chain tools) for Claude Desktop, Claude Code, any MCP client |
Each ships the same six-entrypoint surface so an agent using the Python SDK can settle with an agent using the MCP server — they're hitting the same contract.
| When | Fee | Paid by |
|---|---|---|
confirmDelivery / review-window expiry auto-settle | 0.5% | deducted from seller payout |
| Arbiter resolves a dispute | 2% | split per arbiter verdict |
Fees accrue in the contract. The protocol runs on them; there is no subscription.
| Network | Status | Contract |
|---|---|---|
| Base Sepolia | live, real Circle USDC | 0xA8a031bcaD2f840b451c19db8e43CEAF86a088fC |
| Base mainnet | pending audit + multisig arbiter | TBA |
Watch the Dev Log for mainnet launch.
v2.x of the SDKs and v3.4.0 of the MCP server were a custodial HTTP client against api.arbitova.com. That architecture had four structural problems (DB-vs-onchain drift, custody wallet gas, single ADMIN_KEY, single WALLET_ENCRYPTION_KEY point of failure) and was deprecated in favor of Path B — the non-custodial on-chain design described above.
sdk/MIGRATION_PATH_A_TO_B.mdmcp-server/MIGRATION.mdOld packages remain on npm/PyPI but are deprecated.
MIT