Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

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

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}
resources
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
pingA

Checks that the MCP server and the engine (sidecar) respond.

schemaA

Complete documentation of the YATT test format (schema v1): fields, actions, variables, dataset and usage guide. Read it before creating tests.

baseline_listA

Lists the saved reference images (visual asserts).

baseline_getC

Returns a reference image as PNG (for visual comparison).

test_listA

Lists the tests saved in the YATT library (names).

test_getB

Returns a saved test as a full JSON object (steps, variables, environments, dataset).

test_createA

Creates a new test. Accepts the content as a JSON string or as an object. Validates the schema (schemaVersion, steps, actions). Fails if the name already exists unless overwrite: true.

test_updateA

Replaces the full content of an existing test (same validation as test_create).

test_deleteA

Deletes a test from the library (database and tests/.yatt.json file).

test_renameA

Renames a test in the library (updates the DB and the mirror file).

test_duplicateA

Duplicates an existing test under a new name (default " (copy)").

test_validateA

Validates test content (JSON string or object) without saving it. Returns {ok: true, doc: summary} or {ok: false, error}. Useful before test_create/test_update.

test_export_playwrightA

Generates the code of a saved test as a TypeScript spec (.spec.ts), in Playwright (@playwright/test) or Jest (jest-environment-playwright) format, with sub-flows embedded as functions. Returns the content; with write: true it saves the file into exports/.spec.ts like the app.

report_listA

Lists the saved run reports (names .json and .html).

report_getA

Returns the content of a report (parseable JSON). To diagnose failures, the report has steps[] with status ok/fail, error and ms.

report_deleteA

Deletes a saved report (DB + file under reports/).

db_queryA

Executes a read-only query (SELECT/WITH/EXPLAIN/PRAGMA) against the app-under-test database. Pass the connection in db (SQLite path or "file:" / postgres:// URL); otherwise the engine-side YATT_APP_DB/--app-db configuration applies. Returns {columns, rows, totalRows}; rows are capped at 200.

test_runB

Runs a saved test headless (Chromium engine by default) and saves a report in the library. Parameters: variable environment, per-run overrides, per-step timeout. Returns the summary with the steps and the report name.

test_run_datasetA

Data-driven: runs a test once per row of overrides and returns each row result plus totals. No report is saved.

browser_openB

Open (or reopen) the controlled browser. headless=true by default; visible only when you need to point by hand.

browser_closeA

Closes the controlled browser (clears the browser session).

browser_statusB

State of the controlled browser: open/closed, engine, URL and interaction.

browser_previewA

Captures the current viewport as a PNG image (the AI sees the page) + url, title, scroll and dimensions. It is the main visual inspection tool.

browser_evalA

Executes arbitrary JavaScript in the current page and returns the value (useful to inspect the DOM, read texts, count elements, try selectors).

browser_run_stepA

Runs a YATT (leaf) step in the current page: click, type, hover, assert_*, goto, wait_visible, etc. Returns ok/error, duration and, on failure, an evidence screenshot. With vars it interpolates {{name}} into the step before running it. Structure steps (if/repeat/for_each/run_flow) run with test_run, not here.

browser_conditionA

Checks whether an element exists in the page (or whether a variable condition holds); waits for the condition with optional polling (timeoutMs > 0 repeats the check until true or the timeout expires). Returns {value, elapsedMs}.

browser_scrollA

Scrolls the page vertically (dy in pixels, positive moves down) and returns the updated preview.

browser_click_atA

Click at viewport coordinates (x, y in CSS pixels); returns the resolved selector of the clicked element (data-testid → id → CSS path) plus the updated preview. Prefer browser_run_step with a selector for reproducible steps.

tab_openA

Opens a new tab (optionally with a URL) and returns the tab list.

tab_listA

Lists the open tabs: index, active, title and URL.

tab_switchA

Switches to the tab with the given index (0-based).

tab_closeA

Closes a tab (by index; without an index closes the active one).

session_saveA

Saves the current session state (cookies/localStorage) under a name, for tests with prior authentication.

session_listB

Lists the saved sessions.

session_deleteA

Deletes a saved session.

Prompts

Interactive templates invoked by user choice

NameDescription
create-testGuide to create a YATT test from scratch, run it and leave it green
diagnose-reportAnalyzes a run report, finds the root cause of the failures and proposes fixes
explore-pageExplores a page with the live browser (visible screenshots) and produces a map of the UI
export-specExports a YATT test to Playwright code (TypeScript spec)
flow-batteryGuide to turn repeated flows into a reusable battery: login with variables, saved sessions, sub-flows and data-driven runs

Resources

Contextual data attached and managed by the client

NameDescription
schemaDocumentation of the YATT test format (schema v1)

TDQS

B3.4/5.0

Scored across 35 tools

Disambiguation4/5

The tool set is organized by clear resource prefixes (test_, report_, browser_, tab_, session_), and each operation targets a distinct resource or action. A few browser-related tools such as browser_run_step, browser_condition, and browser_click_at have overlapping interaction/inspection responsibilities, but the descriptions clarify their boundaries.

Naming Consistency4/5

The vast majority of tools follow a consistent snake_case verb_noun pattern, e.g. test_create, browser_open, and session_delete. The exceptions are ping and schema, which are single-word names that do not follow the pattern but are still clear and unlikely to confuse.

Tool Count2/5

35 tools is well over the 25+ threshold and creates a heavy selection surface for an agent. The tools are logically grouped, but the overall count feels excessive for a single MCP server even though each tool has a legitimate role in the testing workflow.

Completeness4/5

The test lifecycle is well covered: create, read, update, delete, rename, duplicate, validate, run, and export are all present. Minor gaps exist in baseline management, which only offers list and get with no create/delete, and reports lack comparison or export operations, but these are workable gaps.

Maintenance

ActivityNo data
ResponsivenessNo issues