Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Pre-transaction PASS/FAIL for an L2. Free verdict delayed ~60 s, no revert ratio; live via x402.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"phoenix": {
"command": "npx",
"args": [
"-y",
"phoenix-mcp-server"
]
}
}
}Run this in your terminal
claude mcp add phoenix -- npx -y phoenix-mcp-serverPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"phoenix": {
"command": "npx",
"args": [
"-y",
"phoenix-mcp-server"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"phoenix": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"phoenix-mcp-server"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account kant19801201behax5, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.3.1) reached the registry 11 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, alalanet — check before you pay
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
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.
Check packages, MCP servers and x402 endpoints before agents install or pay. Signed.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Execution oracle for AI agents: tells you — before you sign — whether your transaction or payment will land on time, or be delayed, stalled or reverted. 12 chains, measured every 2 s from the kernel up. Every answer is signed and backed by L1/L2/L3 evidence records. Pay per call via x402 (Base, Polygon, Arbitrum USDC).
Live: https://rtt.phoenix-ai.work | npm: phoenix-mcp-server | MCP Registry: io.github.kant19801201behax5/phoenix-mcp-server
Try it yourself (guided, ~3 min, no wallet): https://rtt.phoenix-ai.work/?tour On-chain registry on Arbitrum: 0xD394fFAE51d8fB52187Cf3aE3b014Ddc80Dc7B15 (Arbitrum Sepolia) Signed live verdict (free, 60 s delayed): https://rtt.phoenix-ai.work/api/v1/demo/safe?chain=arbitrum
AI agents making autonomous on-chain transactions have no way to check network health before committing funds. 64% of DeFi protocols don't verify sequencer health. In June 2026 Base stopped producing blocks for 116 minutes (25 June) and again for 20 minutes the next day; L2Beat showed just under $11 billion of value secured on it (Cointelegraph).
Existing solutions (Chainlink L2 Sequencer Feed) give binary up/down with 30-second OCR updates. Agents need nanosecond-precision RTT, revert ratios, and stall detection — before signing a transaction.
What you actually buy: network delay is visible here *before* it hits you. If a sequencer is stalling or RPC latency is spiking, your swap, bridge or x402 payment will arrive late — or not at all. Phoenix measures that delay right now and answers *act now / wait / route elsewhere*.
Measured by Phoenix (independently confirmed from public-RPC block receipts):
chain_halted from the chain's own block timestamps.| Layer | What is measured | Record types (signed BLAKE3 + Ed25519) |
|---|---|---|
| L1 — kernel / physical | eBPF kernel RTT to each chain's RPC, physical timing stats | PHOENIX_KERNEL_RTT, SILICON_DNA_PHY_STATS |
| L2 — RPC / network | p95/p99 latency, stall flag, anomaly score per chain; ETH mempool signal | PHOENIX_METRIC, PHOENIX_ETH_SIGNAL |
| L3 — chain / sequencer | revert ratio from block receipts (Arbitrum's ArbOS system tx excluded), where the failed txs went (top-contract share, distinct senders), head-block age (halted-chain detection), volume delta | PHOENIX_L2_HEALTH, PHOENIX_VOLUME_DELTA |
| Cross-layer | 12×12 Pearson R_xy between chains (correlated failures) | SILICON_DNA_CORRELATION |
The server writes ~1.2 GB/day of these records; a paid verdict is derived from them and signed (EIP-191, signer 0xdac8adC44f621bC3A56E9DC108d2F76Be3142294) so it can be verified offline.
┌── MCP Server (Claude/Cursor/Windsurf)
│ Agent ──────────────┼── Olas Mech (DeFi/arbitrage agents) │ ├── Direct HTTP/x402 (any agent by URL) │ └── RPC Gateway (transparent proxy) │ ▼ PHOENIX CORE ├── x402 paywall ($0.01/query) ├── 12-chain RTT probe (2s interval) ├── BLAKE3+Ed25519 integrity signing ├── Isolation Forest anomaly scoring ├── Surge pricing daemon (3-tier: $0.01/$0.03/$0.10) └── eBPF XDP enforcement (prog 6293, live)
| Channel | Status | How agents find us |
|---|---|---|
| MCP Registry | Published | io.github.kant19801201behax5/phoenix-mcp-server — tools check_safety_free, preflight_network_health |
| MCP Discovery | Live | /.well-known/mcp.json — 2 MCP tools (the tools of the npm server) plus 4 paid HTTP endpoints under http_tools, for LLM agent auto-discovery |
| npm SDK | Published | phoenix-zero-preflight (also @phoenix-zero/preflight) — 3-line integration with createPhoenixTool() for AgentKit/LangChain |
| Olas Mech | Code ready (on-chain registration pending) | Mech marketplace tool interface |
| Direct x402 | Live | Any agent calls rtt.phoenix-ai.work with x402 payment |
| Free Demo | Live | /api/v1/demo/safe — verdict delayed 60 s, 100 calls/IP/day, no payment |
| RPC Gateway | Live | Agent uses our URL as RPC endpoint — doesn't know Phoenix exists |
12 L2 networks with 2-second sampling interval:
| Chain | Type | Chain | Type |
|---|---|---|---|
| Base | OP Stack | Scroll | zkEVM |
| Arbitrum | Nitro | Mantle | OP Stack |
| Optimism | OP Stack | Linea | zkEVM |
| zkSync | zkEVM | Blast | OP Stack |
| Mode | OP Stack | Taiko | Based rollup |
| Polygon zkEVM | zkEVM — halted since Jul 3 2026, reported chain_halted | Casper | L1 PoS |
Casper is included as an L1 reference chain (L1 thresholds: stall ≥ 10 s, high latency > 2 s).
| Network | Facilitator | Status |
|---|---|---|
Base mainnet (eip155:8453) | Coinbase CDP | Live — USDC settled on-chain |
Polygon (eip155:137) | Coinbase CDP | Offered in the 402; no settled payment yet |
Arbitrum One (eip155:42161) | Coinbase CDP | Live - 1 external payment settled on-chain (24 Oct 2026) |
| Hedera testnet | Blocky402 | Integrated (testnet) |
Every 402 response carries the x402 v2 PAYMENT-REQUIRED header and the same x402Version/accepts in the JSON body.
# Try it — returns 402 Payment Required with x402 challenge
curl -i https://rtt.phoenix-ai.work/api/v1/health
curl https://rtt.phoenix-ai.work/api/v1/demo/safe
curl https://rtt.phoenix-ai.work/api/v1/price
curl https://rtt.phoenix-ai.work/api/health
| Endpoint | Description |
|---|---|
POST /api/v1/preflight | Deterministic execution decision — PASS/DEGRADED/FAIL with evidence_id |
/api/v1/health | Full health snapshot (all 12 chains) |
/api/v1/safe | Live boolean safety verdict + reason, P99, revert ratio |
/api/v1/chains/{chain} | Single-chain telemetry |
/api/v1/classify | Agent classification: HUMAN/LEGIT_AGENT/MALICIOUS_BOT (behavioral timing, not NIC fingerprinting) |
/api/v1/correlation | 12×12 cross-chain Pearson R_xy matrix + Frobenius anomaly score |
/api/v1/health-proof | HMAC-SHA256 integrity commitment + eBPF status (not ZK — requires shared key) |
| Endpoint | Description |
|---|---|
GET /api/v1/demo/safe | Safety verdict delayed 60 s (100/day/IP) — {safe, reason, chain, demo: true, delayed_s, as_of, teaser} |
GET /api/v1/price | Current price and surge multiplier (no verdict) |
GET /api/health | Node health status |
GET /.well-known/mcp.json | MCP 1.0 tool discovery (2 MCP tools + 4 paid HTTP endpoints) |
GET /.well-known/x402 | x402 V2 agent discovery metadata |
GET /api/v1/openapi.json | OpenAPI 3.0 spec (paid operations carry a 402 response and x-payment-info) |
PhoenixOracleRegistry — 0xD394fFAE51d8fB52187Cf3aE3b014Ddc80Dc7B15 on Arbitrum Sepolia. Source: contracts/PhoenixOracleRegistry.sol (Solidity ^0.8.20).
isSafe(), riskLabel(), latest(), updateCount(); event SnapshotPublished.setOracle, transferOwnership).Every response of the paid gateway (/v1/*, both 402 and 200) carries a label for the caller: X-Silicon-DNA-Class (HUMAN / LEGIT_AGENT / MALICIOUS_BOT / SYBIL), -Confidence, -Layers (passed/14), -Layers-Applicable, -Timing-Intervals, -Timing (insufficient / human_like / agent_like / bot_like), -Paid (settled payments of this caller), -Passport. The label never blocks a request: a bot-like caller still receives the normal 402, so directories that list the oracle keep seeing the payment terms.
GET /api/agent/passport returns the full passport with an Ed25519 signature. Verify it without trusting the server: take signed_payload and signature_ed25519 from the answer and the public key from /.well-known/silicon-dna-key.json (the page explains the check in Node and Python). The payment block comes from settlements confirmed by the x402 facilitator.
Honest limit: the timing layers (L3, L4, L6, L7) need ≥ 20 request intervals from the same caller. Most API callers make fewer, so their class rests on headers and request rate until enough history accumulates (measured 8 Oct 2026: 2 of 30 outside callers had ≥ 20 intervals).
| Component | File | Description |
|---|---|---|
| x402 Gateway | gateway/x402_gateway.py | FastAPI payment gateway — CDP (Base, Polygon, Arbitrum) + Blocky402 (Hedera testnet) |
| Multi-Chain Probe | probe/multi_chain_probe.py | 12-chain RPC poller (eth_blockNumber every 2s) |
| WSS Distributor | probe/wss_distributor.py | WebSocket broadcast with BLAKE3+Ed25519 integrity signing |
| Silicon DNA | gateway/server.ts | 14-layer caller classification (L0–L13: HUMAN / LEGIT_AGENT / MALICIOUS_BOT / SYBIL): request-timing entropy, Spearman ρ, CV, header consistency (Frankenstein), Argon2id PoW, ML-KEM-768 session, Sybil cohort, session continuity |
| XDP Threat Filter | ebpf/xdp_threat_filter.c | Kernel-speed packet drop for banned IPs |
| LSM Agent Guard | ebpf/lsm_agent_guard.c | Syscall-level sandbox: block execve, restrict network |
| MCP Server | mcp-server/ | Model Context Protocol server for AI agent discovery |
| RPC Gateway | gateway/rpc_gateway.py | Transparent health-checking proxy before upstream RPC |
| Mech Tool | mech-tool/phoenix_health_check.py | Olas Mech marketplace tool interface |
eBPF XDP program (prog id 6293) on eth0 drops malicious packets before the TCP stack (run time of the XDP program: 927 ns per
Only the beginning is shown; read the rest in the repo