🧪 Official MCP Server for Debugg AI
@debugg-ai
About 🧪 Official MCP Server for Debugg AI
Zero-Config, Fully AI-Managed End-to-End Testing for all code gen platforms.
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"debugg-ai-mcp": {
"command": "node",
"args": [
"dist/index.js"
],
"env": {
"DEBUGGAI_API_KEY": "your key here",
"TEST_USERNAME_EMAIL": "test email here",
"TEST_USER_PASSWORD": "test password here",
"MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS": "true",
"DEBUGGAI_LOCAL_PORT": 3000,
"DEBUGGAI_LOCAL_REPO_NAME": "your repo name here",
"DEBUGGAI_LOCAL_BRANCH_NAME": "your branch name here",
"DEBUGGAI_LOCAL_REPO_PATH": "/Users/your username here/Documents/GitHub/your repo name here",
"DEBUGGAI_LOCAL_FILE_PATH": "optional file path here"
},
"options": {}
},
"debugg-ai-mcp-live": {
"command": "npx",
"args": [
"-y",
"@debugg-ai/debugg-ai-mcp"
],
"env": {
"DEBUGGAI_API_KEY": "your key here",
"TEST_USERNAME_EMAIL": "test email here",
"TEST_USER_PASSWORD": "test password here",
"MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS": "true",
"DEBUGGAI_LOCAL_PORT": 3000,
"DEBUGGAI_LOCAL_REPO_NAME": "your repo name here",
"DEBUGGAI_LOCAL_BRANCH_NAME": "your branch name here",
"DEBUGGAI_LOCAL_REPO_PATH": "/Users/your username here/Documents/GitHub/your repo name here",
"DEBUGGAI_LOCAL_FILE_PATH": "optional file path here"
},
"options": {}
},
"debugg-ai-mcp-docker-live": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--init",
"-e",
"DEBUGGAI_API_KEY=your key here",
"-e",
"DEBUGGAI_LOCAL_PORT=3000",
"-e",
"DEBUGGAI_LOCAL_REPO_NAME=your repo name here",
"-e",
"DEBUGGAI_LOCAL_BRANCH_NAME=your branch name here",
"-e",
"DEBUGGAI_LOCAL_REPO_PATH=/Users/your username here/Documents/GitHub/your repo name here",
"quinnosha/debugg-ai-mcp"
],
"env": {
"DEBUGGAI_API_KEY": "your key here",
"TEST_USERNAME_EMAIL": "test email here",
"TEST_USER_PASSWORD": "test password here",
"MCP_REQUEST_TIMEOUT_RESET_ON_PROGRESS": "true",
"DEBUGGAI_LOCAL_PORT": 3000,
"DEBUGGAI_LOCAL_REPO_NAME": "your repo name here",
"DEBUGGAI_LOCAL_BRANCH_NAME": "your branch name here",
"DEBUGGAI_LOCAL_REPO_PATH": "/Users/your username here/Documents/GitHub/your repo name here",
"DEBUGGAI_LOCAL_FILE_PATH": "optional file path here"
}
}
}
}Tools
8Give an AI agent eyes on a live website or app. The agent browses it, interacts with it, and tells you whether a given task or check passed. Works on localhost or any URL. Use for visual QA, flow validation, regression checks, or anything that needs a real browser to verify. LOCALHOST SUPPORT: Pass any localhost URL (e.g. http://localhost:3000) and it Just Works. A secure tunnel is automatically created so the remote browser can reach your local dev server — no manual ngrok setup, no port forwarding, no config. SCOPE PER CALL: Keep each call to ONE focused check — a single page or a short interaction on a single screen (login, submit a form, verify a heading). For anything spanning multiple pages or long multi-step flows, split into SEPARATE calls — the remote browser agent has a ~25-step internal budget per call, and long single calls risk client-side timeouts. Example: instead of "log in, then go to settings, then update profile, then verify," make three calls: (1) log in & verify dashboard, (2) update settings, (3) verify profile change. CREDENTIALS: pass them as PARAMETERS, not only in the description. Naming an account in `description` alone does not make the agent use it — it falls back to the environment's stored credential. Use `username`/`password` (or `credentialId`) for the run's identity, `auth.username`/`auth.password` to pin the precondition login, and `loginCredentials` for accounts the agent must use at a login form it hits PART-WAY through the task (e.g. set a password → bounced to sign-in → log in as the account you just created). Anything you specify beats the environment's default for every login in the run; the result reports the identity actually used under `logins`.
Probe one or more URLs and return their rendered state — screenshot, page metadata (title/finalUrl/statusCode/loadTimeMs), structured console errors, and per-URL network summary (refetch loops collapse into one row by origin+pathname). WHEN TO USE: "did I just break /settings?" / "smoke-test these 5 routes after my refactor" / "what's actually rendering at /dashboard?" — fast (<10s for 1 URL, <25s for 20), no LLM cost, no agent loop. NOT FOR: scenario verification (sign in → click X → assert Y), interaction (clicks, form fills, scrolls), or anything requiring agent decisions. Use check_app_in_browser for those. LOCALHOST SUPPORT: any localhost URL is auto-tunneled. Pre-flight TCP probe fails fast (<2s) if the dev server isn't listening. BATCH MODE: pass up to 20 targets in one call to share browser session + tunnel — dramatically faster than firing parallel single-URL probes (one execution unit, not N). Per-URL waitForSelector / waitForLoadState / timeoutMs override defaults. READINESS: navigation settles on CONTENT (the page's DOM going quiet), bounded — not on network silence, which never arrives on a live app, and not on 'load', which blocks on third-party embeds. The default is right for SPAs; reach for waitForSelector, not waitForLoadState, when you need to wait for something specific. A single failed target's error appears in result.error without failing the whole batch — the other results stay valid.
Trigger a browser-agent crawl of a web app to build the project's knowledge graph. The crawl systematically explores pages, UI states, and navigation flows, then populates the backend's knowledge graph so future evaluations and tests have context about the app. LOCALHOST SUPPORT: Pass any localhost URL (e.g. http://localhost:3000) and it Just Works. A secure tunnel is automatically created so the remote browser can reach your local dev server. WHEN TO USE: after a significant new feature, a new environment, or when onboarding a project. NOT for per-change verification — use check_app_in_browser for that. SCOPE: one crawl per call against one URL. The crawl is long-running (minutes to tens of minutes depending on app size) and populates backend state asynchronously; the tool returns the execution status once the workflow completes. This does NOT return pass/fail — it returns executionId + status + outcome.
Manage DebuggAI projects. Pass an "action": - "get" {uuid} → one project with full detail. - "list" {q?, page?, pageSize?} → paginated project summaries. - "create" {name, platform, (teamUuid|teamName), (repoUuid|repoName)} → create a project. The repo must be GitHub-linked; names resolve by case-insensitive exact match. Note: there is no update/delete here — rename/delete a project from the DebuggAI web app.
Manage environments (and their login credentials) under a project. Pass an "action": - "get" {uuid, projectUuid?} → one environment with credentials inline (passwords never returned). - "list" {projectUuid?, q?, page?, pageSize?} → paginated environments. projectUuid auto-resolves from the git repo if omitted. - "create" {name, url, description?, projectUuid?, credentials?} → create an env, optionally seeding credentials. - "update" {uuid, name?, url?, description?, addCredentials?, updateCredentials?, removeCredentialIds?} → patch env + manage credentials. - "delete" {uuid, projectUuid?, confirm?} → delete env (DESTRUCTIVE; requires confirmation). - "sessions" {uuid, username?, credentialId?} → captured login sessions this env is holding, and whether each would be reused. - "clearSessions" {uuid, username?, credentialId?, confirm?} → invalidate them so the next run logs in for real. SESSIONS: runs reuse a warm authenticated session per account instead of logging in every time. That is why a check can report "no login form" — it was already signed in. Use "sessions" to see whose session is held, "clearSessions" to drop it, or pass freshSession:true on a single check_app_in_browser call to bypass reuse without clearing anything.
Manage and run test suites. Identify a suite by suiteUuid, or suiteName + a project identifier (projectUuid|projectName). Pass an "action": - "list" {projectUuid|projectName, search?, page?, pageSize?} → paginated suites with status/pass-rate. - "create" {name, description, projectUuid|projectName} → create a suite. - "run" {suiteUuid|(suiteName+project), targetUrl?} → run all tests async. Poll with action:"results". - "results" {suiteUuid|(suiteName+project)} → suite + per-test outcomes. - "delete" {suiteUuid|(suiteName+project), confirm?} → soft-delete (DESTRUCTIVE; requires confirmation).
Manage individual test cases within a suite. Pass an "action": - "create" {name, description, agentTaskDescription, suiteUuid|(suiteName+project), relativeUrl?, maxSteps?} → add a test case (NOT auto-run). - "update" {testUuid, name?, description?, agentTaskDescription?} → patch a test case. - "delete" {testUuid, confirm?} → soft-delete (DESTRUCTIVE; requires confirmation).
Look up workflow executions (history of check_app_in_browser, trigger_crawl, and test-suite runs). Pass an "action": - "get" {uuid} → one execution with FULL detail (nodeExecutions, state, errorInfo) + any screenshot/gif artifacts. - "list" {projectUuid?, status?, page?, pageSize?} → paginated execution summaries. status ∈ completed|running|failed|cancelled|pending. Tip: after a fresh check_app_in_browser run, poll action:"get" with the returned executionId until artifact URLs are available.
Overview
What is 🧪 Official MCP Server for Debugg AI?
The 🧪 Official MCP Server for Debugg AI is an MCP server that provides AI-powered browser testing. Point it at any URL (including localhost), describe what to test in natural language, and an AI agent browses the application, returning pass/fail results with screenshots. It is intended for developers and QA teams who want automated, AI-driven browser testing through MCP clients.
How to use 🧪 Official MCP Server for Debugg AI?
Requires Node.js 20.20.0 or later and an API key from debugg.ai. Add the server configuration to your MCP client’s settings, using npx -y @debugg-ai/debugg-ai-mcp and the environment variable DEBUGGAI_API_KEY. Alternatively, run with Docker: docker run -i --rm --init -e DEBUGGAI_API_KEY=your_api_key quinnosha/debugg-ai-mcp. After setup, invoke tools like check_app_in_browser with natural language instructions.
Key features of 🧪 Official MCP Server for Debugg AI
- Eight tools: three Browser tools and five action-based tools.
- AI agent (
check_app_in_browser) navigates, interacts, and returns screenshots. - Lightweight
probe_pagetool (no LLM) for batch URL checks. trigger_crawlpopulates a project’s knowledge graph.- Action-based tools for project, environment, test suite, test case, and execution management.
- Auto-tunneling of localhost URLs via ngrok.
- Returns HAR (network trace) and console logs for each browser session.
- Read-only resources via
debugg-ai://URIs.
Use cases of 🧪 Official MCP Server for Debugg AI
- Automated end‑to‑end testing of web applications from an MCP client.
- Quick smoke tests across multiple routes after a refactor using
probe_page. - Detecting refetch loops and hydration errors via captured HAR and console logs.
- Pre‑populating a project’s knowledge graph with
trigger_crawl. - Running suites of test cases defined in the Debugg AI platform.
FAQ from 🧪 Official MCP Server for Debugg AI
What is the difference between check_app_in_browser and probe_page?
check_app_in_browser uses an AI agent (LLM) that navigates and interacts with the page, returning a pass/fail verdict with screenshots. probe_page is a lightweight, no‑LLM batch probe that captures rendered state (screenshot, console errors, network summary) for up to 20 URLs without scenario assertions.
How is authentication handled?
The server requires a DEBUGGAI_API_KEY environment variable set to an API key obtained from debugg.ai. The key is never exposed in tool responses. Missing keys surface as a structured tool error on the first invocation.
What runtime dependencies are needed?
The server requires Node.js version 20.20.0 or later (transitive requirement from posthog-node). It runs as a stdio MCP server, invoked via npx or Docker.
Where are browser session artifacts (HAR, console logs) stored?
Artifacts are uploaded to AWS S3 as presigned URLs. The URLs are short‑lived; they can be renewed by refetching the parent execution via the executions tool with action get and the execution UUID. Sensitive headers (Authorization, Cookie, token/secret/api_key) are scrubbed server‑side before persistence.
What are the known limits of the AI agent?
check_app_in_browser has an internal budget of approximately 25 steps per call. For broader test scenarios, split them across multiple calls. The probe_page tool accepts 1–20 URLs with a total performance budget of under 10
Frequently asked questions
What is the difference between `check_app_in_browser` and `probe_page`?
`check_app_in_browser` uses an AI agent (LLM) that navigates and interacts with the page, returning a pass/fail verdict with screenshots. `probe_page` is a lightweight, no‑LLM batch probe that captures rendered state (screenshot, console errors, network summary) for up to 20 URLs without scenario assertions.
How is authentication handled?
The server requires a `DEBUGGAI_API_KEY` environment variable set to an API key obtained from debugg.ai. The key is never exposed in tool responses. Missing keys surface as a structured tool error on the first invocation.
What runtime dependencies are needed?
The server requires Node.js version 20.20.0 or later (transitive requirement from `posthog-node`). It runs as a stdio MCP server, invoked via `npx` or Docker.
Where are browser session artifacts (HAR, console logs) stored?
Artifacts are uploaded to AWS S3 as presigned URLs. The URLs are short‑lived; they can be renewed by refetching the parent execution via the `executions` tool with action `get` and the execution UUID. Sensitive headers (Authorization, Cookie, token/secret/api_key) are scrubbed server‑side before persistence.
What are the known limits of the AI agent?
`check_app_in_browser` has an internal budget of approximately 25 steps per call. For broader test scenarios, split them across multiple calls. The `probe_page` tool accepts 1–20 URLs with a total performance budget of under 10
Basic information
More Developer Tools MCP servers
Agent Conductor
icohangar-opsAgent conductor — AGENTS.md contract parser, SKILL.md registry, CHP decision engine over MCP
SecondSim
econdSim provisions real UK mobile numbers (non-VoIP) via eSIM, built for freelancers, sole traders, small businesses, and enterprise teams. Unlike VoIP apps and virtual numbers, SecondSim numbers register as genuine phy

directree
coburn2716directree MCP server — query the honest software directory from any AI assistant

Air Pipe
airpipeBuild, validate, deploy — HTTP APIs, cron jobs, webhooks and MCP tools — from your AI client.
CodeSentinel
icohangar-opsCodebase health as MCP tools: dead code, circular dependencies, coupling, architectural drift.
Comments