{
  "markdown": "# AdTest.AI MCP server\n\n[![npm](https://img.shields.io/npm/v/adtest-mcp)](https://www.npmjs.com/package/adtest-mcp) · Registry name: `ai.adtest/adtest-mcp` · License: MIT\n\nAdds a single **`analyze_advert`** tool to Claude (Desktop, Code, or any MCP client) that\nruns AdTest.AI's **AI-only** 13-dimension analysis of an advert — **image, video, or text** —\nand returns a detailed scoring report. (Human-panel validation is available in the\n[web app](https://app.adtest.ai) only, not through this server.)\n\nQuick add for Claude Code:\n\n```bash\nclaude mcp add adtest -e ADTEST_API_KEY=adk_your_key_here -- npx -y adtest-mcp\n```\n\n## Setup\n\n1. **Get an API key:** sign in at <https://app.adtest.ai> → the **Developer** (gear)\n   icon → **Generate key**. Make sure your wallet has funds — each successful\n   analysis costs **$1**.\n\n2. **Add the server to your Claude config** (Claude Desktop:\n   `claude_desktop_config.json`; Claude Code: `.mcp.json`):\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"adtest\": {\n         \"command\": \"npx\",\n         \"args\": [\"-y\", \"adtest-mcp\"],\n         \"env\": { \"ADTEST_API_KEY\": \"adk_your_key_here\" }\n       }\n     }\n   }\n   ```\n\n   Or run it from a local checkout (after `npm install` in this folder):\n\n   ```json\n   {\n     \"mcpServers\": {\n       \"adtest\": {\n         \"command\": \"node\",\n         \"args\": [\"/absolute/path/to/mcp-server/index.js\"],\n         \"env\": { \"ADTEST_API_KEY\": \"adk_your_key_here\" }\n       }\n     }\n   }\n   ```\n\n3. **Restart Claude**, then just ask:\n   - *“Analyze this advert: https://example.com/ad.jpg”*\n   - *“Analyze this ad video file: /Users/me/promo.mp4”*\n   - *“Score this ad copy: 50% off all shoes this weekend — shop now.”*\n\n## The tool\n\n`analyze_advert` — provide **one** of:\n\n| arg | meaning |\n|-----|---------|\n| `url` | public URL of an image or video advert (we download it) |\n| `file_path` | local image/video file to upload |\n| `text` | ad copy to analyze |\n| `brand_url` *(optional)* | advertiser website — improves brand/logo detection |\n\nReturns the AI analysis text plus the amount charged and your remaining balance.\n\n## How it works (async — so video works)\n\nThe server submits the job to `POST /developer/ai-analysis/jobs`, gets a\n`job_id` back immediately, then polls `GET /developer/ai-analysis/jobs/{job_id}`\nevery few seconds until it's `complete` or `failed`. This is why **video works**:\na single synchronous request would be cut off by the CDN edge timeout (~100s),\nbut video analysis can take several minutes. You're charged **once, on success**,\nwhen the job completes — a failed job is never billed.\n\n## Notes\n\n- Registered in the official MCP Registry as `ai.adtest/adtest-mcp`.\n\n- Auth is the `x-api-key` header, set from `ADTEST_API_KEY`.\n- Endpoint defaults to `https://app.adtest.ai/adtest-api`; override with\n  `ADTEST_API_BASE` for staging.\n- Poll ceiling defaults to 15 min; override with `ADTEST_POLL_TIMEOUT_MS`\n  (milliseconds) for very long video.\n- Rate limits: 30 submits/min and 2000/day per key (60/min per IP); polling is\n  generous (240/min) and handled for you.\n- Errors come back as readable text: `invalid_api_key`, `insufficient_funds`,\n  `no_creative`, `invalid_url`, `unsupported_media_type`, `too_many_requests`,\n  `analysis_failed` (the last is **not** charged).\n- Requires Node ≥ 18.\n\n## Links\n\n- Product: <https://adtest.ai>\n- Setup guide and FAQ: <https://adtest.ai/mcp/>\n- App and API keys: <https://app.adtest.ai>\n- Issues: <https://github.com/menaker/adtest-mcp/issues>\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 3530,
  "sha": "ff9997356f14f1f93a174ef3a0950c8d77e732e9c49c4dd253289880186eb1db",
  "repo_slug": "menaker/adtest-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ai_adtest_adtest_mcp_b2d98df1/readme"
}