Roast-as-a-tool

Roast agent ideas without leaving your editor

The same verdict engine behind the site, exposed as an MCP server over Streamable HTTP. Call roast_idea from Claude Code, Claude Desktop, or ChatGPT and get the verdict tier, agent-readiness score, top OWASP-MCP risk, and a shareable /result URL back inline.

No token, no signup. The anonymous tier just works — 3 roasts/hour, 10/day. Want more? Add a token for the higher web limits and two extra tools. Either way: no human paywall, ever.

Install — anonymous (no token)

Paste one of these. Nothing to sign up for, nothing to configure.

Claude Code
claude mcp add --transport http whycant https://whycantwehaveanagentforthis.com/api/mcp
Claude Desktop — claude_desktop_config.json
{
  "mcpServers": {
    "whycant": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://whycantwehaveanagentforthis.com/api/mcp"]
    }
  }
}
ChatGPT — custom connector
https://whycantwehaveanagentforthis.com/api/mcp
# ChatGPT → Settings → Connectors → Add custom MCP server
# Transport: Streamable HTTP · Authentication: None

Endpoint: https://whycantwehaveanagentforthis.com/api/mcp (Streamable HTTP, POST). Claude Desktop and ChatGPT bridge remote servers through mcp-remote / the connector UI.

20-second demo

After installing, type this in your client:

You type
roast this agent idea: an agent that auto-declines my pointless meetings
You get back (example)
🔥 MeetingAssassin
Verdict:    Actually not bad
Readiness:  68/100 (band B)
Top risk:   MCP-3 — Excessive agency

"Half of Calendly already does this; the other half is one Zapier zap."

Full breakdown + share card:
https://whycantwehaveanagentforthis.com/result/meetingassassin-9000-example

That /result link is a real, public page with its own share card — see the next section.

Anonymous vs token — the honest table

Anonymous (no token)Token
Roasts3 / hour · 10 / day5 / hour · 15 / day
Toolsroast_idea, get_verdict, get_stats, browse_explore+ validate_idea, find_existing_agents
SignupNoneNone (operator token, not a human login)
Kill switch + daily budgetShared — can’t run up spendShared — can’t run up spend

Both tiers pass the same guard pipeline the website uses (kill switch → daily cap → budget → burst → hourly → daily). The anonymous caps are simply tighter and gate first. Over a limit? You get a clear one-line message telling you when it resets. Need a token? Ask the operator; rotation and multiple tokens are supported.

Higher limits — add a token

Same install, one extra header. A valid token also auto-discovers via OAuth 2.1 + PKCE (/.well-known/oauth-protected-resource) in compliant clients, so there’s nothing to paste.

Claude Code — with token
claude mcp add --transport http whycant https://whycantwehaveanagentforthis.com/api/mcp \
  --header "Authorization: Bearer $WHYCANT_MCP_TOKEN"
Claude Desktop — with token
{
  "mcpServers": {
    "whycant": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://whycantwehaveanagentforthis.com/api/mcp",
               "--header", "Authorization: Bearer <your-mcp-token>"]
    }
  }
}

Every roast is shareable

A roast from a tool call isn’t a dead end. Every roast_idea mints a real, public /result/[id] page with its own OG share card — the same page a human submission creates. The tool hands back that URL, so an agent can drop the link into a PR, an issue, or a tweet and the card unfurls. MCP roasts also show up in /explore and the homepage counter — installs restock the shelves.

Registry

Machine-readable manifest (advertises the anonymous tier + limits), served identically at /server.json and /.well-known/mcp/server.json. Listed on the MCP Registry as io.github.sattyamjjain/whycant.

← Back to whycantwehaveanagentforthis.com