Napari MCP Server
Allows OpenAI LLMs (e.g., GPT-4) to remotely control napari viewers for microscopy image analysis.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Napari MCP ServerLoad image from data/sample.tif and apply viridis colormap"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Napari MCP Server
MCP server for remote control of napari viewers via Model Context Protocol (MCP). Perfect for AI-assisted microscopy analysis with Claude Desktop and other LLM applications.
https://github.com/user-attachments/assets/d261674c-9875-4671-8c60-a7f49d6f1b84
๐ Quick Start (3 Steps)
1. Install the Package
pip install napari-mcp2. Auto-Configure Your AI Application
# For Claude Desktop
napari-mcp-install install claude-desktop
# Include a napari GUI backend in the uv environment
napari-mcp-install install claude-desktop --backend pyqt6
# For other applications (Claude Code, Cursor, Cline, etc.)
napari-mcp-install install --help # See all options3. Restart Your Application & Start Using
Restart your AI app and you're ready! Try asking:
"Can you call session_information() to show my napari session details?"โ See Full Documentation for detailed guides
Related MCP server: mcp-media-engine
๐ Using as a napari Plugin
napari-mcp can also be used as a napari plugin for direct integration with a running napari session:
Start napari normally:
napariOpen the widget: Plugins โ napari-mcp: MCP Server Control
Click "Start Server" to expose your current session to AI assistants
Connect your AI app using the standard installer:
napari-mcp-install install <app>
This mode enables AI assistants to control your current napari session rather than starting a new viewer. Perfect for integrating with existing workflows!
โ See Plugin Guide for detailed instructions
๐ฏ What Can You Do?
Basic Image Analysis
"Load the image from ./data/sample.tif and apply a viridis colormap"
"Create point annotations at coordinates [[100,100], [200,200]]"
"Take a screenshot and save it"Advanced Workflows
"Execute this code to create a filtered version:
from scipy import ndimage
filtered = ndimage.gaussian_filter(viewer.layers[0].data, sigma=2)
viewer.add_image(filtered, name='filtered')"
"Install scikit-image and segment the cells in this microscopy image"3D/4D Navigation
"Switch to 3D display mode"
"Navigate to time point 5, Z-slice 10"
"Create a rotating animation of this volume"Automated Workflows
Want to automate image processing with Python scripts? Use any LLM (OpenAI, Anthropic, etc.) with napari MCP:
โ See Python Integration Examples for batch processing and workflow automation
๐ค Supported AI Applications
Application | Command | Status |
Claude Desktop |
| โ Full Support |
Claude Code |
| โ Full Support |
Cursor IDE |
| โ Full Support |
Cline (VS Code) |
| โ Full Support |
Cline (Cursor) |
| โ Full Support |
Gemini CLI |
| โ Full Support |
Codex CLI |
| โ Full Support |
โ See Integration Guides for application-specific instructions
๐ Available MCP Tools
The server exposes 16 tools for complete napari control:
Core Functions
Session Management:
init_viewer,close_viewer,session_informationLayer Operations:
add_layer,list_layers,get_layer,remove_layer,set_layer_properties,reorder_layer,apply_to_layers,save_layer_dataViewer Controls:
configure_viewerUtilities:
screenshot,execute_code,install_packages,read_output
โ ๏ธ Security Notice
!!! warning "Code Execution Capabilities" This server includes powerful tools that allow arbitrary code execution:
- **`execute_code()`** - Runs Python code in the server environment
- **`install_packages()`** - Installs packages via pip
The bridge server binds to `127.0.0.1` (localhost only) with no authentication.
Any local process can invoke these tools.
**Use only with trusted AI assistants on local networks.**
Never expose to public internet without proper sandboxing.๐ Documentation
Quick Start Guide - Get running in 3 minutes
Installation Options - Advanced installation methods
Integration Guides - Setup for specific AI applications
Python Examples - Automate workflows with custom scripts
Troubleshooting - Common issues and solutions
API Reference - Complete tool documentation
๐งช Development Setup
# Clone repository
git clone https://github.com/royerlab/napari-mcp.git
cd napari-mcp
# Install with development dependencies
pip install -e ".[dev]"
# Run tests
pytest -m "not realgui" # Skip GUI tests
pytest --cov=src --cov-report=html # With coverage๐ค Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Make your changes with tests
Run pre-commit hooks:
pre-commit run --all-filesCommit changes (
git commit -m 'Add amazing feature')Push to branch (
git push origin feature/amazing-feature)Open a Pull Request
๐ Architecture
state.pyโServerStateholding all mutable state (viewer, locks, execution namespace)server.pyโcreate_server(state)factory; tools defined as closures over stateqt_helpers.pyโ Qt application and viewer lifecycle managementoutput.pyโ Output truncation utilitybridge_server.pyโ Plugin bridge server (overrides 3 tools for Qt thread safety)viewer_protocol.pyโViewerProtocolfor typed viewer backendscli/โnapari-mcp-installCLI for configuring AI applications
Key features:
Thread-safe: All napari operations are serialized
Non-blocking: Qt event loop runs asynchronously
Stateful: Maintains viewer state across tool calls
Extensible: Easy to add new tools
๐ Resources
napari - Multi-dimensional image viewer
Model Context Protocol - MCP specification
FastMCP - Python MCP framework
Claude Desktop - AI assistant with MCP support
๐ License
BSD-3-Clause License - see LICENSE file for details.
๐ Acknowledgments
napari team for the excellent imaging platform
FastMCP for the MCP framework
Anthropic for Claude and MCP development
astral-sh for uv dependency management
Built with โค๏ธ for the microscopy and AI communities
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/royerlab/napari-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server