Troubleshooting¶
Common issues and solutions when using napari MCP server with AI assistants.
🛠️ CLI Installer Issues¶
The napari-mcp-install
CLI tool automates configuration. Here are common issues and solutions.
Installation Problems¶
napari-mcp-install: command not found
Problem: The CLI installer command isn't available after installation.
Solutions:
ImportError when running installer
Problem: Missing dependencies (typer, rich).
Solution:
Configuration Issues¶
Configuration file not created
Problem: Installer runs but config file doesn't exist.
Solutions: 1. Check what would be created:
-
Verify installer detected correct path:
-
Check permissions:
-
Create directory manually:
Config exists but server not configured
Problem: Config file exists but napari-mcp entry is missing.
Solution:
Permission Errors¶
Permission denied writing config
Problem: Can't write to configuration file.
Solutions:
Python Environment Issues¶
napari-mcp not found in Python environment
Problem: Using --persistent
but napari-mcp isn't installed in that environment.
Solutions:
Verification Commands¶
# List all installations and their status
napari-mcp-install list
# Preview what would be installed
napari-mcp-install <app> --dry-run
# Check installer version
napari-mcp-install --version
# Get help
napari-mcp-install --help
napari-mcp-install <command> --help
🚨 Common Setup Issues¶
Server Won't Start¶
uv: command not found
Problem: The uv
command isn't found when trying to run the server.
Solution:
napari-mcp: command not found
Problem: Traditional installation command not found.
Solutions:
Permission denied
Problem: File permission errors when running downloaded script.
Solution:
Napari GUI Issues¶
Qt platform plugin not found
Problem: qt.qpa.plugin: Could not find the Qt platform plugin
Solutions:
Napari window doesn't appear
Problem: Server starts but no napari window shows.
Diagnosis:
# Check display connection (Linux/macOS)
echo $DISPLAY
# Test basic Qt
python -c "from PyQt6.QtWidgets import QApplication; app = QApplication([]); print('Qt works')"
# Test napari
python -c "import napari; viewer = napari.Viewer(); print('Napari works')"
Solutions: - Remote systems: Enable X11 forwarding or use offscreen mode - macOS: Check System Preferences > Security & Privacy - Windows: Ensure graphics drivers are updated
Import errors with napari
Problem: ImportError: No module named 'napari'
Solution:
🔌 AI Assistant Connection Issues¶
Claude Desktop¶
Claude can't see napari tools
Problem: MCP tools don't appear in Claude Desktop.
Checklist:
1. Config file location correct?
- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
- Windows: %APPDATA%/Claude/claude_desktop_config.json
- Linux: ~/.config/Claude/claude_desktop_config.json
-
JSON syntax valid?
-
File paths absolute?
-
Claude Desktop restarted?
- Completely quit and restart Claude Desktop
- Check for error messages in console
MCP server connection failed
Problem: Claude shows connection errors.
Debug steps:
Cursor & Claude Code¶
FastMCP CLI installation failed
Problem: fastmcp install
command fails.
Solutions:
Server not appearing in IDE
Problem: Installed server doesn't show up in Cursor/Claude Code.
Debug:
📦 Dependency Issues¶
Package Installation Problems¶
Package conflicts
Problem: Version conflicts between dependencies.
Solution:
Qt backend conflicts
Problem: Multiple Qt installations causing issues.
Diagnosis:
Solution:
Network and Firewall¶
Connection timeouts
Problem: Network timeouts when downloading dependencies.
Solutions:
🔧 Performance Issues¶
Slow Startup¶
Server takes long to start
Problem: 30+ seconds to start server.
Optimizations:
Memory Issues¶
High memory usage
Problem: Excessive memory consumption.
Monitoring:
# Monitor memory usage
ps aux | grep napari
# Python memory profiling
python -m memory_profiler napari_mcp_server.py
Solutions:
- Close unused napari viewers
- Reduce image resolution for testing
- Use gc.collect()
in custom code
- Monitor for memory leaks in long-running sessions
🖥️ Platform-Specific Issues¶
macOS¶
Gatekeeper blocks execution
Problem: "Cannot be opened because the developer cannot be verified"
Solution:
Rosetta compatibility (Apple Silicon)
Problem: Performance issues on M1/M2 Macs.
Solution:
Windows¶
PowerShell execution policy
Problem: Scripts blocked by execution policy.
Solution:
Path length limitations
Problem: File paths too long on Windows.
Solution: - Enable long path support in Windows - Use shorter directory names - Move project closer to root drive
Linux¶
Display server issues
Problem: GUI doesn't work on headless systems.
Solutions:
🐛 Debugging Tools¶
Logging and Debug Output¶
# Enable verbose logging
export MCP_LOG_LEVEL=DEBUG
export NAPARI_ASYNC=1
# Python debugging
python -u napari_mcp_server.py # Unbuffered output
# FastMCP debugging
fastmcp run --debug napari_mcp_server.py
Testing Commands¶
# Test napari import
python -c "import napari; print('✅ napari works')"
# Test FastMCP
python -c "import fastmcp; print('✅ FastMCP works')"
# Test Qt
python -c "from PyQt6.QtWidgets import QApplication; app = QApplication([]); print('✅ Qt works')"
# Full integration test
python -c "
import napari
import fastmcp
viewer = napari.Viewer()
print('✅ Full integration works')
viewer.close()
"
System Information¶
# Collect system info for bug reports
echo "=== System Information ==="
python --version
pip --version
uv --version
echo "Platform: $(python -c 'import platform; print(platform.platform())')"
echo "Qt API: $(python -c 'import qtpy; print(qtpy.API)')"
echo "Napari: $(python -c 'import napari; print(napari.__version__)')"
echo "FastMCP: $(python -c 'import fastmcp; print(fastmcp.__version__)')"
🆘 Getting Help¶
If you've tried all the solutions above and still have issues:
Before Asking for Help¶
- Collect information:
- Error messages (full traceback)
- System information (OS, Python version)
- Steps to reproduce the issue
-
What you've tried already
-
Create minimal example:
-
Check existing issues:
- Search GitHub Issues
- Check napari and FastMCP issue trackers
Where to Get Help¶
- GitHub Issues: Report bugs and ask questions
- Discussions: Community discussions
- Napari Community: Napari forum
Issue Template¶
When reporting bugs, please include:
## Bug Description
Brief description of the issue
## Steps to Reproduce
1. First step
2. Second step
3. See error
## Expected Behavior
What should happen
## Actual Behavior
What actually happens (include full error messages)
## Environment
- OS: [e.g., macOS 14.0, Ubuntu 22.04, Windows 11]
- Python: [e.g., 3.11.5]
- Napari: [e.g., 0.5.5]
- Installation method: [Zero install, traditional, etc.]
## Additional Context
Any other relevant information
Still stuck? Don't hesitate to ask for help! The community is here to support you. 🤝