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
Похожие серверы
Alpaca Trading
Manage stock and crypto portfolios, place trades, and access market data via the Alpaca Trading API.
MCP-Weather
Provides weather information using the Japan Meteorological Agency API. No authentication required.
Mnemex
Mnemex is a Python MCP server that provides AI assistants with human-like memory dynamics through temporal decay and natural spaced repetition, storing memories locally in human-readable JSONL and Markdown formats.
xmcp.dev
The TypeScript framework for building & shipping MCP servers
MCP Wallet Service
An MCP server that provides wallet balance checking capabilities.
Crypto Price & Market Analysis (JJ Fork)
Provides real-time cryptocurrency price data, market analysis, and historical trends using the CoinCap API.
SpeedOf.Me Speed Test MCP
Official SpeedOf.Me server for AI agents - accurate speed tests via 129 global edge servers with analytics dashboard.
Neume
Make songs with AI
rootvine-mcp
Cross-platform music link resolution for AI agents. Resolve any song or album across Spotify, Apple Music, Amazon, YouTube, and more. Returns affiliate-ready links with click tracking
Canvelete
API-first platform for image optimization and document design. Generate optimized images, PDFs, and documents at scale with our visual editor and REST API.