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": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
start_browserA

Start a browser session. Optional — any tool will auto-start Chrome if no browser is open. Use this to choose Firefox, enable headless mode, or set a custom window size.

navigateB

Navigate the browser to a URL.

take_screenshotA

Take a screenshot and return it as base64.

get_page_sourceA

Return the current page HTML source.

get_page_titleB

Return the current page title.

get_current_urlA

Return the current URL.

close_browserA

Close and quit the browser session.

go_backA

Navigate back in browser history.

go_forwardA

Navigate forward in browser history.

refreshB

Refresh the current page.

execute_scriptC

Execute JavaScript in the browser.

switch_to_windowB

Switch to a browser window/tab by index.

open_new_tabA

Open a new browser tab, optionally navigating to a URL.

close_current_tabA

Close the currently active tab and switch to the previous one.

list_windowsA

List all open browser tabs/windows with their index, title, and URL.

scroll_to_topA

Scroll the page to the very top.

scroll_to_bottomA

Scroll the page to the very bottom.

scroll_byA

Scroll the page by a given number of pixels (positive = down/right).

emulate_deviceA

Emulate a mobile device using Chrome DevTools Protocol. Adjusts viewport, pixel ratio, and touch.

get_console_logsA

Return browser console logs (errors, warnings, info). Chrome only.

get_cookiesA

Return all cookies for the current page, or a single cookie by name.

set_cookieC

Set a cookie on the current page.

delete_cookieB

Delete a specific cookie by name.

delete_all_cookiesA

Delete all cookies for the current session.

get_local_storageA

Get a value from localStorage, or return all keys if no key is given.

set_local_storageC

Set a localStorage key-value pair.

get_session_storageA

Get a value from sessionStorage, or return all keys if no key is given.

set_session_storageB

Set a sessionStorage key-value pair.

inspect_pageA

Discover all interactive elements on the current page — inputs, buttons, selects, checkboxes, textareas, and links — with their best CSS selectors and labels. Use this before writing locators so the AI knows exactly what's on the page.

get_network_logsA

Return captured XHR/fetch network requests (method, URL, status, timing). Chrome only.

mock_responseA

Intercept fetch/XHR requests matching a URL pattern and return a canned response. Useful for testing without a real backend. Injection survives until the page is reloaded.

clear_mock_responsesA

Remove all active mock response rules injected by mock_response.

compare_screenshotA

Compare the current page screenshot against a saved baseline. On first run (or with update_baseline=true) saves the baseline. Returns the pixel diff percentage. Install Pillow for accurate pixel comparison.

check_accessibilityA

Run a built-in accessibility audit on the current page. Checks for missing alt text, unlabelled inputs, empty buttons/links, missing page title, HTML lang, heading structure, and keyboard accessibility.

wait_for_network_idleA

Wait until there are no active XHR/fetch requests for a quiet period. Essential for SPAs and pages that load data asynchronously. Also waits for document.readyState to be 'complete'.

find_elementB

Find an element and return its text, tag, and attributes.

find_elementsA

Find all matching elements and return their texts.

clickC

Click on an element.

type_textC

Clear and type text into an input field.

get_textB

Get the visible text content of an element.

get_attributeC

Get an attribute value from an element.

select_optionA

Select an option from a dropdown by visible text, value, or index.

hoverB

Hover the mouse over an element.

double_clickB

Double-click on an element.

right_clickA

Right-click (context menu) on an element.

drag_and_dropC

Drag one element and drop it onto another.

is_displayedC

Check if an element is visible on the page.

is_enabledC

Check if an element is enabled (not disabled).

wait_for_elementC

Wait until an element is visible on the page.

scroll_to_elementA

Scroll the page to bring an element into view.

clear_fieldB

Clear the text in an input field.

fill_formA

Fill multiple form fields in a single call. Pass a map of CSS selector → value. Automatically handles text inputs, textareas, checkboxes (true/false), radio buttons, and dropdowns. Optionally clicks a submit button at the end.

get_healed_locatorsA

Return all self-healed locator mappings from this session. Shows which selectors were automatically repaired and what they were replaced with.

clear_healed_locatorsA

Clear the self-healing locator cache so all selectors are re-evaluated from scratch.

accept_alertB

Accept (OK) a JavaScript alert, confirm, or prompt dialog.

dismiss_alertC

Dismiss (Cancel) a JavaScript confirm or prompt dialog.

get_alert_textB

Return the text message of a currently open JavaScript alert/confirm/prompt.

type_in_alertA

Type text into a JavaScript prompt dialog, then accept it.

