demeter-mcp
README.md
# demeter-mcp
MCP bridge for **Demeter / Artemis / IFEFFIT** EXAFS fitting. Lets Grok (or any MCP client) run headless fits, build Artemis projects, generate LaTeX reports, and launch the Artemis GUI.
## Requirements
- Windows (tested)
- [Demeter](https://bruceravel.github.io/demeter/) / Artemis (e.g. `<DEMETER_INSTALL_DIR>`)
- Python 3.10+ with `mcp` package
- XeLaTeX (optional, for PDF reports via `demeter_fit_and_report`)
## Grok configuration
Add to `~/.grok/config.toml`:
```toml
[mcp_servers.demeter]
command = "D:\\anaconda3\\python.exe"
args = ["C:\\path\\to\\demeter-mcp\\server.py"]
env = { DEMETER_BASE = "D:\\DemeterPerl", DEMETER_PYTHON = "D:\\anaconda3\\python.exe" }
enabled = true
startup_timeout_sec = 30
tool_timeout_sec = 900
```
Restart Grok and verify with `/mcps`.
## MCP tools (6)
| Tool | Description |
|------|-------------|
| `demeter_check` | Verify Demeter/Perl/IFEFFIT |
| `demeter_list_prj_records` | List Athena `.prj` records |
| `demeter_run_fit` | Generic headless EXAFS fit |
| `demeter_build_artemis_project` | Build `.fpj` (2-shell a-MoO�?model) |
| `demeter_fit_and_report` | **One-click** `Fit_XX` batch (fpj + PDF + `other/`) |
| `demeter_open_artemis` | Launch Artemis GUI |
## One-click fit batch
`demeter_fit_and_report` with `project_base` pointing to your XAFS project root:
```
project_base = <YOUR_XAFS_PROJECT_DIR>
```
Defaults: `data/MoOx.prj`, `results/Feff_aMoO3/feff.inp`, ΔE₀ restrained to ±10 eV.
Output layout:
```
Fit_XX/
├── *.fpj
├── *_report.pdf
└── other/ # tex, json, logs
```
## CLI (without MCP)
```powershell
python scripts/fit_and_report.py config.json
```
## License
MITThis server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues