OS

ohhmoo/speqtro

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

22 stars 0 forks Качество 73 Тренд 10MIT

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 web opens 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-weights pulls 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 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
Открыть полный README на GitHub

Установка

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"] } } }