Server data from the Official MCP Registry
Paid Arbitrum transaction simulation and risk scoring for wallets and AI agents.
Paid Arbitrum transaction simulation and risk scoring for wallets and AI agents.
Valid MCP server (2 strong, 3 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry.
7 files analyzed · 1 issue found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: CLIENT_PRIVATE_KEY
Environment variable: SERVER_URL
Environment variable: CHAIN_ID
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-naur9n-arbitrum-transaction-preflight": {
"env": {
"CHAIN_ID": "your-chain-id-here",
"SERVER_URL": "your-server-url-here",
"CLIENT_PRIVATE_KEY": "your-client-private-key-here"
},
"args": [
"-y",
"arbitrum-mpp-transaction-preflight"
],
"command": "npx"
}
}
}From the project's GitHub README.
Paid transaction simulation and risk reports for wallets, bots, and AI agents. Before a transaction is signed, the API checks whether it simulates successfully, estimates gas, detects token/NFT approvals, inspects the target, and returns a machine-readable risk score.
Production API: https://arbitrum-mpp-transaction-preflight-production.up.railway.app
42161)0xaf88d065e77c8cC2239327C5EDb3A432268e5831)0.10 USDC per report (100000 raw USDC units)The service never asks for a transaction-signing wallet. The example MPP/MCP clients use a separate low-value payer key only to authorize the API payment.
The hosted service exposes free discovery metadata:
GET / — product, network, price, and endpoint summaryGET /health — health checkGET /openapi.json — MPP-aware OpenAPI 3.1 discovery documentGET /llms.txt — concise instructions for AI agentsGET /.well-known/agent.json — agent/service metadataMPP clients call:
POST /v1/preflight
When x402 is enabled, x402 clients call:
POST /x402/v1/preflight
{
"from": "0x0000000000000000000000000000000000000001",
"to": "0x0000000000000000000000000000000000000002",
"data": "0x",
"valueEth": "0"
}
from and to are required. data defaults to 0x. Use either valueEth
or valueWei for native value. A successful paid response contains:
approve and NFT setApprovalForAll detection;Automated simulation and heuristics reduce risk but are not a guarantee of safety.
Requirements: Node.js 22+ and a dedicated server wallet. On mainnet, the server wallet needs a small Arbitrum One ETH balance for MPP settlement gas.
npm install
cp .env.example .env
npm run server
Minimum production configuration:
SERVER_PRIVATE_KEY=0x...
CHAIN_ID=42161
ARBITRUM_RPC=https://arb1.arbitrum.io/rpc
PRICE_RAW_USDC=100000
ENABLE_FREE_DEMO=false
SERVER_URL=https://arbitrum-mpp-transaction-preflight-production.up.railway.app
Never commit .env or expose SERVER_PRIVATE_KEY.
The included client performs the complete 402 -> authorization -> retry -> receipt flow:
CLIENT_PRIVATE_KEY=0x...
TARGET_ADDRESS=0x...
SERVER_URL=https://arbitrum-mpp-transaction-preflight-production.up.railway.app
CHAIN_ID=42161
npm run client
The payer needs native USDC on Arbitrum One. It does not need ETH for the MPP payment; the merchant settles the signed EIP-3009 authorization.
The MCP server exposes check_arbitrum_transaction. It uses the caller's
dedicated CLIENT_PRIVATE_KEY to pay the hosted MPP API, so each tool call
produces API revenue instead of bypassing payment.
npm run mcp
After the npm package is published, MCP hosts can run:
{
"mcpServers": {
"arbitrum-preflight": {
"command": "npx",
"args": ["-y", "arbitrum-mpp-transaction-preflight"],
"env": {
"CLIENT_PRIVATE_KEY": "0x...",
"SERVER_URL": "https://arbitrum-mpp-transaction-preflight-production.up.railway.app",
"CHAIN_ID": "42161"
}
}
}
}
Use a dedicated low-value payer wallet. Never reuse a valuable wallet key.
Production x402 settlement on Arbitrum uses Coinbase's CDP facilitator. Create a CDP project and add these Railway variables:
ENABLE_X402=true
CDP_API_KEY_ID=...
CDP_API_KEY_SECRET=...
The server then exposes POST /x402/v1/preflight with Bazaar discovery metadata.
MPP remains available at POST /v1/preflight; the two payment channels share the
same analysis engine and merchant address.
npm run typecheck
npm run build
npm pack --dry-run
Set ENABLE_FREE_DEMO=true only for local development to expose
POST /demo/preflight without payment. Never enable it in production.
The repository includes server.json and npm metadata for the official MCP
Registry. Release order:
arbitrum-mpp-transaction-preflight to npm;server.json with mcp-publisher;Official Arbitrum MPP guide: https://docs.arbitrum.io/build-decentralized-apps/machine-payments-protocol
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.