ToolTrust
C25/100
datalayer

jupyter-mcp-server

mcp2.2.4

@datalayer

đŸĒ 🔧 Model Context Protocol (MCP) Server for Jupyter.

By datalayer | 47 findings | Scanned 10/26/2026 | tooltrust-scanner/v0.3.20 | 1.3k

Repository health

Popularity and maintenance signals alongside the security grade.

View repository
Stars

1.3k

current snapshot

Forks

Not collected

GitHub metadata pending

Contributors

Not collected

GitHub metadata pending

Last commit

Not collected

GitHub metadata pending

Last release

Not collected

GitHub metadata pending

Release version

Not collected

Latest GitHub release

Stars trend

Daily star additions ¡ githubarchive_bq ¡ observed through Oct 16, 2026 ¡ export updated Oct 26, 2026

3d
2026-09-052026-10-02

Pull request activity

Weekly PR events ¡ githubarchive_bq ¡ observed through Oct 16, 2026 ¡ export updated Oct 26, 2026

2026-08-312026-10-12

Data quality: observed_events. Charts show observed events, not a reconstructed historical total.

PythonBSD-3-ClauseDeveloper ToolsLast scan Oct 26, 2026
2 Critical1 High6 Low38 Info

Risk Summary

Needs Approval

Dep Visibility plus Excessive Permissions raises enough risk that this tool should not be auto-trusted.

Potential impact: This finding indicates the tool should be reviewed before it is trusted.

Recommended action: Keep this tool behind manual approval and avoid unattended runs until the risky capabilities are narrowed or removed.

Suggested policy: keep this tool behind manual approval, do not allow unattended runs, and re-scan after narrowing risky permissions.

Security Findings (47)

  • CriticalAS-006

    đŸ’ģArbitrary Code Execution ×2

    heuristic signal

    tool name or description implies arbitrary script/code execution (evaluate_script, execute javascript, etc.)

    execute_codeinsert_execute_code_cell

    Fix: This tool can execute arbitrary code or shell commands on the host system. Remove it unless strictly required. If kept: (1) restrict access to trusted users/agents only, (2) require human approval before each invocation (Claude Desktop: set approval_required: true; other clients: enable equivalent confirmation), (3) use the most restrictive sandbox or read-only mode available, and (4) never expose this tool to untrusted input sources.

  • HighAS-003

    🔀Scope Mismatch

    read_notebook:tool name "read_notebook" implies read-only operation but declares exec permission

    Fix: Ensure tool names, descriptions, and permission declarations are internally consistent. Use explicit naming conventions that fully reflect actual capabilities.

  • LowAS-011

    â„šī¸Missing Rate-Limit / Timeout ×5

    tool performs network or execution operations but declares no rate-limit, timeout, or retry configuration

    clear_cell_outputconnect_to_jupyterread_notebookrestart_notebookuse_sandbox

    Fix: Declare explicit rate-limit, timeout, and retry configuration for all network and execution tools. Implement exponential back-off and surface resource state to the calling agent.

  • LowAS-002

    âš ī¸Excessive Permissions

    launch_sandbox:input schema exposes 13 properties (threshold: 10)

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-002

    âš ī¸Excessive Permissions ×13

    declared capabilities: code/command execution

    clear_cell_outputexecute_cellexecute_codeinsert_execute_code_cellread_notebookuse_sandbox

    declared capabilities: network access, filesystem access, HTTP requests

    connect_to_jupyter

    declared capabilities: filesystem access

    delete_celllist_filesoverwrite_cell_sourceuse_notebook

    declared capabilities: code/command execution, network access, environment variables

    launch_sandbox

    declared capabilities: HTTP requests

    restart_notebook

    Fix: Tool requests broad permissions (exec/fs/network). Validate input parameters using Enums where possible, and restrict file system operations to explicit allowed directories.

  • InfoAS-014

    â„šī¸Dependency Inventory Unavailable ×22

    Tool did not expose metadata.dependencies or repo_url, so supply-chain coverage is limited.

    clear_cell_outputconnect_to_jupyterdelete_celledit_cell_sourceexecute_cellexecute_codeinsert_cellinsert_execute_code_celllaunch_sandboxlist_fileslist_kernelslist_notebookslist_sandboxesmove_celloverwrite_cell_sourceread_cellread_notebookrestart_notebookterminate_sandboxunuse_notebookuse_notebookuse_sandbox

    Fix: Review and remediate the identified issue.

  • InfoAS-010

    🔑Insecure Secret Handling ×3

    input parameter "jupyter_token" accepts a credential (informational; not evidence of insecure handling)

    connect_to_jupyter

    input parameter "token" accepts a credential (informational; not evidence of insecure handling)

    launch_sandbox

    input parameter "proxy_token" accepts a credential (informational; not evidence of insecure handling)

    launch_sandbox

    Fix: Avoid accepting raw credentials as input parameters. Use secret managers (e.g. 1Password CLI, AWS Secrets Manager) and ensure credentials are never logged or stored in agent traces.

Scan this tool yourself

Reproduce this audit locally, integrate into CI, or let your agent audit its own tools.

Install once, then scan any MCP server:

$ curl -sfL https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-scanner/main/install.sh | bash
$ tooltrust-scanner scan --server "npx -y jupyter-mcp-server"

Adjust the package name if your npm registry name differs from the tool ID. View source

Add badge to your README

Copy this Markdown to show your ToolTrust grade on GitHub.

[![ToolTrust Grade C](https://raw.githubusercontent.com/AgentSafe-AI/tooltrust-directory/main/docs/badges/grade-c.svg)](https://github.com/AgentSafe-AI/tooltrust-directory)