SciPilot
Natural language interface for scientific command-line tools via MCP
SciPilot
Natural language interface for scientific command-line tools via Model Context Protocol (MCP).
SciPilot bridges the gap between natural language and scientific CLI tools. Define your tool once in YAML, then let LLMs handle the rest — parameters, file paths, output parsing, the works. Works for any command-line worth talking to.
Quick Start
git clone https://github.com/grebenyyk/scipilot
cd scipilot
pip install -e .
scipilot --tools-dir ./tools
Usage
- Add tool descriptors to
tools/(seeexamples/raspa.yaml) - Connect MCP client (Claude Desktop, VS Code, etc.)
- Ask in natural language:
- "Run a helium void fraction calculation on MIL-47 at 298 K"
- "Compare results from yesterday's simulations"
Tool Descriptor Format
You write a tool descriptor — a YAML file that tells SciPilot:
• What your tool expects (inputs, types, defaults) • How to build the command (templates) • Where to find the output (file paths, regex patterns) SciPilot exposes these as MCP tools that any LLM can call.
tool:
name: mytool
binary: mytool
operations:
- name: run_simulation
description: "Run a simulation"
inputs:
- name: input_file
type: file
required: true
outputs:
- name: result
path: "output.txt"
extract_pattern: "Result: ([0-9.]+)"
See examples/ for complete tool descriptors.
⚠️ Security Note: Tool YAML files execute with full shell privileges. Only load tool descriptors you trust and have reviewed. User inputs are substituted directly into shell command templates.
Project Structure
scipilot/
├── server.py # MCP server entry point
├── tool_loader.py # YAML parsing, tool discovery
├── executor.py # Subprocess execution, output parsing
└── models.py # Dataclasses for tool descriptors
tools/ # Your tool descriptors (gitignored)
examples/ # Example descriptors
Development
# Run tests
pytest
# Type checking
mypy scipilot/
# Format
ruff format .
License
MIT
Related Servers
ImageMagick
An MCP server for image conversion using ImageMagick and darktable.
OSINT MCP
Real-time OSINT intelligence platform for global security monitoring.
Baseball MCP
An MCP server for retrieving Major League Baseball (MLB) game results, schedules, and specific game details using the mlb-statsapi library.
Tarkov MCP Server
Provides access to Escape from Tarkov game data using the community-maintained Tarkov API.
MCP Time Server
A simple server that provides the current UTC time.
Zen7-Payment-Agent
Zen7 Payment Agent is the first implementation project of DePA (Decentralized Payment Agent), pioneers next-generation intelligent payment infrastructure.
Smithsonian Open Access
An MCP server to interact with the Smithsonian’s Open Access collection.
Berlin Transport
Access Berlin's public transport data via the VBB (Verkehrsverbund Berlin-Brandenburg) API.
Weather API MCP Server
Provides current weather data and forecasts using the QWeather API.
SO-ARM100 Robot Control with MCP
Control SO-ARM100 and LeKiwi robot arms using LLM-based AI agents.