Debugg AI MCP
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEBUGGAI_API_KEY | Yes | Your Debugg AI API key, required for authentication. | |
| DEBUGGAI_API_URL | No | Override API endpoint (defaults to https://api.debugg.ai). | https://api.debugg.ai |
| DEBUGGAI_LOCAL_PORT | No | Your app's local port (e.g., 3000). | |
| DEBUGGAI_LOCAL_REPO_NAME | No | GitHub repo name (e.g., your-org/repo). | |
| DEBUGGAI_LOCAL_REPO_PATH | No | Absolute path to the project root. | |
| DEBUGGAI_LOCAL_BRANCH_NAME | No | The name of the current branch (e.g., main). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| resources | {
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| check_app_in_browserA | Give 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 |
| probe_pageA | 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_crawlA | 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. |
| projectA | Manage DebuggAI projects. Pass an "action":
Note: there is no update/delete here — rename/delete a project from the DebuggAI web app. |
| environmentA | Manage environments (and their login credentials) under a project. Pass an "action":
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. |
| test_suiteA | Manage and run test suites. Identify a suite by suiteUuid, or suiteName + a project identifier (projectUuid|projectName). Pass an "action":
|
| test_caseA | Manage individual test cases within a suite. Pass an "action":
|
| executionsA | Look up workflow executions (history of check_app_in_browser, trigger_crawl, and test-suite runs). Pass an "action":
Tip: after a fresh check_app_in_browser run, poll action:"get" with the returned executionId until artifact URLs are available. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| projects | All projects visible to this API key (first page). |
| environments | Environments for the auto-detected project (credentials redacted). |
| executions | Recent workflow executions (first page). |
TDQS
Scored across 8 tools
Most tools have clearly distinct purposes: check_app_in_browser for interactive verification, probe_page for static rendering, trigger_crawl for knowledge graph building, and CRUD tools for different entities. The only slight overlap is between check_app_in_browser and probe_page (both inspect web pages), but descriptions make the distinction clear (interactive vs static).
Tool names are mostly consistent: single verbs or noun-verb phrases (check_app_in_browser, probe_page, trigger_crawl, project, environment, test_suite, test_case, executions). The CRUD tools (project, environment, test_suite, test_case) use nouns with action parameters rather than verb_noun patterns, and 'trigger_crawl' vs 'check_app_in_browser' have slightly different styles, but overall the pattern is readable and predictable.
8 tools is well-scoped for a QA/browser automation server. Each tool handles a distinct aspect: interactive verification, static probing, crawling for context, project management, environment management, test suite management, test case management, and execution history. No redundancy, and the count feels appropriate for the domain.
The tool set covers the core lifecycle: create/manage projects and environments, create/manage test suites and cases, run and inspect executions, and perform browser checks. Missing operations include updating/deleting projects (noted in the project tool) and a dedicated tool for running single test cases, but agents can work around these gaps using existing tools and the web app.