
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.
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 descriptorsDevelopment
# Run tests
pytest
# Type checking
mypy scipilot/
# Format
ruff format .git clone https://github.com/grebenyyk/scipilot
cd scipilot
pip install -e .
scipilot --tools-dir ./toolsQuick Start
git clone https://github.com/grebenyyk/scipilot
cd scipilot
pip install -e .
scipilot --tools-dir ./toolsUsage
- 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"
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.
Licensed under MITโ you can use, modify, and redistribute it under that license's terms.
License
MIT