Skip to main content
Glama

neko-mcp

MCP Server để AI agent điều khiển neko virtual browser, trong khi bạn xem live qua WebRTC stream.

Cách dùng

1. Cài đặt

cd neko-mcp
npm install
npm run build

2. Cấu hình trong Claude Desktop (claude_desktop_config.json)

{
  "mcpServers": {
    "neko": {
      "command": "node",
      "args": ["/đường/dẫn/đến/neko-mcp/dist/index.js"],
      "env": {
        "NEKO_URL": "http://113.173.35.45:8080",
        "NEKO_USERNAME": "neko",
        "NEKO_PASSWORD": "admin"
      }
    }
  }
}

Hoặc dùng biến môi trường mặc định (đã set sẵn cho server của bạn).

3. Quy trình dùng với AI Agent

Thứ tự khuyến nghị khi bắt đầu một task:

1. connect_websocket   → Kết nối WebSocket
2. take_control        → Lấy quyền điều khiển
3. screenshot          → Xem màn hình hiện tại
4. navigate_url        → Vào URL cần thiết
5. screenshot          → Xem kết quả
6. mouse_click / type_text / key_press  → Tương tác
7. screenshot          → Xem kết quả
...

Related MCP server: screenbox

Tools

Tool

Mô tả

screenshot

Chụp màn hình → trả về base64 JPEG

navigate_url

Điều hướng đến URL (dùng Ctrl+L)

mouse_click

Click tại (x, y)

mouse_move

Di chuột đến (x, y)

mouse_scroll

Cuộn trang tại (x, y)

type_text

Gõ text (dùng clipboard trick)

key_press

Nhấn tổ hợp phím

get_clipboard

Lấy nội dung clipboard

set_clipboard

Đặt nội dung clipboard

get_screen_info

Lấy độ phân giải màn hình

take_control

Lấy quyền điều khiển

release_control

Nhả quyền điều khiển

connect_websocket

Kết nối WebSocket

Phím đặc biệt cho key_press

ctrl, shift, alt, super
Return (Enter), Escape, Tab, BackSpace, Delete
Left, Right, Up, Down
Home, End, Page_Up, Page_Down
F1 - F12
space
a-z, 0-9, ký tự bình thường

Ví dụ tổ hợp phím:

  • Ctrl+C: ["ctrl", "c"]

  • Ctrl+L (focus address bar): ["ctrl", "l"]

  • Ctrl+Shift+T (mở tab mới): ["ctrl", "shift", "t"]

Kiến trúc

Claude/AI Agent
      │ MCP tools
      ▼
 neko-mcp server
   ├── REST API  → /api/login, /api/room/screen/shot.jpg,
   │               /api/room/clipboard, /api/room/control/take
   └── WebSocket → /api/ws  (mouse, keyboard, scroll events)
      
                        ▼ neko server renders
                  Bạn xem qua browser (WebRTC)

Ghi chú

  • WebSocket format: MCP dùng v3 API format (/api/ws). Nếu server dùng legacy mode, có thể cần adjust message format.

  • type_text dùng clipboard trick: set text qua REST API rồi paste Ctrl+V — đảm bảo Unicode hoạt động tốt.

  • Screenshot trả về base64 JPEG — AI agent (Claude) có thể đọc ảnh này để hiểu màn hình đang hiển thị gì.

Available Tools

13 tools
connect_websocketA

Kết nối WebSocket tới neko để chuẩn bị gửi mouse/keyboard events. Nên gọi đầu tiên.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility. It only states it connects and prepares, but omits behavioral traits like connection timeout, idempotency, error conditions, or what happens if called again.

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?

Extremely concise: two short sentences front-loading purpose and usage order. No redundant words.

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

Completeness3/5

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

For a simple connection tool with no parameters or output schema, the description covers essential usage (call first) and purpose. However, it doesn't explain what the tool returns or how to confirm successful connection, which an agent would need.

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?

Tool has zero parameters, so the description adds no parameter-level info beyond the schema. Baseline 4 is appropriate as there's nothing to clarify.

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 action (connect WebSocket), target (neko), and purpose (prepare for mouse/keyboard events). It distinguishes itself from sibling tools, which are all action-oriented, by being the only setup/connection tool.

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?

Explicitly says 'Nên gọi đầu tiên' (Should call first), giving clear when-to-use guidance. No alternatives are mentioned, but as the only connection tool, this is sufficient. Could add when not to call.

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

