jev-reflex
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TEXT_MODEL | No | The text model name to use. Defaults to deepseek-chat. | deepseek-chat |
| TYPESAFE_MODEL | No | The TypeSafe model to use. Defaults to jev-latest. | jev-latest |
| TYPESAFE_API_KEY | Yes | Required. Your TypeSafe API key. | |
| TEXT_MODEL_API_KEY | No | Optional API key for the text model fallback, used only when a goal types text and values are omitted. | |
| TEXT_MODEL_BASE_URL | No | Base URL for the text model API. Defaults to https://api.deepseek.com/v1. | https://api.deepseek.com/v1 |
| TEXT_MODEL_REASONING | No | Set to 'none' to disable reasoning on OpenRouter models. |
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
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| browser_new_tabB | Open a new browser tab. Returns the new tab's targetId. |
| browser_gotoB | Navigate the current tab to |
| browser_page_infoA | Return current tab metadata: url, title, viewport and scroll sizes. |
| browser_clickB | Click at screen coordinates (x, y). |
| browser_typeC | Insert text into the focused element. |
| browser_fillC | Fill an input matched by |
| browser_pressC | Press a key. |
| browser_scrollA | Scroll the wheel at (x, y) by |
| browser_screenshotA | Capture a PNG screenshot. If |
| browser_list_tabsA | List open page tabs. |
| browser_current_tabA | Return the active tab's targetId, url and title. |
| browser_switch_tabC | Switch to tab by |
| browser_close_tabA | Close a tab. Without |
| browser_ensure_real_tabA | Switch to a real (non-internal) tab if the current one is chrome:// or stale. |
| browser_waitB | Wait for |
| browser_wait_for_loadC | Wait until the current tab's readyState is 'complete'. |
| browser_wait_for_elementA | Wait for an element matching |
| browser_jsA | Evaluate a JavaScript expression in the current tab (or an iframe |
| browser_cdpB | Call a raw Chrome DevTools Protocol method. |
| browser_upload_fileC | Set files on a file input matched by |
| browser_http_getA | HTTP GET |
| browser_start_recordingC | Start recording actions to a local directory. |
| browser_stop_recordingA | Stop the active recording and return its directory. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 23 tools
Most tools map cleanly to distinct browser actions, but browser_current_tab and browser_page_info overlap on basic tab metadata, and browser_type vs browser_fill both handle text input. The descriptions help disambiguate, but an agent could plausibly misselect between these pairs.
All tools share the browser_ prefix and snake_case style, and the majority follow a clear verb_noun pattern (goto, click, close_tab, new_tab). However, a few names deviate with noun phrases or added prepositions like current_tab, page_info, ensure_real_tab, and wait_for_load, making the pattern mostly but not fully consistent.
At 23 tools, this is on the heavier side, but each tool serves a distinct browser automation capability—navigation, tabs, wait conditions, input, JS/CDP, upload, and recording. The count is justified for a browser control surface, though it slightly exceeds the typical well-scoped range.
The tool set covers most standard browser automation needs: navigation, tab management, interaction, waiting, screenshots, JS evaluation, raw CDP, file upload, and session recording. Minor gaps like explicit back/forward/reload, hover, or direct text extraction exist, but these are workable via browser_js or browser_cdp.