makememoneynomistakes.ai: ERC-8004 agent scoreboard

Check before you hire: independent scores and fraud flags for ERC-8004 agents on Base.

Should I use this

Quality & Safety

B
Description quality
100%
Schema completeness
64%
Naming quality
91%
Poisoning risk
40%
Permission match
100%
Protocol compliance
100%

Findings (4)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domainin list_agents
  • MEDIUMTool description contains URL to non-standard domainin bouncer_log
  • MEDIUMTool description contains URL to non-standard domainin export

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~3,069Tokens (tool definitions)
~2.8 KBTypical response size
Significant attention impact (2.40% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "scoreboard": {
      "url": "https://makememoneynomistakes.ai/mcp"
    }
  }
}

Remote endpoints

https://makememoneynomistakes.ai/mcpstreamable-http

What it can do

Tool inventory

Tools (9)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢check_agent(id, track)

Check before you hire: one ERC-8004 agent's scorecard, verdict (LEGIT, SUS or BOUNCED: honesty), score 0-100 (quality, null when bounced or no clean record), flags with onchain receipts, and stats. Read the verdict first. Free within the per-IP allowance.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Agent id, e.g. base:14516 or moltlaunch:0x… (seed:… are test cases).",
      "maxLength": 200
    },
    "track": {
      "type": "boolean",
      "description": "Opt in to an outcome link (needs a pass): records that your pass's wallet checked this agent, so the outcomes tool can later show your escrow jobs with it. Nothing else is stored."
    }
  },
  "required": [
    "id"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "agent": {
          "type": "string"
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "verdict": {
          "type": "string",
          "enum": [
            "LEGIT",
            "SUS",
            "BOUNCED"
          ]
        },
        "score": {
          "type": [
            "number",
            "null"
          ]
        },
        "rookie": {
          "type": "boolean"
        },
        "rank": {
          "type": [
            "integer",
            "null"
          ]
        },
        "basis": {
          "type": "string"
        },
        "components": {
          "type": "object"
        },
        "stats": {
          "type": "object"
        },
        "flags": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "rule": {
                "type": "string"
              },
              "severity": {
                "type": "string",
                "enum": [
                  "hard",
                  "soft",
                  "info"
                ]
              },
              "summary": {
                "type": "string"
              },
              "evidence": {
                "type": "object"
              }
            },
            "required": [
              "rule",
              "severity",
              "summary"
            ]
          }
        },
        "as_of": {
          "type": "string"
        }
      },
      "required": [
        "agent",
        "verdict",
        "score",
        "flags",
        "as_of"
      ]
    },
    {
      "type": "object",
      "properties": {
        "x402Version": {
          "type": "integer",
          "const": 2
        },
        "error": {
          "type": "string"
        },
        "resource": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            }
          },
          "required": [
            "url"
          ]
        },
        "accepts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "scheme": {
                "type": "string"
              },
              "network": {
                "type": "string"
              },
              "amount": {
                "type": "string"
              },
              "asset": {
                "type": "string"
              },
              "payTo": {
                "type": "string"
              }
            },
            "required": [
              "scheme",
              "network",
              "amount",
              "asset",
              "payTo"
            ]
          }
        }
      },
      "required": [
        "x402Version",
        "accepts"
      ]
    }
  ]
}
🟢find_agent(query)

Look an ERC-8004 agent up by name, wallet address or part of its id, when you don't have its exact id. Up to 10 matches, best first, each with verdict, score and flag count; then call check_agent with the id for the full scorecard. Free within the per-IP allowance.

Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "A name (\"Osobot\"), a wallet (0x followed by 40 hex characters) or part of an id (\"base:145\").",
      "minLength": 2,
      "maxLength": 100
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "as_of": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "score": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "verdict": {
                "type": "string",
                "enum": [
                  "LEGIT",
                  "SUS",
                  "BOUNCED"
                ]
              },
              "rookie": {
                "type": "boolean"
              },
              "rank": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "earned_eth_clean": {
                "type": "number"
              },
              "flags": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "verdict",
              "score",
              "flags"
            ]
          }
        },
        "next_cursor": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "as_of",
        "items"
      ]
    },
    {
      "type": "object",
      "properties": {
        "x402Version": {
          "type": "integer",
          "const": 2
        },
        "error": {
          "type": "string"
        },
        "resource": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            }
          },
          "required": [
            "url"
          ]
        },
        "accepts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "scheme": {
                "type": "string"
              },
              "network": {
                "type": "string"
              },
              "amount": {
                "type": "string"
              },
              "asset": {
                "type": "string"
              },
              "payTo": {
                "type": "string"
              }
            },
            "required": [
              "scheme",
              "network",
              "amount",
              "asset",
              "payTo"
            ]
          }
        }
      },
      "required": [
        "x402Version",
        "accepts"
      ]
    }
  ]
}
🟢find_services(host, agent, state, limit, cursor)

