Skip to main content
Glama
Zindaar

operagx-connector-plus

by Zindaar

Press Key

operagx_press_key
Destructive

Send keyboard keys or chords (like Enter, Ctrl+A) to a page or focused element. Target specific tabs or elements first for precise actions like submitting forms or selecting text.

Instructions

Sends a key or chord to the focused element or page, e.g. "Enter", "Escape", "Tab", "Control+A", "Control+Shift+ArrowLeft". If a target is given, it is clicked/focused first.

Args:

  • tabId / tabIndex / matchUrl / matchTitle (optional): which tab to send the key to.

  • elementId / selector / x+y (all optional): if given, focus this element first; otherwise the key goes to whatever currently has focus.

  • key (string): Playwright key syntax, e.g. "Enter" or "Control+A".

Returns: { "ok": true }

Examples:

  • Use when: "press Enter to submit the search" -> press_key with key="Enter" (target optional if the search field is already focused from a previous type_text call).

  • Use when: "select all text in this field" -> press_key with the field's elementId and key="Control+A".

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
xNoAbsolute viewport x in CSS pixels, if not using elementId/selector.
yNoAbsolute viewport y in CSS pixels, if not using elementId/selector.
keyYesPlaywright key syntax, e.g. "Enter" or "Control+A".
tabIdNoTab id from operagx_list_tabs. Omit to use the first open tab.
matchUrlNoPick the tab whose URL contains this substring.
selectorNoCSS selector, if not using elementId.
tabIndexNoZero-based tab index, alternative to tabId.
elementIdNoId from the last operagx_map_elements call (preferred — most robust).
matchTitleNoPick the tab whose title contains this substring.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okYes
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that a target, if provided, is clicked or focused first — a side effect not obvious from the annotations. It also states the return value {"ok": true}. Annotations already indicate destructive behavior (destructiveHint=true), so additional warnings are less needed. The description adds useful context beyond the structured fields without contradicting them.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-organized with separate sections for Args and Use when, making it easy to scan. Every sentence adds value, including examples and return type. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite having 9 parameters, the description covers the key aspects: what it does, how to specify targets, examples of key syntax, and the behavior when no target is given. Combined with the fully described schema and output schema, the description is complete enough for an agent to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Although schema coverage is 100%, the description adds meaning by explaining the key syntax with examples and clarifying the behavior when no target is given ('key goes to whatever currently has focus'). It also notes that elementId is preferred over selector or coordinates, but this is partially echoed in the schema. Overall, the description enhances understanding of parameter usage beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Sends a key or chord to the focused element or page' with concrete examples like 'Enter', 'Escape', 'Control+A'. This specifies the verb (sends), resource (key or chord to element/page), and distinguishes from siblings such as typ_text (which inputs text) or click (which clicks).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit 'Use when' examples, such as 'press Enter to submit the search' and 'select all text in this field', indicating appropriate scenarios. It also explains how targeting works ('If a target is given, it is clicked/focused first'), but does not explicitly mention when not to use the tool or name alternative tools, so it falls short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/Zindaar/operagx-connector-plus'

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