Skip to main content
Glama
rreusser

Observable Notebook Kit Debug MCP Server

by rreusser

MouseDrag

Simulate mouse drag interactions in an Observable Notebook to test UI actions like moving or zooming elements. Set start/end positions, duration, and target element to reproduce user behavior.

Instructions

Simulate a mouse drag from start to end position. Emits mousedown, mousemove events per animation frame, then mouseup.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endXNoEnding X coordinate
endYNoEnding Y coordinate
labelNoOptional label describing the intent of this action (e.g., "expand plot", "zoom in"). Displayed in the notebook's event log overlay.
buttonNoMouse button (0=left, 1=middle, 2=right). Default: 0
startXNoStarting X coordinate
startYNoStarting Y coordinate
durationNoDuration of drag in milliseconds. Default: 300
notebookNoTarget notebook (URL, path like "index" or "voronoi", or index like "0"). Optional if you've used FocusNotebook or only one notebook is connected.
selectorNoCSS selector for target element. If provided, positions are relative to element.
timeout_msNoMaximum time to wait in milliseconds

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. First observedv1.0.2

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden for behavioral disclosure. It transparently explains event sequence (mousedown, mousemove per animation frame, mouseup), duration parameter, and selector-relative positioning. It doesn't mention side effects like whether this moves focus or triggers native drag-and-drop behavior, but the event-level detail is strong.

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 concise sentences with no wasted words. The first sentence states the core action, and the second specifies the exact event sequence. Both are front-loaded and information-dense.

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 simulated input tool with 10 parameters but no output schema, the description covers the essential behavior well. The coordinate system and event sequencing are explained. It could be improved by noting that drags may need to land on target elements and don't trigger OS-level drag and drop, but the core call contract is clear.

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%, so every parameter already has a description in the schema. The tool description adds value by explaining the behavioral meaning of duration (per animation frame) and selector-relative positions, which goes beyond the bare schema. Some parameters like timeout_ms lack detailed semantics, but the schema covers their basics.

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 clearly states the action (simulate a mouse drag), its lifecycle (mousedown, mousemove per frame, mouseup), and its core inputs (start/end positions). It distinguishes this from sibling tools like MouseClick and MouseHover by specifying the drag sequence, though it doesn't explicitly name those alternatives.

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 for drag operations and mentions that positions can be relative to an element, but it doesn't explicitly state when to use this vs MouseClick/MouseHover. There is no guidance on prerequisites like the element being visible or notebook focus, though the notebook parameter hints at connection context.

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

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/rreusser/mcp-observable-notebookkit-debug'

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