Research productivity tools for machine learning researchers and developers.
ML Research MCP
A comprehensive Model Context Protocol (MCP) server providing research productivity tools for machine learning researchers and developers.
Overview
ML Research MCP is an extensible platform that provides AI assistants with powerful tools for scientific research workflows. Built on the Model Context Protocol, it enables seamless integration with AI applications like Claude Desktop to automate and enhance various research tasks.
Current Status: Phase 1 - Data Visualization Roadmap: Image generation, presentation tools, literature management, and more
Vision & Roadmap
This project aims to be a comprehensive research assistant covering the entire ML research lifecycle:
✅ Phase 1: Data Visualization (Current)
- Scientific plotting with publication-quality output
- Statistical analysis visualizations
- 2D data representations (heatmaps, contours)
- Multiple export formats (PNG, PDF, SVG)
🚧 Phase 2: Image & Figure Generation (Planned)
- AI-powered figure generation using diffusion models
- Diagram creation for architecture illustrations
- Chart enhancement with intelligent styling
- Multi-panel figure composition
🚧 Phase 3: Presentation Tools (Planned)
- Slide generation from research content
- Poster creation for conferences
- Automated layout optimization
- Template management for institutional branding
🚧 Phase 4: Research Management (Future)
- Literature search and summarization
- Citation management and formatting
- Experiment tracking and versioning
- Collaboration tools for team projects
Current Features (Phase 1)
Data Visualization Tools
Basic Plots
plot_line- Time series and continuous data visualizationplot_scatter- Multi-dimensional scatter plots with size/color mappingplot_bar- Categorical comparisons (vertical/horizontal)
Statistical Visualizations
plot_histogram- Distribution analysis with density estimationplot_box- Statistical summaries and outlier detectionplot_violin- Detailed distribution shapes with KDE
2D Representations
plot_heatmap- Matrix visualization with annotationsplot_contour- 3D data in 2D with contour linesplot_pcolormesh- Fast pseudocolor plots for large datasets
Technical Highlights
- Publication-quality output via UltraPlot
- High-performance data handling with Polars
- Flexible input from CSV, JSON files or direct data
- Vector & raster formats (PDF, SVG, PNG)
- Type-safe with comprehensive validation
- Well-tested with 48 passing tests
Requirements
- Python 3.12+
- uv package manager
- MCP-compatible client (Claude Desktop, VSCode, etc.)
Installation
Quick Start with Claude Code
Add the server to Claude Code with a single command:
claude mcp add-json "ml-research" \
'{"command":"uvx","args":["--from","git+https://github.com/nishide-dev/ml-research-mcp","ml-research-mcp"]}'
Verify installation:
claude mcp list
Manual Installation for MCP Clients
Add to your MCP client configuration (e.g., ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"ml-research": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/nishide-dev/ml-research-mcp",
"ml-research-mcp"
]
}
}
}
Direct Execution with uvx
Run the server directly without installation:
# From GitHub (recommended)
uvx --from "git+https://github.com/nishide-dev/ml-research-mcp" ml-research-mcp
# From local directory (for development)
cd /path/to/ml-research-mcp
uvx --from . ml-research-mcp
For Developers
Clone and set up development environment:
git clone https://github.com/nishide-dev/ml-research-mcp.git
cd ml-research-mcp
uv sync
# Run in development mode
uv run ml-research-mcp
Quick Start
Using with Claude Desktop
After installation, you can ask Claude:
"Create a line plot showing temperature over time from experiment.csv"
"Generate a heatmap of the correlation matrix and save as PDF"
"Plot a scatter chart with x=[1,2,3,4], y=[2,4,6,8], sized by [10,20,30,40]"
Using as a Library
from ml_research_mcp.tools.plot_basic import plot_line
# Generate publication-quality plot
image = plot_line(
x=[1, 2, 3, 4, 5],
y=[1, 4, 9, 16, 25],
style={"title": "Quadratic Function", "xlabel": "X", "ylabel": "Y²"},
output={"format": "pdf", "width": 20, "height": 15, "dpi": 300}
)
# Save to file
with open("plot.pdf", "wb") as f:
f.write(image)
Example Gallery
Real examples generated with ML Research MCP:
| Query | Result |
|---|---|
| Line Plot"Create a line plot showing temperature over time with x=[1,2,3,4,5,6] and y=[2,4,3,5,6,7]" | <img src="assets/example_line.p |
Tools (9)
plot_lineTime series and continuous data visualizationplot_scatterMulti-dimensional scatter plots with size/color mappingplot_barCategorical comparisons (vertical/horizontal)plot_histogramDistribution analysis with density estimationplot_boxStatistical summaries and outlier detectionplot_violinDetailed distribution shapes with KDEplot_heatmapMatrix visualization with annotationsplot_contour3D data in 2D with contour linesplot_pcolormeshFast pseudocolor plots for large datasetsConfiguration
{"mcpServers": {"ml-research": {"command": "uvx", "args": ["--from", "git+https://github.com/nishide-dev/ml-research-mcp", "ml-research-mcp"]}}}