Skip to main content
Glama
jonasliesas

singlestore-mcp-server

by jonasliesas

notebook_run

Destructive

Execute one notebook cell (SQL, Python, or SAS) in its kernel and return a run ID to poll for results; SQL queries can produce DataFrames.

Instructions

Run one notebook cell in its kernel; returns a run id to poll with notebook_poll.

cell_type "sql": a SingleStore statement whose result becomes a DataFrame
(``df``, and ``name`` if given). Statements that change data or schema
come back with ``needs_confirmation`` unless ``confirmed``.
cell_type "python": Python code, run as-is.
cell_type "sas": SAS code (DATA steps, PROCs) in the SAS Viya session; libref S2 = the notebook database.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNo
sourceYes
databaseNo
cell_typeYes
confirmedNo
notebook_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.8.1

TDQS

A4.5/5.0
Behavior5/5

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

Goes well beyond the annotations: it discloses that SQL results become a DataFrame named 'df' (and 'name' if given), that data/schema-changing statements return 'needs_confirmation' unless 'confirmed', and that SAS runs in the SAS Viya session with libref S2 mapped to the notebook database. This is exactly the kind of mutation-confirmation and side-effect context the destructiveHint annotation alone cannot convey.

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?

Front-loads the core action and return pointer, then structures the rest by cell_type, so every line earns its place. Slightly dense but no filler.

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 6-param mutation tool with no output schema, it covers return value (run id), the confirmation flow, and per-type behavior adequately. It stops short of describing failure behavior or setup prerequisites, but nothing critical is missing for correct 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?

With 0% schema description coverage the description must carry the load, and it explains cell_type values thoroughly, plus name, confirmed, and the database mapping via libref S2. notebook_id and source are left implicit, so it compensates well but not completely.

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?

States a specific verb and resource ('Run one notebook cell in its kernel') and immediately distinguishes itself from sibling notebook_poll by noting it returns a run id to poll with it. An agent can differentiate it from notebook_open/notebook_save/notebook_ask without inspecting schemas.

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?

Points clearly to the follow-up step ('poll with notebook_poll') and enumerates how each cell_type is handled, giving strong usage context. However, it does not state prerequisites (e.g., that a kernel must be started via notebook_kernel_start) or when to prefer this over siblings like notebook_ask, so guidance is strong but not fully explicit.

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

Deploy Server

Other Tools