
ohhmoo/speqtro
Developer toolsЭта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал
SPEQTRO is an open-source CLI and MCP server that uses Claude to interpret NMR, IR, and MS data — identifying unknown compounds and verifying structures from plain-language queries.
Обзор
Autonomous spectroscopy reasoning agent for chemists. - across NMR, MS, IR, structure analysis, and database search - with slash commands, spectroscopy-themed UI, and conversational analysis - — speqtro web opens a browser interface with chat, verify, predict, and analysis history - — JCAMP-DX, CSV peak lists, Bruker FID, MestReNova exports, and images - — CASCADE (1H, 13C prediction), ChefNMR (structure elucidation), SSIN (IR classification), ICEBERG/ms-pred (MS/MS fragmentation), DP4/DP5 (structure verification) - — speqtro fetch-weights pulls CASCADE, SSIN, DP5, and ICEBERG from HuggingFace - — tools work without ML models using additive increment rules and empirical tables - — every result includes method, data sources, and parameters for reproducibility Run the interactive wizard after installation. It saves your Anthropic API key, lets you choose the Claude model (Opus for best accuracy, Haiku for speed), and verifies your environment.
README
Показан фрагмент оригинального README. Открыть оригинал.
Autonomous spectroscopy reasoning agent for chemists.
| SPEQTRO wraps Agentic AI into a CLI tool that helps chemists identify unknown structures from spectroscopic data, predict chemical shifts, search reference databases, and generate reproducible analysis reports — all from the terminal. |
Features
- 15 built-in tools across NMR, MS, IR, structure analysis, and database search
- Interactive REPL with slash commands, spectroscopy-themed UI, and conversational analysis
- Web GUI —
speqtro webopens a browser interface with chat, verify, predict, and analysis history - Multi-format input — JCAMP-DX, CSV peak lists, Bruker FID, MestReNova exports, and images
- Vendored ML models — CASCADE (1H, 13C prediction), ChefNMR (structure elucidation), SSIN (IR classification), ICEBERG/ms-pred (MS/MS fragmentation), DP4/DP5 (structure verification)
- One-command weight download —
speqtro fetch-weightspulls CASCADE, SSIN, DP5, and ICEBERG from HuggingFace - Heuristic fallbacks — tools work without ML models using additive increment rules and empirical tables
- Mandatory citations — every result includes method, data sources, and parameters for reproducibility
Requirements
- Python 3.10 – 3.13
- An Anthropic API
Installation
pip (recommended)
pip install speqtro
With optional extras
# With RDKit (structure drawing, SMILES validation)
pip install "speqtro[chemistry]"
# With web GUI
pip install "speqtro[web]"
# With MCP server support
pip install "speqtro[mcp]"
# With all ML backends (PyTorch + TensorFlow)
pip install "speqtro[all]"
pipx (isolated environment, no dependency conflicts)
pipx install speqtro
# With extras
pipx install "speqtro[chemistry]"
Development / editable install
git clone https://github.com/OhhMoo/SPEQTRO-Agent.git
cd SPEQTRO-Agent
pip install -e ".[dev,chemistry]"
Workflow
Step 1 — First-time setup
Run the interactive wizard after installation. It saves your Anthropic API key, lets you choose the Claude model (Opus for best accuracy, Haiku for speed), and verifies your environment.
speqtro setup
Step 2 — Download ML model weights
SPEQTRO ships the vendored model code but not the weights (too large for git). Pull everything from HuggingFace in one command:
speqtro fetch-weights
This downloads CASCADE, SSIN, DP5, and ICEBERG into ~/.speqtro/models/. To download a specific model only:
speqtro fetch-weights --model cascade2 # 13C NMR predictor
speqtro fetch-weights --model iceberg # MS/MS fragmentation
speqtro fetch-weights --model ssin # IR functional group classifier
speqtro fetch-weights --model dp5 # Bayesian NMR scoring
Установка
This server does not publish a one-line install command.
Open the repository installation guide Новичок в MCP? Начните с руководства на mcpskill.org →Конфигурация
{
"mcpServers": {
"speqtro": {
"command": "speqtro",
"args": ["mcp", "serve", "--stdio"]
}
}
}