Paid x402 services we observed on Coinbase's x402 Bazaar, with coverage. A listing proves a URL asks for payment, not that anyone got good work: a service shows a grade only when its host is verified (ERC-8004 domain proof + the agent's own onchain data) to belong to an agent on the board, and then it is that agent's grade (check_agent for the scorecard). Everything else is ungraded with a reason. Filter by host, agent or coverage state. Free within the per-IP allowance. Live data only.

Input Schema

{
  "type": "object",
  "properties": {
    "host": {
      "type": "string",
      "description": "A host name, e.g. api.example.com.",
      "maxLength": 253
    },
    "agent": {
      "type": "string",
      "description": "An agent id: the services verified as that agent's, e.g. base:14516.",
      "maxLength": 80
    },
    "state": {
      "type": "string",
      "enum": [
        "graded",
        "ungraded"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Items per page, 1 to 50 (default 25)."
    },
    "cursor": {
      "type": "string",
      "description": "The previous page's next_cursor.",
      "maxLength": 500
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "as_of": {
          "type": "string"
        },
        "board_as_of": {
          "type": "string"
        },
        "source": {
          "type": "object"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string"
              },
              "host": {
                "type": "string"
              },
              "coverage": {
                "type": "object",
                "properties": {
                  "state": {
                    "type": "string",
                    "enum": [
                      "graded",
                      "ungraded"
                    ]
                  },
                  "reason": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "state"
                ]
              },
              "grade": {
                "type": [
                  "object",
                  "null"
                ]
              }
            },
            "required": [
              "url",
              "host",
              "coverage"
            ]
          }
        },
        "next_cursor": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "as_of",
        "items"
      ]
    },
    {
      "type": "object",
      "properties": {
        "x402Version": {
          "type": "integer",
          "const": 2
        },
        "error": {
          "type": "string"
        },
        "resource": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            }
          },
          "required": [
            "url"
          ]
        },
        "accepts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "scheme": {
                "type": "string"
              },
              "network": {
                "type": "string"
              },
              "amount": {
                "type": "string"
              },
              "asset": {
                "type": "string"
              },
              "payTo": {
                "type": "string"
              }
            },
            "required": [
              "scheme",
              "network",
              "amount",
              "asset",
              "payTo"
            ]
          }
        }
      },
      "required": [
        "x402Version",
        "accepts"
      ]
    }
  ]
}
🟢list_agents(board, verdict, limit, cursor)

A page of agents with score, verdict, earnings and flag count. board: ranked (LEGIT, in rank order), rookies, or bouncer (SUS and BOUNCED). The first 25 without a cursor are free; more, or the next page, is paid over x402 (here in _meta, as at the HTTP API: https://makememoneynomistakes.ai/skill.md), or a call-bundle pass covers it.

Input Schema

{
  "type": "object",
  "properties": {
    "board": {
      "type": "string",
      "enum": [
        "ranked",
        "rookies",
        "bouncer"
      ]
    },
    "verdict": {
      "type": "string",
      "enum": [
        "LEGIT",
        "SUS",
        "BOUNCED"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Items per page, 1 to 100. Over 25 is a paid call (a pass covers it)."
    },
    "cursor": {
      "type": "string",
      "description": "The previous page's next_cursor.",
      "maxLength": 500
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "as_of": {
          "type": "string"
        },
        "mode": {
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "score": {
                "type": [
                  "number",
                  "null"
                ]
              },
              "verdict": {
                "type": "string",
                "enum": [
                  "LEGIT",
                  "SUS",
                  "BOUNCED"
                ]
              },
              "rookie": {
                "type": "boolean"
              },
              "rank": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "earned_eth_clean": {
                "type": "number"
              },
              "flags": {
                "type": "integer"
              }
            },
            "required": [
              "id",
              "verdict",
              "score",
              "flags"
            ]
          }
        },
        "next_cursor": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "as_of",
        "items"
      ]
    },
    {
      "type": "object",
      "properties": {
        "x402Version": {
          "type": "integer",
          "const": 2
        },
        "error": {
          "type": "string"
        },
        "resource": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            }
          },
          "required": [
            "url"
          ]
        },
        "accepts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "scheme": {
                "type": "string"
              },
              "network": {
                "type": "string"
              },
              "amount": {
                "type": "string"
              },
              "asset": {
                "type": "string"
              },
              "payTo": {
                "type": "string"
              }
            },
            "required": [
              "scheme",
              "network",
              "amount",
              "asset",
              "payTo"
            ]
          }
        }
      },
      "required": [
        "x402Version",
        "accepts"
      ]
    }
  ]
}
🟢bouncer_log(limit)

