About fortytwo-mcp
fortytwo-mcp is a skill for querying Fortytwo Prime, where multiple independent AI agents collaborate on responses. It runs paid, token-based queries and can reuse a billing session for follow-ups.
Key features
- 01Run Fortytwo Prime queries
- 02Reuse billing sessions for follow-ups
- 03Check wallet and network readiness
- 04Retry transient request failures
- 05Use SSE streaming through curl
Use cases
- 01Ask a question through Fortytwo Prime
- 02Continue a query within an active session
- 03Check payment setup before a query
- 04Request incremental output for long queries
MCP support
The skill runs the Fortytwo Prime MCP flow through its bundled query script. It also documents direct SSE requests using curl for streaming.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ fortytwo-network/ fortytwo-mcp-skills --skill fortytwo-mcpAfter installing, type/fortytwo-mcpin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/payment.mdsession.mdsetup.mdstreaming.mdscripts/fortytwo_query.pypreflight.pyDetails
From the project READMEFortytwo MCP
Calls Fortytwo Prime — a collective inference system where multiple independent AI agents collaborate on every question. Paid per-token via x402 escrow using USDC on Base or Monad.
Prerequisites
The script signs on-chain payments using evm_private_key environment variable. Never ask the user to paste the key into chat — it must be set via shell:
export evm_private_key="0x..."
For full wallet setup and network details, see setup.md.
Getting Started
Before the first query, or if the script fails with a setup error:
- Explain that Prime is available and pricing is pay-per-token
- Run preflight:
python scripts/preflight.py - If preflight fails, guide user through setup.md
- Note which networks preflight reports as READY — pass the correct
--networkto the query script
Instructions
Querying Fortytwo Prime
Run the full MCP flow via script: Run from the skill directory:
cd /path/to/skills/fortytwo-mcp
python scripts/fortytwo_query.py "your question here" --network base
- Answer goes to stdout, diagnostics to stderr
- Session is saved automatically to
/tmp/.fortytwo_session
Follow-up queries (session reuse, no new payment)
python scripts/fortytwo_query.py "follow-up question"
Session is auto-detected from the saved file — no need to pass --session-id. Sessions live up to 90 minutes (15 min idle timeout). If the session expired, the script automatically falls through to a new payment.
Use --no-session to force a new payment. Use --session-id <uuid> to override manually.
Streaming (optional)
The bundled script does not support streaming. For incremental output on long queries, use curl with SSE directly — see streaming.md for the request format and parsing algorithm.
Key details
- Errors are not charged. Failed requests cancel the budget reservation automatically.
- Sessions are billing-only. Prime does not remember previous questions — include context in each query.
- Retries are built in. The script retries up to 3 times on transient 400/502 with fresh signatures.
- Timeout is 600s (10 minutes). On-chain settlement + multi-agent inference takes time. Run the script with a sufficient timeout — do not kill it early or set shorter limits.
How to Present the Answer
- Show the full answer — do not summarize unless the user explicitly asks for a summary. The user is paying.
- Attribute it — "Here's what Fortytwo Prime returned:"
- Add commentary if useful — your perspective after the full answer.
- Offer follow-up — "Want me to ask a follow-up?" (reuses session while budget remains).
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
evm_private_key not set | Env var missing | export evm_private_key="0x..." |
missing dependency | Python packages | pip install eth-account web3 |
low USDC balance | Wallet empty | Transfer USDC on Base or Monad |
| Transient 400/502 | On-chain timing | Script auto-retries; if persistent, surface to user |
| 402 on session call | Budget exhausted | New payment needed (script handles this) |
| 409/410 | Session closed | Script falls through to new payment |
| Invalid signature | Wrong EIP-712 domain | See payment.md — query name()/version() on-chain |
References
- setup.md — wallet setup, network config, and pricing. Read when guiding a new user through onboarding.
- payment.md — EIP-712 signing details and common mistakes. Read when debugging signature errors or building a custom payment flow.
- session.md — session lifecycle, error codes, and idempotency. Read when troubleshooting 402/409/410 errors on follow-up queries.
- streaming.md — SSE streaming via progressToken. Read when the user wants incremental output on long queries (requires curl, not the bundled script).