get_clipboardA

Lấy nội dung text hiện tại trong clipboard của neko.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided. The description indicates it reads text from clipboard, which is non-destructive, but does not mention edge cases like empty clipboard or access restrictions.

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?

Single sentence, no unnecessary words. Front-loaded with the key action and target.

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?

For a zero-parameter tool with no output schema, the description is largely sufficient. It could mention return type or potential errors, but overall covers the main purpose.

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?

No parameters exist, and schema coverage is 100%. The description adds value by confirming output is text content, beyond the empty 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 retrieves the current text content from the clipboard. It distinguishes from the sibling 'set_clipboard' tool by using a different verb ('get' vs 'set').

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?

No explicit guidance on when to use or alternatives. However, as the only clipboard retrieval tool, usage is straightforward. A brief note on when to avoid (e.g., if clipboard is locked) would improve clarity.

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

get_screen_infoA

Lấy thông tin màn hình: độ phân giải, số kết nối hiện tại.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

Discloses that it returns resolution and connection count, with no side effects implied. No annotations are provided, so the description carries full burden and is adequate.

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?

A single concise sentence covers what the tool does and what information it returns, with no unnecessary words.

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?

Given no input or output schema, the description fully explains the tool's purpose and output. It is complete for selection and invocation.

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?

No parameters exist, so schema coverage is 100%. Baseline score of 4 applies as no additional parameter documentation is needed.

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 retrieves screen information (resolution and current connections). It distinguishes itself from sibling tools which handle actions like clicks, navigation, and web socket connections.

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?

No explicit guidance on when to use this tool versus alternatives, but the purpose is straightforward and siblings are distinct actions, so usage is implied.

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

key_pressA

Nhấn tổ hợp phím. Ví dụ: ['ctrl','c'] cho Ctrl+C, ['Return'] cho Enter, ['ctrl','l'] cho focus address bar.

ParametersJSON Schema
NameRequiredDescriptionDefault
keysYesDanh sách phím: 'ctrl', 'shift', 'alt', 'Return', 'Escape', 'Tab', 'BackSpace', 'F5', 'a'-'z', '0'-'9', v.v.

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided. Description explains key press but does not disclose release behavior, timing, or whether it waits. Adequate for simple action.

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?

Extremely concise: two sentences with no wasted words. Purpose stated first, then examples. Ideal for quick comprehension.

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?

For a simple tool with one parameter and no output schema, the description is sufficient. It covers functionality and examples, though missing guidance on when not to use.

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?

Schema coverage is 100%. Description adds examples that enhance understanding beyond the schema's parameter list, providing concrete use cases.

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 purpose: pressing key combinations. Examples distinguish it from siblings like type_text and mouse actions.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like type_text. Examples imply usage for shortcuts but lack context for selection.

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

mouse_clickA

Click chuột vào vị trí (x, y) trên màn hình. Tọa độ tính từ góc trên trái.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesTọa độ X (pixels từ trái)
yYesTọa độ Y (pixels từ trên)
buttonNoNút chuột: 1=trái (mặc định), 2=giữa, 3=phải

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It states coordinates are from top left and implies a click action, but lacks details on button press/release sequence, potential failures, or authorization needs.

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?

Two sentences, no wasted words, perfectly concise for a simple mouse click tool.

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?

For a tool with 3 parameters and no output schema, the description covers the essential action and coordinate system. It is mostly complete, though it could mention that the click occurs at the specified coordinates regardless of current mouse position.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add extra meaning beyond the schema's parameter descriptions (x,y,button).

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 verb 'click' and the resource 'position (x, y) on the screen', distinguishing it from sibling tools like mouse_move and mouse_scroll.

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?

No explicit guidance on when to use this tool versus alternatives. The description implies usage for clicking at coordinates, but does not specify when to choose click over move or other mouse actions.

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

mouse_moveA

Di chuyển chuột đến vị trí (x, y) mà không click.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYes
yYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations, so description bears full burden. Mentions 'without clicking,' but lacks details like coordinate system, if movement is instant, or bounds.

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?

Single sentence, no waste. Efficiently communicates core action.

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?

Sufficient for a simple tool; covers basic action. Could mention coordinate system or that it bypasses click events, but not critical.

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

Parameters2/5

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

