Skip to main content
Glama
0x0L

ipykernel-mcp

by 0x0L

kernel_execute

Execute code on the running kernel and retrieve structured output: stdout, stderr, errors, and plots. On timeout, returns partial results and a pending ID to fetch the rest.

Instructions

Execute code on the running kernel and return structured output.

Output is returned as tagged text blocks: [stdout], [stderr], [result] (last expression value), [error] (with traceback), plus image blocks for plots and display calls.

If timeout is set and execution exceeds it, returns any output collected so far plus a [pending] block with a msg_id. Pass that msg_id to kernel_get_output to retrieve the rest. Without timeout, blocks until done.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
codeYes
timeoutNo
Behavior4/5

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

No annotations are provided, so the description carries the full behavioral burden. It does well: explains the exact output format (tagged blocks), the timeout behavior including the [pending] msg_id mechanism, and the blocking semantics without timeout. This is a rich disclosure of what execution does and returns.

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 well-structured and front-loaded with the core purpose, followed by behavioral details. Each sentence adds value: purpose, output format, timeout mechanism. Not overly verbose, but slightly longer than the minimal needed — the detail is warranted given the complexity.

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 no output schema and no annotations, the description provides substantial context: it documents the output format (tagged blocks, image blocks), timeout semantics, pending/retrieval flow, and blocking behavior. It's reasonably complete for a multi-behavior execution tool, though it could mention potential side effects (kernel state mutation) and whether auth is needed.

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 0%, so the description must compensate for the two undocumented parameters. It does explain the 'timeout' parameter's behavior in detail (exceeding returns partial output plus pending block). However, it doesn't describe the 'code' parameter beyond its obvious role, and there's no syntax/format guidance. Adequate but not comprehensive.

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 it executes code on the running kernel and returns structured output. It identifies the verb (execute) and resource (running kernel) precisely. However, it doesn't explicitly distinguish from siblings like kernel_interrupt or kernel_get_output, though the output-format detail helps differentiate it from the other kernel_* tools.

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 context (running kernel) and explains the timeout/pending behavior. However, it doesn't explicitly state when to use this tool vs alternatives, nor does it mention prerequisites like requiring kernel_start first or when to use kernel_get_output vs waiting inline. The pending-block behavior partially guides the flow but lacks explicit when/when-not guidance.

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/0x0L/ipykernel-mcp'

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