jupyter-server-mcp
What it is and what it does
jupyter-server-mcp is a Jupyter Server extension that bridges Jupyter and the Model Context Protocol (MCP), allowing you to register Python functions as tools accessible to MCP clients like Claude, Mistral, and other AI assistants. It runs an HTTP server (default port 3001) that exposes registered functions through the MCP protocol, making Jupyter functionality available to external AI tools.
The extension supports two registration patterns: manual configuration via Jupyter's traitlets system (specifying tools as "module:function" strings) and automatic discovery through Python package entrypoints. It depends on fastmcp for the underlying MCP server implementation and integrates directly with Jupyter Server's extension lifecycle, starting the MCP server automatically when Jupyter starts.
Use it for:
- Enable Claude or other MCP clients to read and edit Jupyter notebooks by registering notebook toolkit functions as MCP tools
- Expose custom Python utility functions to AI assistants running in a terminal or IDE without modifying the assistant's codebase
- Build a bridge between Jupyter-based data analysis and AI coding agents that need access to notebook operations and file system tools
- Register standard library functions (os, json, time) or third-party tools as MCP endpoints for agent automation workflows
- Allow package authors to expose their tools to MCP clients by declaring entrypoints in pyproject.toml
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Exposes Python functions as tools to MCP clients via a Jupyter Server extension, enabling AI assistants and other MCP-compatible applications to call registered functions through an HTTP endpoint.
Yes, if you run Jupyter Server and want to make its functionality available to MCP clients. The extension is actively maintained, has low install friction, carries a permissive license, and requires only two common dependencies. Start with the quick-start configuration to expose a few functions and verify the MCP endpoint works with your chosen client.
Install
jupyter-server-mcp on PyPI
pip
pip install jupyter-server-mcpuv
uv add jupyter-server-mcppoetry
poetry add jupyter-server-mcpInstalling jupyter-server-mcp
Before you install
Low install friction—pure Python wheel with only two runtime dependencies (fastmcp and jupyter-server). Marked as active maintenance with a release within the past 113 days.
License in practice
BSD 3-Clause License permits commercial and private use with minimal restrictions; you must retain copyright notices and disclaimers in source and binary distributions.
Quickstart
# Install
python -m pip install jupyter-server-mcp
# Create jupyter_config.py
c = get_config()
c.MCPExtensionApp.mcp_name = "My Jupyter MCP"
c.MCPExtensionApp.mcp_tools = ["os:getcwd", "json:dumps"]
# Start Jupyter
jupyter lab --config=jupyter_config.py
# MCP server now available at http://localhost:3001/mcp
Requires Jupyter Server to be running; MCP clients must be configured with the correct host and port (default 3001).
Verify before relying
- Whether fastmcp and jupyter-server versions have known compatibility constraints beyond what the package declares
- Whether the entrypoint-based tool discovery mechanism works reliably across different package installation methods
- Performance characteristics when registering and serving large numbers of tools simultaneously
Package facts
| License | BSD 3-Clause License Copyright (c) 2025, jupyter-ai-contrib Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — fastmcp, jupyter-server |
| Maintenance | actively maintained — 113 days since the last release |
| First released | |
| Downloads | 84,804/month — #13,972 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: jupyter_server_mcp-0.2.1-py3-none-any.whl
Keywords: Extension, FastMCP, Jupyter, MCP
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
jupyterlab-commands-toolkitExposes JupyterLab commands to Python code and…
permissive · top 15,000 on PyPI
jupyter-aiJupyter AI is a JupyterLab extension that…
permissive · top 15,000 on PyPI
fastmcp-extensionsProvides hardened patterns and utilities for…
permissive · top 15,000 on PyPI
jupyter-mcp-toolsExposes JupyterLab commands as MCP (Model…
permissive · top 15,000 on PyPI
excel-mcp-serverProvides a Model Context Protocol server that…
unclear · top 15,000 on PyPI
jupyter-ai-magicsJupyter AI Magics provides a JupyterLab…
permissive · top 15,000 on PyPI
django-mcp-serverExposes Django models and custom logic as Model…
permissive · top 15,000 on PyPI
jupyter-mcp-serverAn MCP server that exposes Jupyter notebooks…
permissive · top 15,000 on PyPI
mcp-server-appwriteExposes Appwrite's backend-as-a-service…
unclear · top 15,000 on PyPI