Schema has 0% description coverage. Description only says 'vị trí (x, y)' without clarifying coordinate system, units, or range. Minimal additional meaning.

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?

Description clearly states the action: move mouse to (x,y) without clicking. Verb 'di chuyển' and resource 'chuột' are specific. Distinguishes from sibling tools like mouse_click and mouse_scroll.

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?

No explicit guidance on when to use this vs alternatives. The purpose implies it's for repositioning without clicking, but no when-not or contextual hints.

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

mouse_scrollA

Cuộn chuột tại vị trí (x, y). deltaY âm = cuộn lên, dương = cuộn xuống.

ParametersJSON Schema
NameRequiredDescriptionDefault
xYesVị trí X để cuộn
yYesVị trí Y để cuộn
delta_xNoCuộn ngang (thường là 0)
delta_yNoCuộn dọc: âm=lên, dương=xuống

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the burden. It explains that delta_y negative scrolls up and positive scrolls down, and mentions delta_x for horizontal scroll. However, it does not clarify what the delta values represent (e.g., number of notches or lines), nor does it describe the behavior if the position is off-screen or the scroll limits.

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 a single sentence with no unnecessary words. It is front-loaded with the action and clearly explains the key parameter behavior.

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?

The tool is simple and the description covers the essential information: action, position, and scroll direction. However, it could be more complete by hinting at the magnitude of delta_y (e.g., lines vs. pixels) or mentioning any side effects. Overall, it is adequate for basic usage.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds minimal extra beyond the schema: it reiterates the direction of delta_y, but the schema already provides that information. The description does not add new meaning or format details.

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 action ('scroll mouse') and the key parameters (position x,y, scroll direction via delta_y). It distinguishes itself from sibling tools like mouse_click and mouse_move by specifying the scroll operation.

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 implies usage when a scroll at a specific position is needed, but it does not explicitly state when to use this tool versus alternatives like keyboard actions or navigating. No exclusions or alternative recommendations are provided.

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

release_controlA

Nhả quyền điều khiển chuột/bàn phím.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

Lacks details on side effects, prerequisites (must have taken control), error states, or return values. The description only states the action without behavioral context.

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?

Single short sentence with no wasted words, effectively front-loaded.

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

Completeness3/5

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

Minimal description covers the basic function but lacks context on prerequisites, error handling, and return values. For a simple tool with no parameters or output schema, it is adequate but not complete.

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?

No parameters exist, so schema coverage is 100%. Baseline is 4 for 0 parameters. Description does not add parameter info, but none is needed.

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 releases control of mouse and keyboard, which is a specific action distinguishing it from siblings like take_control.

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?

No explicit guidance on when to use this tool versus alternatives. It is implied it should be used after take_control, but not stated.

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

screenshotA

Chụp ảnh màn hình hiện tại của neko virtual browser. Trả về ảnh dạng base64 JPEG.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description must disclose behavioral traits. It mentions the output format (base64 JPEG) but does not discuss side effects, confidentiality concerns, or error states. It is adequate but shallow.

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 succinct with two sentences, front-loading the action and output format. Every word is purposeful, and there is no redundant information.

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?

For a simple tool with no parameters and no output schema, the description adequately covers purpose and output. However, it omits potential error conditions or performance notes, though these are not critical for a basic screenshot tool.

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?

The input schema has no parameters, so schema description coverage is 100%. The description adds no parameter info, which is acceptable given zero parameters. Baseline of 4 is appropriate.

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 action (taking a screenshot) and the resource (neko virtual browser screen), along with the output format (base64 JPEG). It distinguishes the tool from its siblings, none of which perform screenshot functionality.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as when a screenshot is needed or if there are limitations like permissions or performance impacts. The description lacks context for appropriate usage.

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

set_clipboardB

Đặt nội dung text vào clipboard của neko.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesNội dung muốn đặt vào clipboard

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It only states the basic action, omitting whether it overwrites existing clipboard content, requires a connection, or has side effects.

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

Conciseness3/5

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

A single sentence is concise but minimal. Language is Vietnamese, which may hinder clarity for non-Vietnamese agents. Structure is adequate but not front-loaded with key information.

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

Completeness2/5

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

Given the simplicity (1 param, no output schema), the description is incomplete. It does not explain the domain (e.g., what 'neko' refers to) or whether the clipboard is local or remote, which is critical for context.

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

