Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault

No arguments

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
create_projectB

Create a new website testing project. Each project represents a website to test.

list_projectsA

List all testing projects.

get_projectC

Get details of a specific project.

delete_projectA

Delete a project and its associated data.

set_form_loginA

Configure form-based login for a project. Use this for sites with username/password forms.

set_basic_authB

Configure HTTP Basic Auth for a project.

set_cookiesA

Set session cookies for a project. Use this to bypass login with existing session.

login_projectA

Execute login for a project using configured credentials. Must call set_form_login, set_basic_auth, or set_cookies first.

interactive_loginA

Open a VISIBLE browser window for a human to log in by hand — the way to authenticate flows that can't be automated (2FA/MFA, SSO/OAuth redirects, CAPTCHA, magic links, device confirmation). After you finish logging in, call save_login to capture the session; future headless sessions on the project reuse it. Requires a display on the server (DISPLAY set).

save_loginA

Capture the authenticated session (cookies + localStorage) from an in-progress interactive_login, save it to the project, and close the visible window. The project then opens authenticated sessions headlessly. Re-run interactive_login when the session expires.

test_urlA

Test a single URL. Takes screenshot and runs checks for visual issues, accessibility, functionality, SEO, performance, and GEO (AI/agentic search readiness: robots.txt AI-crawler access, llms.txt, WebMCP, JSON-LD).

crawl_projectC

Discover all pages in a project by crawling from the base URL.

test_projectA

Full project test: crawls all pages and runs all checks. Returns comprehensive report.

get_screenshotC

Get the file path to a screenshot for a tested URL.

list_reportsA

List all test reports for a project.

get_reportC

Get the contents of a specific test report.

open_sessionA

Open a persistent browser session for interactive testing. The session stays alive across tool calls so you can observe, click, fill forms, and decide next actions.

close_sessionA

Close a persistent browser session and free its resources.

list_sessionsA

List all active browser sessions with their URLs and idle times.

click_elementA

Click an element in a session page. Returns a screenshot and the new URL/title after click. Use force=true to bypass actionability checks (useful when overlays intercept pointer events).

fill_formA

Fill form fields in a session page and optionally submit. Use force=true to bypass actionability checks when overlays or dialogs block the inputs.

interact_and_testA

Execute a multi-step interaction workflow. Supports 25 actions: click, force_click, fill, force_fill, type, select, select_option, wait, wait_for, wait_for_text, screenshot, navigate, hover, press_key, check, uncheck, scroll_to, scroll_within, evaluate_js, drag, right_click, go_back, go_forward, upload_file, wait_for_network. Can work on an existing session or create an ephemeral page.

get_page_elementsA

List elements matching a CSS selector with their attributes (tag, text, id, class, href, value, visible, enabled, aria_label, role). Pass 'attributes' for extra HTML attributes (data-, aria-, style, ...) and 'full_text' for complete text content instead of the 80-char preview. Works on a session or a URL. Standard CSS selectors only — Playwright-specific pseudo-classes (:has-text, :visible) are not supported here.

test_form_validationA

Analyze forms on a page: find all forms, check required fields, collect validation messages from :invalid fields and custom error elements.

compare_screenshotsA

Compare two screenshots pixel-by-pixel. Returns difference percentage and a diff image highlighting changes.

test_responsiveA

Test a URL at multiple viewport sizes (mobile, tablet, desktop). Takes screenshots at each size and optionally runs checks.

check_linksC

Comprehensive link checker. Finds all links on a page and checks their status. Can check external links too.

measure_interactionA

Click an element and measure time until a condition is met (networkidle or a selector appears). Returns timing in ms.

record_sessionB

Record a workflow as video. Executes steps while recording with Playwright's built-in video capture.

test_keyboard_navigationA

Tab through a page and track focus order. Checks for visible focus indicators and reports the tab sequence.

get_console_errorsA

Get all console errors and logs captured on a session since it was opened (or since last call to this tool). Useful for passive monitoring without running steps.

copy_authA

Copy authentication config from one project to another. Useful when multiple projects share the same domain/credentials.

set_viewportA

Change the viewport size of a session page to test at different screen sizes. Use device presets or custom width/height. Takes a screenshot after resizing.

screenshot_sessionB

Take a screenshot of the current session page state. No actions performed — just captures what's on screen.

navigate_sessionA

Browser history navigation on a session: go back, go forward, or reload the page. Returns new URL/title + screenshot. Reload is useful for testing state persistence.

run_checks_on_sessionA

Run visual/accessibility/functionality/seo/performance checks on an active session page. Unlike test_url, this doesn't open a new page — it checks the current state after interactions.

handle_dialogA

Set up handling for JavaScript dialogs (alert, confirm, prompt) on a session. Must be called BEFORE the action that triggers the dialog.

upload_fileC

Set file(s) on a file input element. Works with elements.

wait_for_networkC

Wait for a specific network request to complete. Use URL pattern matching (substring) to wait for API calls instead of blind timeouts.

