Summary
Design and implement a Model Context Protocol (MCP) server that exposes SpectraFit's fitting pipeline as LLM-callable tools.
Prerequisite
Proposed Tools
| Tool |
Input |
Output |
fit_spectrum |
UnifiedFittingConfig JSON |
FitResult JSON |
batch_fit |
BatchFittingConfig JSON |
list[FitResult] JSON |
validate_config |
Raw dict |
Validation errors or schema |
list_models |
None |
Available peak model names |
get_schema |
Model name |
JSON Schema for that model |
Technical Notes
- Use FastMCP or the official MCP Python SDK
UnifiedFittingConfig.model_json_schema() is the stable API surface for input schema
FitResult.model_json_schema() is the stable API surface for output schema
- Transport:
stdio (default) + optional http/sse for remote access
- Authentication: API key via environment variable
SPECTRAFIT_MCP_API_KEY
Acceptance Criteria
References
- MCP Python SDK
- FastMCP
spectrafit/models/fit_result.py — FitResult model
spectrafit/core/fitting_config.py — UnifiedFittingConfig
Summary
Design and implement a Model Context Protocol (MCP) server that exposes SpectraFit's fitting pipeline as LLM-callable tools.
Prerequisite
UnifiedFittingConfigis stable with JSON Schema viamodel_json_schema()FitResult(BaseModel)added in Phase 8 — stable, serialisable JSON outputBatchFittingConfig(BaseModel)added in Phase 8 — multi-spectrum parallel fittingProposed Tools
fit_spectrumUnifiedFittingConfigJSONFitResultJSONbatch_fitBatchFittingConfigJSONlist[FitResult]JSONvalidate_configlist_modelsget_schemaTechnical Notes
UnifiedFittingConfig.model_json_schema()is the stable API surface for input schemaFitResult.model_json_schema()is the stable API surface for output schemastdio(default) + optionalhttp/ssefor remote accessSPECTRAFIT_MCP_API_KEYAcceptance Criteria
python -m spectrafit.mcporspectrafit-mcpfit_spectrumtool validates input againstUnifiedFittingConfigschemafit_spectrumtool returnsFitResultas JSONbatch_fittool acceptsBatchFittingConfigand returns list of resultsdocs/mcp.mdReferences
spectrafit/models/fit_result.py— FitResult modelspectrafit/core/fitting_config.py— UnifiedFittingConfig