Parameters3/5

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

Schema coverage is 100% with one parameter 'text'. The description adds no additional meaning beyond the schema, meeting the baseline for high coverage.

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 action 'Đặt' (set) and resource 'clipboard', specifying it's for text content. It effectively distinguishes from sibling tools like get_clipboard (retrieve) and type_text (keyboard input).

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. Lacks context about prerequisites, exclusions, or comparison to related tools such as type_text or get_clipboard.

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

take_controlA

Lấy quyền điều khiển chuột/bàn phím của neko. Cần gọi trước khi dùng mouse/keyboard tools.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states it takes control but does not disclose any side effects, whether multiple calls are safe, or if permissions are needed. This is insufficient for a tool that likely modifies system state.

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 two concise sentences. The first sentence states the purpose, the second provides critical usage guidance. Every word adds value, and it is front-loaded.

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 the tool has no parameters, no output schema, and is relatively simple, the description adequately covers its purpose and usage context. It could mention the counterpart tool release_control, but overall it is complete enough for an AI agent.

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?

The tool has zero parameters, and the schema coverage is trivially 100%. With no parameters, the description need not add parameter details. The baseline score of 4 is appropriate.

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 verb 'take control' and the resource 'neko's mouse/keyboard'. It distinguishes from sibling tools (which are specific input actions or utilities) by specifying that this must be called before using mouse/keyboard tools.

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 explicitly states 'Must be called before using mouse/keyboard tools.' This provides clear contextual guidance on when to use the tool. It does not mention alternatives or when not to use, but the sibling list includes release_control as a counterpart.

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

type_textA

Gõ text vào vị trí focus hiện tại. Dùng clipboard + Ctrl+V để đảm bảo Unicode hoạt động.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesNội dung text cần gõ

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description reveals the clipboard-based implementation for Unicode, implying potential clipboard content overwrite. This is sufficient behavioral disclosure for a simple tool, though not exhaustive.

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 two sentences, concise and front-loaded. Every sentence earns its place without excess.

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 the simplicity (one param, no output schema), the description explains the Unicode mechanism adequately. Slight improvement could mention reliance on focus state.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter 'text', but the tool description adds no additional meaning beyond the schema's basic description of the parameter content.

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 types text at the current focus position, using a specific verb (Gõ text) and resource (vị trí focus hiện tại). It naturally distinguishes from siblings like key_press and set_clipboard.

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 provides a mechanism hint (clipboard + Ctrl+V for Unicode) but does not explicitly state when to use this tool versus alternatives like key_press or set_clipboard. No when-not scenarios are given.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 13 tool updatesv1.0.0
    • First observedconnect_websocket
    • First observedget_clipboard
    • First observedget_screen_info
    • First observedkey_press
    • First observedmouse_click
    • First observedmouse_move
    • First observedmouse_scroll
    • First observednavigate_url
    • First observedrelease_control
    • First observedscreenshot
    • First observedset_clipboard
    • First observedtake_control
    • First observedtype_text

TDQS

A3.9/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a distinct action (connect, get/set clipboard, screen info, keyboard, mouse, navigation, control management, screenshot), with no overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun pattern (e.g., connect_websocket, key_press, mouse_click, take_control), with only 'screenshot' as a single-word exception, which is still clear.

Tool Count5/5

13 tools is well-scoped for a virtual browser control server, covering connection, control, input, navigation, clipboard, and screenshot without being excessive.

Completeness4/5

Core workflows (connect, control, navigate, type, mouse, keyboard, clipboard, screenshot) are covered. Minor gaps like explicit page refresh or JavaScript execution exist, but the toolset supports workarounds via key_press and coordinates.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI coding assistants to control a persistent Chrome browser through DevTools Protocol. Supports web navigation, screenshots, element interaction, mobile testing, console logs, and network debugging in a stable Docker environment.
    10
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides AI agents with isolated virtual desktops containing a real Chromium browser, enabling them to see, click, type, and navigate like a human, with features like snapshots and remote control.
    22
    AGPL 3.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI clients to directly control a real Chrome/Edge browser via a WebSocket extension, supporting operations like navigation, clicks, screenshots, and JavaScript evaluation.
    11 npm
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables AI agents to control a persistent Chromium browser or attach to an existing Chrome with sandboxed JavaScript and structured tools for web interaction and automation.
    16
    MIT