ipykernel-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| kernel_discoverA | Discover available Jupyter kernel specs and project venvs. Returns a list of dicts with keys: name, display_name, language, source. Use the "name" value as the kernel_name argument to kernel_start. If scan_dir is provided, also checks for a .venv with ipykernel installed at that path and includes it as a "venv:" entry. |
| kernel_startA | Start a kernel by name, as returned by kernel_discover. kernel_name is either a registered Jupyter spec name (e.g. "python3") or a venv reference ("venv:/path/to/project") from kernel_discover. cwd sets the working directory. Defaults to the venv project dir for venv kernels, or the user's home directory for registered specs. Only one kernel can run at a time — call kernel_stop first if one is already running. |
| kernel_statusA | Return the current kernel status. Returns a dict with: running, alive, project_dir, connection_file, python, pending_executions, transport, ip, shell_port, iopub_port. Returns {"running": False} if no kernel is running. |
| kernel_stopA | Stop the running kernel and clean up resources. |
| kernel_restartA | Restart the kernel, clearing all variables, imports, and state. Pending executions are discarded. The kernel process is replaced but the connection is preserved — no need to call kernel_start again. |
| kernel_interruptA | Interrupt the running kernel (send SIGINT). Use this to cancel a long-running execution without losing kernel state. |
| kernel_executeA | 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. |
| kernel_get_outputA | Retrieve output for a pending execution by msg_id. If still running, waits up to timeout seconds (or returns immediately if timeout is omitted). Returns the same tagged blocks as kernel_execute: [stdout], [stderr], [result], [error], images, and [pending] if not yet done. Once complete output is returned, the record is cleaned up — calling again with the same msg_id will return an error. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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