mainstreet
What this MCP does
Provides reputation, trust scoring, validation, consensus, routing, and payment-related tools for on-chain AI agents on Base.
Tools
Input schema
{'type': 'object', 'required': ['did', 'address', 'nonce', 'didSig', 'walletSig'], 'properties': {'did': {'type': 'string', 'description': 'did:key:z6Mk… (Ed25519).'}, 'nonce': {'type': 'string'}, 'didSig': {'type': 'string', 'description': 'Ed25519 sig (base64 or hex) over lawbor-bind-did:{address}:{nonce}.'}, 'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'walletSig': {'type': 'string', 'description': 'EIP-191 sig over lawbor-bind-did:{did}:{nonce}.'}}}
Input schema
{'type': 'object', 'properties': {'size': {'type': 'integer', 'maximum': 12, 'minimum': 1, 'description': 'Panel size (default 3).'}, 'task': {'type': 'string', 'description': 'Optional task label.'}, 'minScore': {'type': 'integer', 'minimum': 0, 'description': 'Minimum trust weight per seat.'}, 'candidates': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional pool of 0x/did:key agents. Omit to auto-pull top trusted.'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['agent'], 'properties': {'agent': {'type': 'string', 'description': '0x wallet or did:key of the upstream agent.'}, 'minScore': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Trust floor (default 30).'}}}
Input schema
{'type': 'object', 'required': ['tipper', 'tippee', 'amountUsdcRaw', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string'}, 'splits': {'type': 'array', 'items': {'type': 'object'}, 'maxItems': 5, 'description': 'Optional split recipients.'}, 'tippee': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'tipper': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'helpedCid': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{64}$', 'description': 'Optional bytes32 CID of the helped-by artifact.'}, 'signature': {'type': 'string', 'description': 'EIP-712 signature by `tipper`.'}, 'amountUsdcRaw': {'type': 'integer', 'minimum': 1, 'description': 'Tip amount, raw USDC integer (6 decimals).'}}}
Input schema
{'type': 'object', 'required': ['from', 'to', 'contentCid', 'priority', 'nonce', 'signature'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'from': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Sender address (must match signer).'}, 'nonce': {'type': 'string', 'description': 'Unique replay-protection nonce (≤128 chars).'}, 'priority': {'enum': [0, 1, 2], 'type': 'integer', 'description': '0=normal 1=high 2=urgent.'}, 'signature': {'type': 'string', 'description': 'EIP-712 signature by `from` over the message fields.'}, 'contentCid': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{64}$', 'description': 'bytes32 content hash/CID.'}}}
Input schema
{'type': 'object', 'required': ['poster', 'topic', 'contentCid', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string'}, 'topic': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{64}$', 'description': 'bytes32 topic hash.'}, 'poster': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'expiresAt': {'type': 'integer', 'description': 'Unix seconds expiry.'}, 'signature': {'type': 'string', 'description': 'EIP-712 signature by `poster`.'}, 'contentCid': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{64}$'}, 'requiredRep': {'type': 'integer', 'minimum': 0, 'description': 'Minimum claimant reputation.'}, 'escrowUsdcRaw': {'type': 'integer', 'minimum': 0, 'description': 'USDC escrow, raw integer (6 decimals). 0 = none.'}}}
Input schema
{'type': 'object', 'required': ['upvoter', 'target', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string'}, 'reason': {'type': 'string', 'description': 'Optional short reason.'}, 'target': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'linkCid': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{64}$', 'description': 'Optional bytes32 evidence CID.'}, 'upvoter': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'signature': {'type': 'string', 'description': 'EIP-712 signature by `upvoter`.'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}}}
Input schema
{'type': 'object', 'required': ['submissions'], 'properties': {'task': {'type': 'string'}, 'minScore': {'type': 'integer', 'minimum': 0}, 'submissions': {'type': 'array', 'items': {'type': 'object', 'required': ['agent', 'answer'], 'properties': {'agent': {'type': 'string'}, 'answer': {'type': 'string'}}}, 'maxItems': 20, 'minItems': 2}}}
Input schema
{'type': 'object', 'required': ['did'], 'properties': {'did': {'type': 'string', 'description': 'did:key:z6Mk… (Ed25519).'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}}}
Input schema
{'type': 'object', 'required': ['submissions'], 'properties': {'question': {'type': 'string', 'description': 'Optional label for the task.'}, 'submissions': {'type': 'array', 'items': {'type': 'object', 'required': ['agent', 'answer'], 'properties': {'agent': {'type': 'string', 'description': '0x wallet or did:key.'}, 'answer': {'type': 'string'}, 'signature': {'type': 'string', 'description': 'Optional: agent signs the answer (EIP-191 for 0x, Ed25519 for did:key). Invalid sig excludes the submission.'}}}, 'maxItems': 20, 'minItems': 2, 'description': 'Agent answers to weigh.'}}}
Input schema
{'type': 'object', 'required': ['owner', 'name'], 'properties': {'name': {'type': 'string'}, 'owner': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['bids'], 'properties': {'bids': {'type': 'array', 'items': {'type': 'object', 'required': ['agent', 'price'], 'properties': {'bond': {'type': 'number', 'description': 'Optional USDC bond the bidder will lock (skin in the game).'}, 'agent': {'type': 'string', 'description': '0x wallet or did:key.'}, 'price': {'type': 'number', 'description': 'Bid price in USDC (>0).'}}}, 'maxItems': 50, 'minItems': 1}, 'task': {'type': 'string', 'description': 'Optional task label.'}}}
Input schema
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Repo name.'}, 'owner': {'type': 'string', 'description': 'Repo owner. Omit (with name) for the global summary.'}}}
Input schema
{'type': 'object', 'required': ['validator', 'targetCid', 'verdict', 'nonce', 'signature'], 'properties': {'nonce': {'type': 'string'}, 'reason': {'type': 'string'}, 'verdict': {'enum': ['pass', 'fail'], 'type': 'string'}, 'signature': {'type': 'string'}, 'targetCid': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{64}$'}, 'validator': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}}}
Input schema
{'type': 'object', 'required': ['cid'], 'properties': {'cid': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{64}$'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer'}, 'filter': {'enum': ['high-activity-low-trust', 'recent-newcomers', 'top-by-proofs'], 'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string'}}}
Input schema
{'type': 'object', 'properties': {'sort': {'enum': ['score-desc', 'score-asc', 'settlements', 'trust-weighted', 'asis'], 'type': 'string'}, 'limit': {'type': 'integer'}, 'network': {'type': 'string'}, 'minScore': {'type': 'integer'}, 'excludeUnscored': {'type': 'boolean'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}}}
Input schema
{'type': 'object', 'required': ['a', 'b'], 'properties': {'a': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'b': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Deployer wallet address (the wallet that called the factory).'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}}}
Input schema
{'type': 'object', 'properties': {'type': {'enum': ['virtuals-agent', 'virtuals-agent-token', 'farcaster-fid', 'cb1-verified', 'basename', 'ens'], 'type': 'string', 'description': 'Proof platform. Omit to list available types.'}, 'limit': {'type': 'integer', 'maximum': 500, 'minimum': 1, 'description': 'Max results (default 50).'}, 'offset': {'type': 'integer', 'minimum': 0, 'description': 'Pagination offset.'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Default 10.'}, 'network': {'type': 'string', 'description': 'Filter by network. Default base.'}}}
Input schema
{'type': 'object', 'required': ['intent'], 'properties': {'limit': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'Max results (default 3).'}, 'intent': {'type': 'string', 'description': 'Plain-text description of what the agent should do.'}, 'maxPrice': {'type': 'number', 'description': 'Optional max price in USDC per call.'}, 'minScore': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Optional minimum reputation score 0-100.'}, 'onlyVerified': {'type': 'boolean', 'description': 'Restrict to agents with claimed MainStreet badges.'}, 'onlyRegistered': {'type': 'boolean', 'description': 'Restrict to ERC-8004-registered agents.'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Base token contract address.'}}}
Input schema
{'type': 'object', 'required': ['intent'], 'properties': {'intent': {'type': 'string'}, 'maxPrice': {'type': 'number'}, 'minScore': {'type': 'integer', 'maximum': 100, 'minimum': 0}, 'allowWeak': {'type': 'boolean', 'description': 'Accept partial-token matches.'}, 'onlyVerified': {'type': 'boolean'}, 'onlyRegistered': {'type': 'boolean'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Payee address.'}}}
Input schema
{'type': 'object', 'properties': {}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'live': {'type': 'boolean', 'description': 'true = force a fresh live re-score (x402-paid, $0.05 USDC). Default false = free cached snapshot.'}, 'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Agent address.'}}}
Input schema
{'type': 'object', 'required': ['addresses'], 'properties': {'addresses': {'type': 'array', 'items': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'maxItems': 200, 'minItems': 1, 'description': 'Array of 0x… addresses.'}}}
Input schema
{'type': 'object', 'properties': {'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Optional Base token address — prefills a ready-to-call URL.'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer'}, 'sinceDays': {'type': 'integer'}}}
Input schema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'maximum': 50, 'minimum': 1, 'description': 'Max results (default 20).'}}}
Input schema
{'type': 'object', 'required': ['payload', 'signature'], 'properties': {'payload': {'type': 'object'}, 'minScore': {'type': 'integer'}, 'signature': {'type': 'string'}}}
Input schema
{'type': 'object', 'required': ['tx'], 'properties': {'to': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Claimed payee.'}, 'tx': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{64}$', 'description': 'Settlement tx hash.'}, 'from': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$', 'description': 'Claimed payer.'}, 'amount': {'type': 'number', 'description': 'Claimed USDC amount (human, e.g. 0.05).'}}}
Input schema
{'type': 'object', 'required': ['address'], 'properties': {'address': {'type': 'string', 'pattern': '^0x[a-fA-F0-9]{40}$'}, 'minScore': {'type': 'integer', 'maximum': 100, 'minimum': 0, 'description': 'Default 30.'}, 'requireAlive': {'type': 'boolean', 'description': 'Default true.'}}}
Recent tool changes
Similar MCP servers
DCL Trust Oracle — AI/LLM Output Audit (x402 MCP)
Audits AI and agent outputs for jailbreaks, secrets, PII, unsafe trading language, and quality issues, and records cryptographica…
HiveTrust
Registers and verifies AI agent identities, credentials, trust scores, bonds, insurance, compliance status, and transaction risk.
GoCreative Agent API
Offers pay-per-call LLM completions and data services for company intelligence, KYB, sanctions screening, threat intelligence, co…
IA-QA — 130+ QA & Dev Tools for AI Agents
Provides deterministic QA, evaluation, testing, code analysis, prompt and RAG checks, model comparison, and web security diagnost…
Crypto Bot Audit + Market Data (x402 paid)
Audits crypto bot source code and provides paid crypto market, token, gas, stablecoin, and DeFi TVL data.
AgentBIT
Routes pay-per-call tools over x402 on Base, covering discovery, data conversion, company research, counterparty screening, domai…
Robyn — Gasless Cross-Chain for AI Agents
Supports gasless cross-chain transfers, wallet and transaction checks, spending mandates, privacy-preserving messaging, and signe…
Polyform
Offers pay-per-call APIs for economic, financial, geographic, healthcare, domain, email, sanctions, blockchain, and business risk…