{
  "markdown": "# DEXUN AdWhiz MCP Server\r\n\r\nLet Claude Desktop / Cursor / any [MCP](https://modelcontextprotocol.io)-aware client talk to your [DEXUN AdWhiz](https://app.7275.com) account. Ask Claude things like:\r\n\r\n> \"List my connected ad accounts.\"\r\n> \"What's the AI recommending I do right now?\"\r\n> \"Have there been any sign-ins from new IPs this week?\"\r\n> \"How close am I to my API rate limit?\"\r\n\r\nRead-only for now (v0.1) — Claude can _see_ your AdWhiz state but can't apply changes or pause campaigns. Mutation tools land in a later version once the optimizer exits shadow mode.\r\n\r\n## What you need\r\n\r\n- Node.js **18 or newer** (`node --version`)\r\n- A DEXUN AdWhiz account ([sign up free](https://app.7275.com))\r\n- A DEXUN AdWhiz API key — generate one at [/settings#api-keys](https://app.7275.com/settings)\r\n- Either:\r\n  - [Claude Desktop](https://claude.ai/download) (recommended)\r\n  - [Cursor](https://cursor.sh) with MCP enabled\r\n  - Any other MCP-aware client\r\n\r\nNo `npm install` required. The server is a single Node script with zero runtime dependencies.\r\n\r\n## Install\r\n\r\n### Claude Desktop\r\n\r\n1. Clone or download this repo somewhere stable on your machine:\r\n\r\n   ```bash\r\n   git clone https://github.com/dexun-inc/adwhiz-mcp.git ~/.adwhiz-mcp\r\n   ```\r\n\r\n2. Open Claude Desktop's MCP config file. On macOS:\r\n\r\n   ```\r\n   ~/Library/Application Support/Claude/claude_desktop_config.json\r\n   ```\r\n\r\n   On Windows:\r\n\r\n   ```\r\n   %APPDATA%\\Claude\\claude_desktop_config.json\r\n   ```\r\n\r\n3. Add the `adwhiz` entry to `mcpServers`:\r\n\r\n   ```json\r\n   {\r\n     \"mcpServers\": {\r\n       \"adwhiz\": {\r\n         \"command\": \"node\",\r\n         \"args\": [\"/absolute/path/to/.adwhiz-mcp/src/index.mjs\"],\r\n         \"env\": {\r\n           \"ADWHIZ_API_KEY\": \"dxk_live_PUT_YOUR_KEY_HERE\"\r\n         }\r\n       }\r\n     }\r\n   }\r\n   ```\r\n\r\n   Replace the path with where you cloned the repo, and the API key with one from [/settings#api-keys](https://app.7275.com/settings).\r\n\r\n4. Quit Claude Desktop completely and reopen. The 5 AdWhiz tools should now show up when you start a new conversation.\r\n\r\n### Cursor\r\n\r\n1. Same `git clone` step.\r\n2. Open Cursor → Settings → Features → Model Context Protocol → Add server.\r\n3. Use the same `command` + `args` + `env` shape as Claude Desktop.\r\n\r\n### Other MCP clients\r\n\r\nAny client that follows the MCP spec can use this. The server speaks plain JSON-RPC 2.0 over stdio. Tell the client to run `node /path/to/src/index.mjs` and set `ADWHIZ_API_KEY` in the spawn environment.\r\n\r\n## What Claude can do\r\n\r\n| Tool                  | Use when the user asks                                                |\r\n| --------------------- | --------------------------------------------------------------------- |\r\n| `list_ad_accounts`    | \"What accounts do I have connected?\" / \"Show me my Meta accounts\"     |\r\n| `list_recommendations`| \"What does the AI recommend right now?\" / \"Anything to do today?\"      |\r\n| `get_savings_summary` | \"How much has AdWhiz saved me?\" / \"Is the AI actually working?\"        |\r\n| `get_recent_activity` | \"What happened this week?\" / \"Any sign-ins I didn't make?\"             |\r\n| `get_quota`           | \"Am I close to my rate limit?\" / \"How much API quota do I have?\"      |\r\n\r\nAll five are read-only. They never apply budget changes, pause campaigns, or revoke keys. To do those things use [the dashboard](https://app.7275.com/dashboard).\r\n\r\n## Environment\r\n\r\n| Variable          | Default                | Notes                                                              |\r\n| ----------------- | ---------------------- | ------------------------------------------------------------------ |\r\n| `ADWHIZ_API_KEY`  | _(required)_           | `dxk_live_*` or `dxk_test_*`. Generate at /settings#api-keys.       |\r\n| `ADWHIZ_BASE_URL` | `https://app.7275.com` | Override for self-hosted / staging environments.                   |\r\n\r\n## Troubleshooting\r\n\r\n**Claude says \"Server adwhiz is not responding\" or the tools don't appear.**\r\nRun the script manually to see stderr output:\r\n\r\n```bash\r\nADWHIZ_API_KEY=dxk_live_... node /path/to/src/index.mjs\r\n```\r\n\r\nIt should sit idle waiting for stdin. If it errors immediately, the message tells you what's wrong (most commonly: API key missing or `node` is too old).\r\n\r\n**Tools error with \"Unauthorized\".**\r\nYour API key was revoked or you copied it wrong. Generate a fresh one at https://app.7275.com/settings#api-keys.\r\n\r\n**Rate limited.**\r\nYou're hitting your plan's per-key RPM cap (60/120/600/3000 RPM by tier). Either wait for the window to reset (`get_quota` tells you when) or upgrade.\r\n\r\n## Security model\r\n\r\n- The MCP server runs locally on YOUR machine. Your API key never leaves your machine.\r\n- All HTTP requests go directly to `app.7275.com` over HTTPS.\r\n- Claude sees only the data the tools return — same data your dashboard shows you.\r\n- This server is open source. Audit it before installing on a sensitive machine.\r\n\r\n## Versioning\r\n\r\n- v0.1 — Read-only tools: list accounts / recommendations / activity / quota / identity.\r\n- v0.2 (planned) — `apply_recommendation` once auto-apply is calibration-gated.\r\n- v0.3 (planned) — `pause_campaign` + `change_budget` direct mutations.\r\n\r\n## License\r\n\r\nMIT — see [LICENSE](./LICENSE).\r\n\r\n## Issues / questions\r\n\r\nBug reports + feature requests: open an issue on the main repo or email service@7275.com.",
  "bytes": 5335,
  "sha": "08d844f65ce60b24fb8298bfa59d0a3faebbbebcfa73223ac6350a906080fbbb",
  "repo_slug": "",
  "fonte": "npm",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_com_7275_adwhiz_ec0d39c9/readme"
}