switch_to_frameA

Switch focus into an iframe. Provide index (integer), name/id (string), or a CSS/XPath selector.

switch_to_default_contentA

Switch back to the main page content from inside a frame.

send_keysA

Send a key or key combination to the focused element (or a specific element if selector is given). Use key names like 'tab', 'enter', 'escape', 'up', 'down', 'f5', or combos like 'ctrl+a', 'shift+tab'.

upload_fileA

Upload a file by sending its absolute path to an element.

find_shadow_elementA

Find an element inside a shadow DOM. Provide the host element selector and then the selector for the element inside the shadow root.

get_table_dataC

Extract data from an HTML table as a formatted text grid.

assert_titleA

Assert the page title equals or contains expected text.

assert_urlB

Assert the current URL equals or contains expected value.

assert_textB

Assert element text equals or contains expected value.

assert_element_visibleC

Assert an element is visible on the page.

assert_element_not_visibleB

Assert an element is NOT visible (hidden or absent).

assert_attributeC

Assert an element attribute has the expected value.

assert_page_containsC

Assert the full page source or visible text contains a string.

assert_element_countB

Assert number of elements matching selector equals expected count.

generate_python_testA

Generate a pytest + Selenium test script from the current browser session. Captures all recorded actions (navigate, click, type, hover, drag, select, etc.) into a runnable test.

generate_java_testngB

Generate a Java TestNG test class from the current browser session. framework='testfly' (default) emits a TestFly test (extends BaseTest, framework-managed driver, open(), accessibility-first getByRole/getByLabel/getByTestId/find locators and web-first assertThat assertions — no driver lifecycle boilerplate). framework='testng' emits standalone raw Selenium with a ChromeDriver setUp/tearDown.

generate_java_junit5A

Generate a Java JUnit 5 test class from the current browser session. framework='testfly' (default) emits a TestFly test (extends BaseJUnit5Test, framework-managed driver, open(), accessibility-first locators and web-first assertThat assertions). framework='junit5' emits standalone raw Selenium with a ChromeDriver setUp/tearDown.

detect_testflyA

Detect whether the current working directory is inside a TestFly project (looks for testfly.yml or the io.testfly dependency in pom.xml / build.gradle, walking up parent directories). Call this BEFORE generating Java code: if it reports detected=true, generate with framework="testfly" so the output uses the framework's accessibility-first locators, open(), and managed driver.

detect_selenium_bootA

Backward-compatible alias for detect_testfly. Detects whether the current working directory is inside a TestFly project.

generate_testfly_configC

Generate a production-ready testfly.yml configuration file tailored to the current session or customized via arguments.

generate_testfly_pomA

Generate a standard Maven pom.xml pre-configured with TestFly 1.0.0, Java 17+, maven-compiler-plugin, and maven-surefire-plugin.

get_session_logA

Return the raw list of recorded actions in the current session.

clear_session_logA

Clear the recorded action log and start fresh.

generate_gherkinA

Generate a Cucumber Gherkin .feature file + Java step definitions class + TestNG Cucumber runner from the recorded browser session. framework='testfly' (default) emits steps extending BaseCucumberSteps with framework-managed driver, open(), accessibility-first locators, web-first assertThat, and a RunCucumberTest runner extending BaseCucumberTest. framework='raw' emits standalone Selenium.

generate_csharp_nunitA

Generate a C# NUnit + Selenium test class from the current browser session.

generate_github_actionsB

Generate a GitHub Actions CI workflow YAML for running the recorded test session.

generate_jenkins_pipelineA

Generate a declarative Jenkinsfile for running the recorded test session (Maven, Gradle, or pytest).

generate_gitlab_ciA

Generate a .gitlab-ci.yml pipeline for running the recorded test session (Maven, Gradle, or pytest).

generate_playwright_hintsA

Generate equivalent Playwright (TypeScript) code hints from the recorded browser session.

generate_java_page_objectA

Generate a Java Page Object class + matching test class from the recorded session. USE THIS INSTEAD OF WRITING JAVA BY HAND — the output compiles as-is and contains only the elements/actions actually performed, so it never invents fields or uses non-existent framework APIs. Produces two files: a Page Object (locators + fluent action methods) and a Test class that uses it. Supports TestFly (framework='testfly', default): Page Object extends BasePage, Test extends BaseTest, framework manages driver lifecycle, accessibility-first locators and web-first assertThat assertions. framework='testng'/'junit5' emit standalone raw Selenium.

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/hakanngul/testfly-mcp'

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