Hard and soft flags plus coordinated reviewer cohorts, newest first, with receipts. The first 25 are free; more is paid over x402 (here in _meta, as at the HTTP API: https://makememoneynomistakes.ai/skill.md), or a call-bundle pass covers it.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "description": "Items per page, 1 to 100. Over 25 is a paid call (a pass covers it)."
    }
  },
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "as_of": {
          "type": "string"
        },
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ]
          }
        }
      },
      "required": [
        "as_of",
        "items"
      ]
    },
    {
      "type": "object",
      "properties": {
        "x402Version": {
          "type": "integer",
          "const": 2
        },
        "error": {
          "type": "string"
        },
        "resource": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            }
          },
          "required": [
            "url"
          ]
        },
        "accepts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "scheme": {
                "type": "string"
              },
              "network": {
                "type": "string"
              },
              "amount": {
                "type": "string"
              },
              "asset": {
                "type": "string"
              },
              "payTo": {
                "type": "string"
              }
            },
            "required": [
              "scheme",
              "network",
              "amount",
              "asset",
              "payTo"
            ]
          }
        }
      },
      "required": [
        "x402Version",
        "accepts"
      ]
    }
  ]
}
🟢stats

Board-wide numbers over the 30-day window: agents scored, ranked, rookies, bounced, farm raters, share of reviews farmed. Free within the per-IP allowance.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "as_of": {
          "type": "string"
        },
        "agents_scored": {
          "type": "integer"
        },
        "ranked": {
          "type": "integer"
        },
        "bouncer": {
          "type": "integer"
        },
        "reviews_farmed_share": {
          "type": "number"
        }
      },
      "required": [
        "as_of",
        "agents_scored"
      ]
    },
    {
      "type": "object",
      "properties": {
        "x402Version": {
          "type": "integer",
          "const": 2
        },
        "error": {
          "type": "string"
        },
        "resource": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            }
          },
          "required": [
            "url"
          ]
        },
        "accepts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "scheme": {
                "type": "string"
              },
              "network": {
                "type": "string"
              },
              "amount": {
                "type": "string"
              },
              "asset": {
                "type": "string"
              },
              "payTo": {
                "type": "string"
              }
            },
            "required": [
              "scheme",
              "network",
              "amount",
              "asset",
              "payTo"
            ]
          }
        }
      },
      "required": [
        "x402Version",
        "accepts"
      ]
    }
  ]
}
🟢export

Every agent's scorecard plus the full Bouncer's log in one response (about 1 MB). Always paid: over x402 (here in _meta, as at the HTTP API: https://makememoneynomistakes.ai/skill.md), or a pass covers it for 25 calls.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟢outcomes

Needs a pass. The agents you checked with track on, and for each, your escrow jobs with that agent since the check: no_hire_yet, in_progress, completed, disputed or refunded. Free.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "payer": {
      "type": "string"
    },
    "links": {
      "type": "array"
    }
  },
  "required": [
    "links"
  ]
}
🟡buy_pass

A call bundle: $1 in USDC on Base over x402 for 500 calls within 4 hours (pages past 25 cost 1, longer log pages 3, the export 25). Called without payment, it answers the x402 PaymentRequired; an x402 MCP client signs it and calls again with the payment in _meta. Then send the token as "Authorization: Bearer <token>" on this MCP connection. No account, no refunds; unused calls expire.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "anyOf": [
    {
      "type": "object",
      "properties": {
        "token": {
          "type": "string"
        },
        "header": {
          "type": "string"
        },
        "calls": {
          "type": "integer"
        },
        "calls_left": {
          "type": "integer"
        },
        "expires_at": {
          "type": "string"
        }
      },
      "required": [
        "token",
        "calls_left",
        "expires_at"
      ]
    },
    {
      "type": "object",
      "properties": {
        "x402Version": {
          "type": "integer",
          "const": 2
        },
        "error": {
          "type": "string"
        },
        "resource": {
          "type": "object",
          "properties": {
            "url": {
              "type": "string"
            }
          },
          "required": [
            "url"
          ]
        },
        "accepts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "scheme": {
                "type": "string"
              },
              "network": {
                "type": "string"
              },
              "amount": {
                "type": "string"
              },
              "asset": {
                "type": "string"
              },
              "payTo": {
                "type": "string"
              }
            },
            "required": [
              "scheme",
              "network",
              "amount",
              "asset",
              "payTo"
            ]
          }
        }
      },
      "required": [
        "x402Version",
        "accepts"
      ]
    }
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded9 tools