Flow — Base quotes & contract safety for agents
by flow-executor · remote · no sign-in to list tools · v0.1.0 · published by GitHub user flow-executor
Best-execution quotes and contract safety checks on Base for AI agents, paid per call via x402.
4 tools: 2 change things and 2 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things2Claude Code: ask: see these tools
- Only reads2Claude Code: allow: see these tools
1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http flow https://flow-kg4x.vercel.app/api/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnflow_quote
The input schema at properties.tokenIn.description contains a 42-character base64 string.
What this check looks forMatched text
inputSchema.properties.tokenIn.description: "...on Base (e.g. USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA4E46E)"
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
4 tools
Changes things 2Claude Code: ask
flow_healthCheck the Flow quote API health: status, chain, and latest synced block number.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Check the Flow quote API health: status, chain, and latest synced block number.
flow_paycheckBefore you pay this agent, check.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it Before you pay this agent, check. PayCheck ($0.50 USDC via x402 on Base) runs Flow's whole checker stack on a payee in ONE call — the payee verdict (kind, on-chain activity, the full contract-safety engine when the payee is a contract), the wallet approval-exposure audit, contract safety, and the payee's recent USDC settlement history — and returns one finished grade (ALLOW / REVIEW / BLOCK with a 0-100 score), a verify_status (verified / failed / unverified_verifier_down), every check, the evidence under it, and a receipt. The guarantee: the report is produced before settlement; if it cannot be produced, the payment is never settled — no report, no charge. Flow Promise: pass amountUsd to declare the intended payment (up to $100) and an ALLOW grade carries bonded coverage — 25% of the payment back (max $10) from the Promise Pool if the payee settles and does not deliver within 24h (pool: GET /api/paycheck/promise; claims: POST /api/paycheck/claim). This hosted endpoint does not hold a wallet: an unpaid call returns the endpoint's x402 payment challenge itself, never an invented result. Pay it with any x402 client, or use the @flowexecutor/flow-mcp stdio package with an Early Builder Key.
Only reads 2Claude Code: allow
flow_quoteGet a best-execution swap quote on Base.1 finding
Why it is in this group
- The description's first verb is "get": a word for reading.
Findings
- Warn
The input schema at properties.tokenIn.description contains a 42-character base64 string.
What this check looks forMatched text
inputSchema.properties.tokenIn.description: "...on Base (e.g. USDC 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA4E46E)"
Description, as the server wrote it Get a best-execution swap quote on Base. Compares Uniswap V3, PancakeSwap V3 and Aerodrome (plus two-hop routes via WETH), returns the winning venue, expected output, edge in bps vs the baseline, a liquidity flag (deep/watch/thin), the exact block number and timestamp, and build latency. Read-only: no funds move.
flow_searchVerified Search ($0.01 USDC via x402 on Base): web search where every result is independently checked by Flow before it reaches you — the result URL is fetched live (liveness, fina…No findings
Why it is in this group
- The name "flow_search" says "search": a word for reading.
Description, as the server wrote it Verified Search ($0.01 USDC via x402 on Base): web search where every result is independently checked by Flow before it reaches you — the result URL is fetched live (liveness, final HTTP status recorded) and the fetched page text is matched against the result's own title/snippet terms (content-match score). Each result carries a verify_status (verified / failed / unverified_verifier_down), its httpStatus and contentMatch, and the response carries a receipt counting checked / verified / failed. Bad results are flagged, never silently dropped. The guarantee: the search is produced before settlement; if it cannot be produced, the payment is never settled. This hosted endpoint does not hold a wallet: an unpaid call returns the endpoint's x402 payment challenge itself, never an invented result. Pay it with any x402 client, or use the @flowexecutor/flow-mcp stdio package with an Early Builder Key.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http flow https://flow-kg4x.vercel.app/api/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__flow__flow_quote",
"mcp__flow__flow_search"
],
"ask": [
"mcp__flow__flow_paycheck",
"mcp__flow__flow_health"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as flow. Review it before you use it.
