~/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.
{
"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.
{
"mcpServers": {
"scamai": {
"command": "npx",
"args": ["-y", "@scam-ai/mcp-server"],
"env": { "SCAMAI_API_KEY": "YOUR_SCAMAI_API_KEY" }
}
}
}Tools
| Tool | Does | Credits |
|---|---|---|
detect_media | Checks 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_balance | How many credits the account has left. | Free. |
get_usage | Recent 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.