intercept_networkA

Mock API responses on a session. Intercept requests matching a URL pattern and return custom responses. Use to test error states, empty states, loading states without needing the real backend. Call BEFORE the action that triggers the request.

clear_interceptsA

Remove network mocks set by intercept_network. Clears all intercepts on the session, or only those matching a URL pattern.

get_local_storageA

Read localStorage or sessionStorage from a session page. Returns all entries or specific keys.

set_local_storageB

Write to localStorage or sessionStorage on a session page.

select_iframeA

Switch into an iframe to interact with embedded content. Returns a new session scoped to the iframe. Use close_session on the returned session when done.

get_computed_styleA

Get actual rendered CSS property values for elements matching a selector. Verify colors, fonts, spacing, display, opacity programmatically.

emulate_networkA

Throttle network speed on a session to simulate slow connections. Use to test loading spinners, offline fallbacks, timeout handling.

test_dark_modeA

Toggle prefers-color-scheme between light and dark on a session. Takes a screenshot showing the result.

assert_conditionA

Programmatic assertion — check a condition on the page and return pass/fail instantly without needing a screenshot. Supports: text_contains, text_equals, element_exists, element_visible, element_count, url_contains, title_contains, attribute_equals.

find_elementA

Smart element finder — search by text content, role, or partial match. Returns the best CSS selector to use. Saves the agent from guessing selectors.

auto_fill_formA

Auto-detect all form fields, infer their types (email, phone, name, address, etc.), fill with smart test data, and optionally submit. Replaces 5-10 tool calls with one.

get_network_logB

Get all network requests/responses captured during a session. See what API calls were made, status codes, methods, and response sizes. Optionally filter by URL pattern.

get_cookiesA

Read all cookies from a session. Essential for debugging auth issues.

page_stateA

Named page-state checkpoints. action=snapshot saves URL + cookies + storage + DOM signature under a name; action=restore navigates back to it and restores cookies/storage; action=diff compares the current DOM against the snapshot (added/removed/changed elements + tag count changes). Enables testing multiple paths from the same starting point.

get_interaction_logA

Export the real INP (Interaction to Next Paint) time series for a session — one record per interaction Periscope drove (click/typing), each with its input-to-next-paint latency, event type, target, timestamp, and URL. Saves a JSON (for graphing) or CSV file and returns percentile stats (p50/p75/p90/p98/worst). Use after driving interactions (interact_and_test, click_element, fill_form…) — ideal for a long interactive test where you want to see all INP times, not just the worst. Unlike Lighthouse (which can't measure INP in lab mode and falls back to TBT), this is measured from actual Event Timing entries.

run_lighthouseA

Run a real Google Lighthouse audit against a URL. Returns 0-100 category scores, Core Web Vitals lab metrics (LCP, TBT, CLS, Speed Index), and the failed audits, and saves the full JSON report. Requires Node.js — finds it on PATH or auto-detects nvm installs (~/.nvm); if none exists, returns the exact nvm install commands. Launches its own headless Chrome: no session or project auth state applies.

check_color_contrastA

Check WCAG color contrast ratios for text elements on the page. Samples one element per unique text style (color/background/size), so repeated nav items don't exhaust the budget — 'checked' counts style groups, 'elements_represented' the elements they cover. Reports failures against AA or AAA thresholds.

scroll_into_viewA

Scroll an element into the viewport without clicking it. Useful for lazy-loaded content or scrolling to a section.

wait_for_goneA

Wait for an element to disappear (removed from DOM or hidden). Useful for waiting for modals/dialogs/spinners to close.

get_page_htmlA

Return raw outerHTML of matching elements, or full page HTML if no selector. Useful for inspecting component structure. Standard CSS selectors only — Playwright-specific pseudo-classes (:has-text, :visible) are not supported here.

get_table_dataB

Parse an HTML table into structured JSON with headers mapped to cell values. Returns {headers, rows, total_rows}.

get_toast_messagesB

Capture visible toast/notification/alert messages on page. Checks common toast selectors ([role=alert], [role=status], [aria-live], .toast, .notification, Toastify, Sonner, Radix).

select_optionA

Select from native or custom dropdown (Radix/shadcn combobox). Auto-detects type. For custom dropdowns: clicks to open, then finds option by text cascade.

get_response_bodyA

Get the actual API response body text for a request matching a URL pattern. Critical for diagnosing 400/500 errors. Response bodies are captured automatically for fetch/xhr/document requests.

web_searchA

Search DuckDuckGo and return titles, URLs, and snippets. Useful for looking up documentation, verifying external content, or researching during testing workflows.

web_fetchA

Fetch a URL and extract readable text content. Use to read documentation pages, verify external link content, or inspect page text without a browser.

describe_toolsA

Get a structured guide to all available tools — grouped by category, with workflow examples and tips. Call this first if you've never used this server before.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/segentic-lab/periscope-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server