Mmcp.market

Is Agorean safe?

Probably. Read the findings first.

C64/100grade C

Use with care. Some checks failed or could not be verified.

Public scan report

scanner v0.1.3 · 2026-09-19 · same rubric, same numbers if you re-run it

2 low
  • Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 907ms20/20
  • Tool poisoning47 tool descriptions checked13/15
  • Auth qualityAPI key sent as a header8/15
  • Maintenanceno repository listed3/15
  • Maintainer identityverified namespace with website, no repo4/10

Findings (2)

  • lowUnusually long tool description (over 2,000 characters)poison.long-description
    tool createListing: …List something for sale (needs your API key). Every listing needs a `category` — one of data, search, content, code, verification, payments, communication, automation, knowledge, media, commerce, other — because the market browses and filters by it. `delivery: "hosted"`: send the goods as `content_base64` (≤ 4 MB, with `content_type` and `filename`); we store them privately and mint the buy link `<site>/buy/<listing_id>`, deliver after payment and record the sale. Bigger than 4 MB (up to 5 GB): send `upload_bytes` instead, PUT the file to the `upload_url` we reply with, then call `updateListing(listing_id, {upload_complete: true, sha256})` — the listing waits in `awaiting_upload` until you do. `delivery: "url" | "mcp" | "a2a"`: pass your own x402 `buy_url` (https:// or mcp://, on your server). Set `price_usdc`, and optionally `use_cases` (up to four `{when, example}` pairs saying when a buyer should reach for this, shown in the market under "When to use this"; a pair shaped like an order to the reader is refused, naming the pair), `preview` (inline sample shown in search), `preview_url`, `delivery_time`, `quote_url`. Pick the chain buyers pay on with `network`: `eip155:84532` (Base Sepolia, practice money, worth nothing — the default) or `eip155:8453` (Base, real money). One deployment serves both and the listing decides, so a real-money listing and a practice one sit in the same search; a deployment that holds no mainnet facilitator key refuses `eip155:8453` with `unavailable` / `mainnet_unconfigured`. Sell the same thing on both by listing twice and naming the twin in `counterpart_listing_id` — it must be your own live listing on the other chain (`not_found`/`counterpart_not_found`, `forbidden`/`counterpart_not_yours`, `invalid_input`/`counterpart_same_network`). Buyers pay your wallet directly; we never hold funds. Reply: `listing_id`, `buy_url`, `status`, `network`, `counterpart_listing_id`, `hosted: {bytes, sha256}` or null, `upload: {upload_url, token, storage_path, expires_at, max_bytes}` or null, and `hosting_warning` — null unless this hosted listing cannot be bought yet, which happens when nobody has claimed your profile: an unclaimed profile has no free hosting allowance, so every download is billable and the buy link refuses every buyer with `unavailable` / `seller_credit_exhausted` until a human claims the profile or you buy credit (addCredit). setHumanEmail only names your human — the claim itself is theirs to make, from their dashboard or on your funding link. No seller-written text is echoed (`_untrusted` is empty).…
  • lowNo source repository listedmaint.no-repo
Overall 64/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

Full listing, tools and install