Skip to main content
Glama
zeshuochen

nekoro-browser-mcp

by zeshuochen

press_key

Send keyboard press events to the browser, supporting modifiers (Alt, Ctrl, Meta, Shift) and special keys for shortcuts and text input, with correct modifier handling.

Instructions

press_key("Enter") / press_key("a") — 修饰键位: Alt=1 Ctrl=2 Meta=4 Shift=8。 tab 不传打当前活动标签。 特殊键(Enter/Tab/Arrow*/Backspace…)带 virtual key code,监听 e.keyCode/e.which/e.key 的页面(表单、老站)都能触发;单字符可打印键补发 char 事件(直接进 input,不走 insertText); Alt/Ctrl/Meta 修饰时不发 char(让 Ctrl+A 走快捷键而非打出字符 'a')。 移植 browser-harness press_key。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
keyYes
tabNo
modifiersNo
Behavior5/5

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

With no annotations, the description fully carries the burden: it discloses modifier bitmask values (Alt=1 Ctrl=2 Meta=4 Shift=8), default tab behavior, virtual key code dispatch for special keys, char event dispatch for printable keys, and the intentional suppression of char events for Ctrl/Meta/Alt combinations. This rich behavioral context goes far beyond a simple 'presses a key' statement.

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

Conciseness4/5

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

The description is compact and packed with actionable information, with usage examples first. The final provenance note ('移植 browser-harness press_key') is not directly useful for operating the tool but is harmless. The semicolon-separated stream is somewhat dense, but every clause contributes technical value.

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

Completeness4/5

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

Given its simplicity (3 params, no output schema, no annotations), the description covers invocation, targeting, modifiers, and event behavior comprehensively. It does not mention return values or failure modes, but those are likely unobservable or secondary for a key-simulation tool. The tool is fully usable based on the description alone.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must explain each parameter. It does: key is exemplified with 'Enter' and 'a', tab is an integer targeting a specific tab (defaulting to the active one), and modifiers is an integer bitmask with explicit values. This is a complete and useful interpretation of the otherwise bare schema.

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

Purpose4/5

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

The description opens with usage examples (press_key("Enter") / press_key("a")) that clearly establish the operation: pressing a key on a page. It also communicates low-level key simulation behavior (virtual key codes, char events) that implies distinction from text-input tools like type_text, but it never explicitly names or contrasts those siblings.

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

Usage Guidelines3/5

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

The description discloses parameter behaviors (tab defaults to active tab, modifier bitmask) and when certain event types are sent, but it does not state when to choose press_key over type_text, fill_input, or click. Usage is implicit via the key-press semantics and modifier examples, yet no explicit alternatives or exclusions are given.

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/zeshuochen/nekoro-browser'

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