ScamAI raised $2.6M to combat AI-powered scams
scam.ai

~/docs cat mcp-server.md

MCP server

Gives an AI agent one tool that checks whether an image, a video or an audio recording is real. Works in Claude, Cursor, VS Code, or any client that speaks MCP. Create a key on API keys and paste it in place of YOUR_SCAMAI_API_KEY. Both forms below reach the same detection, authenticate with the same key and are billed the same as a direct API call.

Hosted

Nothing to install. Works in clients that cannot run a local process.

mcp.json
{
  "mcpServers": {
    "scamai": {
      "url": "https://mcp.scam.ai/mcp",
      "headers": { "x-api-key": "YOUR_SCAMAI_API_KEY" }
    }
  }
}

Run it yourself

Runs on your machine, so you can point it at a local file. Needs Node 22.

mcp.json
{
  "mcpServers": {
    "scamai": {
      "command": "npx",
      "args": ["-y", "@scam-ai/mcp-server"],
      "env": { "SCAMAI_API_KEY": "YOUR_SCAMAI_API_KEY" }
    }
  }
}

Tools

What the agent can call
ToolDoesCredits
detect_mediaChecks one piece of media. Pass exactly one of url, file_path or file_base64 (with filename); the kind of media is worked out from the bytes. file_path works only when the server runs on the user's machine; the hosted server refuses it. Returns the same verdict, score, summary and credits_used as the API. The call is held open until the check finishes.The media's price.
get_credit_balanceHow many credits the account has left.Free.
get_usageRecent credit movements, newest first. After a timeout, read this before sending the same media again: the check may have completed and been charged.Free.

A failed call carries a stable error.code to branch on. The ones that change what to do next: insufficient_credits, rate_limited, unsupported_media, media_too_large, unprocessable_media (send a different file), platform_error (never charged, safe to retry) and timeout. The full closed set, including unauthorized, forbidden, not_found, invalid_input, unreachable and unreadable_response, is in the package reference on npm.