{"serverId":"mcp-registry/xyz.economyos/economyos","tools":[{"name":"economyos_check_mandate","fixed":{"name":"economyos_check_mandate","description":"Check whether `grantee` is authorized to perform `action` under a mandate right now (live + correct grantee + scope), and optionally whether `amount` more USDC still fits under the spend cap. Returns remainingSpend. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["mandateId","grantee","action"],"properties":{"action":{"type":"string","description":"Action tag: a 0x-prefixed 32-byte hex (e.g. keccak256 of an action name)."},"amount":{"type":"string","pattern":"^\\d+$","description":"Atomic USDC to check against the spend cap."},"grantee":{"type":"string","description":"Address/pubkey to check."},"mandateId":{"type":"string","description":"Mandate id (integer string)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Check mandate authorization"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":227,"tokensAfter":227},{"name":"economyos_find_primitive","fixed":{"name":"economyos_find_primitive","description":"Discover community primitives from the Primitive App Store (read on-demand from AgentRegistry attestations). Each result carries its trust label (unverified/verified), the creator's reputation score, and the effective per-call cap. Filter by category, chain, tier, or a search string. No payment. Use before economyos_pay_primitive.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"q":{"type":"string","description":"Substring match over id/name/summary."},"tier":{"enum":["unverified","verified"],"type":"string","description":"Filter by trust tier."},"chain":{"type":"string","description":"Restrict to one chain key."},"category":{"type":"string","description":"Discovery taxonomy bucket (e.g. escrow, data, subscriptions)."},"verifiedOnly":{"type":"boolean","description":"Shortcut for tier=verified — hide unverified primitives."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Discover App Store primitives"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":269,"tokensAfter":269},{"name":"economyos_get_agent","fixed":{"name":"economyos_get_agent","description":"Read an agent identity record (controller, metadataHash) by agent id or controller address. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["idOrAddress"],"properties":{"idOrAddress":{"type":"string","description":"Agent id or controller address."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get agent identity"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":107,"tokensAfter":107},{"name":"economyos_get_assets","fixed":{"name":"economyos_get_assets","description":"List the assets an address currently owns — ERC-721 NFTs from the OwnershipRegistry on EVM (or a single asset by numeric id), real Metaplex NFTs on Solana (or a single asset by mint address). Defaults to this agent. Free.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"idOrAddress":{"type":"string","description":"Owner address, or a numeric asset id; defaults to this agent."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get owned assets"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":141,"tokensAfter":141},{"name":"economyos_get_balance","fixed":{"name":"economyos_get_balance","description":"Read an address's USDC balance (defaults to this agent's address). No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"address":{"type":"string","description":"Address to read; defaults to the agent's own."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get USDC balance"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":96,"tokensAfter":96},{"name":"economyos_get_bounty","fixed":{"name":"economyos_get_bounty","description":"Read a bounty's reward/deadline/claims. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["bountyId"],"properties":{"bountyId":{"type":"string","description":"Bounty id (integer string)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get bounty state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":90,"tokensAfter":90},{"name":"economyos_get_coin","fixed":{"name":"economyos_get_coin","description":"Read a coin's name/symbol/supply/price; includes the agent's balance + permit nonce. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["coin"],"properties":{"coin":{"type":"string","description":"Coin contract address."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get coin state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":99,"tokensAfter":99},{"name":"economyos_get_credentials","fixed":{"name":"economyos_get_credentials","description":"List the Verifiable Credentials held under an agent DID (did:eos:agent:<id>) — signed, portable stamps (PaymentReceipt, JobCompleted, …) about the agent. Each carries a compact SD-JWT-VC verifiable OFFLINE (no chain). Free — use it to vet a counterparty's track record.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["did"],"properties":{"did":{"type":"string","description":"did:eos:agent:<id>"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get agent credentials"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":147,"tokensAfter":147},{"name":"economyos_get_did_reputation","fixed":{"name":"economyos_get_did_reputation","description":"Canonical cross-chain reputation for an agent DID (union of per-chain activity, one score). No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["did"],"properties":{"did":{"type":"string","description":"did:eos:agent:<id>"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get DID reputation"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"economyos_get_did_reputation_v2","fixed":{"name":"economyos_get_did_reputation_v2","description":"Reputation computed over the agent's held Verifiable Credential set (chain-neutral, no RPC) — parallel to the canonical on-chain-scan reputation. Returns 404 unless the server has reputation-v2 enabled. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["did"],"properties":{"did":{"type":"string","description":"did:eos:agent:<id>"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get DID reputation (v2, credential-based)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":134,"tokensAfter":134},{"name":"economyos_get_dispute","fixed":{"name":"economyos_get_dispute","description":"Read an Arbitration dispute: opener/respondent/arbiter, subject, stake, status, ruling. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["disputeId"],"properties":{"disputeId":{"type":"string","description":"Dispute id (integer string)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get dispute state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105},{"name":"economyos_get_escrow","fixed":{"name":"economyos_get_escrow","description":"Read an EscrowRouter escrow: payer/payee/arbiter, deposited/released/refunded/remaining, timeout terms. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["escrowId"],"properties":{"escrowId":{"type":"string","description":"Escrow id (integer string)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get escrow state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":108,"tokensAfter":108},{"name":"economyos_get_info","fixed":{"name":"economyos_get_info","description":"Read the configured chain's contract addresses, USDC, min payment, resolution params, and Pyth feed ids. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"Get chain info"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":73,"tokensAfter":73},{"name":"economyos_get_invoice","fixed":{"name":"economyos_get_invoice","description":"Read an invoice (issuer, payer, amount, dueBy, status). No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["invoiceId"],"properties":{"invoiceId":{"type":"string","description":"Invoice id."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get invoice state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":91,"tokensAfter":91},{"name":"economyos_get_mandate","fixed":{"name":"economyos_get_mandate","description":"Read a scoped-delegation mandate: grantor/grantee, scope hash, spend cap/spent/remaining, expiry, active. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["mandateId"],"properties":{"mandateId":{"type":"string","description":"Mandate id (integer string)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get mandate state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":110,"tokensAfter":110},{"name":"economyos_get_market","fixed":{"name":"economyos_get_market","description":"Read an OutcomeMarket's state (outcomes, curves, pot, resolution) plus the agent's per-outcome shares. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["marketId"],"properties":{"marketId":{"type":"string","description":"Market id (integer string)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get market state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":108,"tokensAfter":108},{"name":"economyos_get_passport","fixed":{"name":"economyos_get_passport","description":"Read an agent's Passport card in ONE call: identity (agentId, controller, metadataHash), reputation (score, attestations received/given), and the soulbound passport NFT (hasPassport, tokenId==agentId, metadataURI). Defaults to this agent. Free. On Solana the passport is a real Metaplex NFT once minted.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"idOrAddress":{"type":"string","description":"Agent id or controller address; defaults to this agent."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get agent passport card"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":163,"tokensAfter":163},{"name":"economyos_get_reputation","fixed":{"name":"economyos_get_reputation","description":"Read an agent's reputation summary (score, attestations given/received) by agent id or address. Defaults to this agent. Free — use it to vet a counterparty before trading with them.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"idOrAddress":{"type":"string","description":"Agent id or address; defaults to this agent."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get agent reputation"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":127,"tokensAfter":127},{"name":"economyos_get_split","fixed":{"name":"economyos_get_split","description":"Read a RevenueSplit: creator, recipients[], sharesBps[] (basis points, sum to 10000). No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["splitId"],"properties":{"splitId":{"type":"string","description":"Split id (integer string)."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get revenue split state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":102,"tokensAfter":102},{"name":"economyos_get_stream","fixed":{"name":"economyos_get_stream","description":"Read a stream (sender, recipient, rate, deposit, withdrawn, claimable). No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["streamId"],"properties":{"streamId":{"type":"string","description":"Stream id."}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Get stream state"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":95,"tokensAfter":95},{"name":"economyos_resolve_did","fixed":{"name":"economyos_resolve_did","description":"Resolve an agent's chain-neutral W3C DID Document (did:eos:agent:<id>): per-chain verification methods, the soulbound Passport anchored on each chain, and a reputation link. Cross-chain. No payment.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["did"],"properties":{"did":{"type":"string","description":"did:eos:agent:<id>"}},"additionalProperties":false},"annotations":{"readOnlyHint":true},"title":"Resolve agent DID"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":126,"tokensAfter":126}],"toolsChanged":21,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}