{
  "markdown": "# ProdPoke MCP Server\n\n> **A QA tester inside your AI.** Chat with ProdPoke from Claude, Cursor, or any MCP\n> client. It launches real Playwright browsers, finds real bugs, and remembers what\n> you talked about across turns.\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![MCP Protocol](https://img.shields.io/badge/MCP-Streamable_HTTP-orange.svg)](https://modelcontextprotocol.io)\n[![Website](https://img.shields.io/badge/Website-prodpoke.com-FF8A00.svg)](https://prodpoke.com/mcp)\n\n**Hosted**, not installed. Just paste a config into your MCP client and go.\n\n[Landing page](https://prodpoke.com/mcp) · [Get an API key](https://prodpoke.com/app/settings/keys) · [Pricing](https://prodpoke.com/pricing) · [ProdPoke](https://prodpoke.com)\n\n<p align=\"center\">\n  <img src=\"assets/demo.gif\" alt=\"ProdPoke MCP demo — scanning a site from Claude Desktop\" width=\"720\" />\n</p>\n\n---\n\n## What it does\n\nProdPoke is a remote, stateful MCP server that runs real-browser QA for any website. You\ndescribe what you want in plain English; ProdPoke spins up a headless Playwright session,\nnavigates the site, and streams back structured findings — accessibility, SEO,\nperformance, user-flow bugs, visual regressions, broken CTAs, and more.\n\nUnlike local tools, everything runs on ProdPoke infrastructure. No Chromium to install,\nno browser containers to manage, no cleanup.\n\n## Available tools\n\n| Tool | Description | Parameters |\n|------|-------------|------------|\n| `chat` | Talk to ProdPoke like a QA tester — scan a URL, test a flow, investigate findings, set session preferences. Stateful via `session_id`. | `message` (required), `session_id` (optional) |\n| `get_credit_balance` | Check your remaining scan credits. | — |\n\n### Example `chat` response\n\n```json\n{\n  \"session_id\": \"a1b2c3d4-...\",\n  \"response\": \"Found 3 issues on https://example.com...\",\n  \"findings\": [\n    {\n      \"severity\": \"high\",\n      \"category\": \"accessibility\",\n      \"title\": \"Missing alt text on 4 images\",\n      \"description\": \"Images in the hero section lack alt attributes...\"\n    },\n    {\n      \"severity\": \"medium\",\n      \"category\": \"seo\",\n      \"title\": \"Missing meta description\",\n      \"description\": \"The page has no meta description tag...\"\n    }\n  ],\n  \"session_context\": {\n    \"url_being_tested\": \"https://example.com\",\n    \"message_count\": 2,\n    \"has_findings\": true\n  }\n}\n```\n\n---\n\n## Setup\n\n### 1. Get your API key\n\n1. [Sign up](https://prodpoke.com/auth/login) for a ProdPoke account — the free tier\n   includes 500 credits, enough for a first scan.\n2. Go to [Settings → API Keys](https://prodpoke.com/app/settings/keys).\n3. Click **Create new key** and copy it immediately (it's shown once; you can't recover\n   it later, but you can revoke and re-mint).\n\nKeys look like `pp_` followed by 64 hex characters.\n\n### 2. Paste the config into your MCP client\n\n<details open>\n<summary><strong>Claude Desktop / Cursor / Claude Code</strong> (streamable HTTP — recommended)</summary>\n\n```json\n{\n  \"mcpServers\": {\n    \"prodpoke\": {\n      \"type\": \"streamable-http\",\n      \"url\": \"https://prodpoke.com/v1/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer pp_YOUR_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n\nConfig file locations:\n- **Claude Desktop (macOS)**: `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Claude Desktop (Windows)**: `%APPDATA%\\Claude\\claude_desktop_config.json`\n- **Claude Code**: `.mcp.json` in your project root\n- **Cursor**: Settings → MCP Servers\n\nFully restart the client after editing.\n\n</details>\n\n<details>\n<summary><strong>Clients that only support stdio</strong> (via <code>mcp-remote</code> bridge)</summary>\n\n```json\n{\n  \"mcpServers\": {\n    \"prodpoke\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"mcp-remote\",\n        \"https://prodpoke.com/v1/mcp\",\n        \"--header\",\n        \"Authorization: Bearer ${PRODPOKE_API_KEY}\"\n      ],\n      \"env\": {\n        \"PRODPOKE_API_KEY\": \"pp_YOUR_KEY_HERE\"\n      }\n    }\n  }\n}\n```\n\nUses [`mcp-remote`](https://github.com/geelen/mcp-remote) to proxy stdio ↔ streamable HTTP.\n\n</details>\n\n### 3. Start chatting\n\nTry any of these:\n\n- *\"Scan https://mysite.com and tell me what's broken\"*\n- *\"Run an accessibility audit on https://example.com\"*\n- *\"Test the signup flow on https://app.example.com — fill the form and check the confirmation page\"*\n- *\"What bugs have you found on mysite.com?\"*\n- *\"Scan https://competitor.com and compare their SEO headers to ours\"*\n- *\"Check my ProdPoke credit balance\"*\n\n---\n\n## Multi-step sessions\n\nThe `chat` tool is stateful. Each response includes a `session_id`; pass it back to continue\nthe conversation with full context:\n\n1. `chat(\"Scan https://mysite.com\")` — starts a session, runs the scan, returns `session_id` + findings.\n2. `chat(\"Dig deeper into the accessibility issues\", session_id=\"...\")` — builds on the prior scan.\n3. `chat(\"Now test the checkout flow\", session_id=\"...\")` — runs a targeted test, knows about the earlier findings.\n4. `chat(\"What should I fix first?\", session_id=\"...\")` — answers from the accumulated session context.\n\nSessions persist across MCP client restarts for the lifetime of the key.\n\n---\n\n## How it works\n\n```\nYour MCP client  ──Authorization: Bearer pp_...──▶  https://prodpoke.com/v1/mcp\n                                                       │\n                                                       ▼\n                                           Orchestrator classifies intent\n                                                       │\n                                                       ▼\n                                           Playwright worker on ProdPoke\n                                            infrastructure runs the scan\n                                                       │\n                                                       ▼\n                                          Findings streamed back as a\n                                               structured `chat` response\n```\n\nNothing is installed on your machine. Scans run on our servers. You pay per scan in\ncredits (see below).\n\n---\n\n## Pricing\n\n| Plan | Credits | Price |\n|---|---|---|\n| **Free tier** | 500 credits | $0 |\n| **Watch** | 10,000 / month | $15 / month |\n| **Watch Pro** | 50,000 / month | $49 / month |\n| **Top-up packs** | 1,000 – 50,000 | From $3 |\n\nA standard scan costs roughly 10 credits. Deeper workflows — full user-flow tests,\ncompetitor comparisons — run 400–500 credits. [See full pricing →](https://prodpoke.com/pricing)\n\nThe error message when you're out of credits is explicit: `\"Insufficient credits. You\nneed N but have M.\"`, so your AI client can surface it clearly.\n\n---\n\n## Troubleshooting\n\n- **`401 Missing Authorization header`** — your client didn't send the `Authorization`\n  header. Double-check the config (the key goes in `headers`, not `env`, for streamable HTTP).\n- **`401 Invalid or revoked API key`** — the key was revoked or typed incorrectly. Re-mint at\n  [/app/settings/keys](https://prodpoke.com/app/settings/keys).\n- **The tool responds but never runs a scan** — ask it to scan a specific URL. ProdPoke\n  needs a URL to launch a browser; it won't guess.\n- **Scan hangs for >2 minutes** — the MCP call times out at 120 seconds per step. Long\n  flows should be split into multiple `chat` turns using `session_id`.\n\n---\n\n## Links\n\n- [ProdPoke](https://prodpoke.com)\n- [MCP landing page](https://prodpoke.com/mcp)\n- [API Keys dashboard](https://prodpoke.com/app/settings/keys)\n- [Pricing](https://prodpoke.com/pricing)\n- [MCP Protocol specification](https://modelcontextprotocol.io)\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n",
  "bytes": 7626,
  "sha": "0e95da0ee2926bad67919ff23c7da41dbb9710531b7d9f23f5ddb99a7758e832",
  "repo_slug": "prodpoke/prodpoke-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_prodpoke_prodpoke_mcp_5aa4962e/readme"
}