serpent2-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SERPENT_EXE | No | путь к `sss2` (или имя команды) | |
| SERPENT_OMP | No | число OpenMP-потоков по умолчанию | |
| SERPENT_LANG | No | язык сводок/подписей графиков: `ru` или `en` | |
| SERPENT_ACELIB | No | явный файл данных ACE | |
| SERPENT_DECLIB | No | явный файл данных распада (DEC) | |
| SERPENT_NFYLIB | No | явный файл данных выходов деления (NFY) | |
| SERPENT_BACKEND | No | `local` (по умолчанию) или `ssh` | local |
| SERPENT_DATA_DIR | No | каталоги с данными (через `:`/`;`) | |
| SERPENT_SSH_HOST | No | `user@host` для удалённых запусков | |
| SERPENT_SSH_OPTS | No | доп. опции ssh, например `-o BatchMode=yes` | |
| SERPENT_SSH_JOBDIR | No | каталог задач на удалённой машине (по умолч. `~/.serpent2-mcp/jobs`) | ~/.serpent2-mcp/jobs |
| SERPENT_EXTRA_ROOTS | No | дополнительные разрешённые каталоги | |
| SERPENT_JOB_TIMEOUT | No | убить задачу через N секунд (0 = никогда) | 0 |
| SERPENT_SSH_WORKDIR | No | рабочий каталог на удалённой машине | |
| SERPENT_MPI_LAUNCHER | No | шаблон запуска MPI, по умолч. `mpirun -np {n}` | mpirun -np {n} |
| SERPENT_ALLOW_OUTSIDE | No | `1` — разрешить запуск файлов вне рабочей папки | 0 |
| SERPENT_DOCS_AUTO_SYNC | No | `0` — не обновлять документацию автоматически | 1 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_environmentA | Show detected Serpent executable, version, CLI flag style, data libraries, server configuration and documentation cache status. Call this first on a new machine or when a run fails with 'sss2 not found'. |
| get_referenceA | Return the curated Serpent 2 quick reference (modes, geometry, materials, sources, detectors, burnup, group constants, CLI options, output files, pitfalls). Optionally request one topic (e.g. 'geometry', 'burnup', 'source', 'versions'). |
| search_docsA | Full-text search across the indexed official Serpent documentation (syntax manual, user guide, appendices, wiki). kind: all|card|guide|extra|wiki. Returns matching sections with source links. |
| get_cardA | Get the exact syntax, parameter list, notes and documentation link for a Serpent input card or set option. Examples: 'surf', 'mat', 'src', 'set acelib', 'acelib', 'sb'. |
| list_cardsA | List all known Serpent input cards and set options, optionally filtered by kind (card|set|all). Useful for discovery when the exact name is unknown. |
| get_examplesA | List bundled Serpent input examples (pin cell, shielding, burnup, group constants, minimal sphere). With topic, return the best matching example content. |
| sync_docsB | Trigger or refresh the download/index of the official Serpent documentation cache (runs in the background). Returns current sync status. |
| validate_inputA | Statically validate a Serpent input file (and its includes): known cards/options, duplicate names, undefined surface/material/cell/universe references, material unit mixing, source/neutron-mode consistency and more. level=3 (or run_norun=true) also runs |
| runB | Start a Serpent calculation as a background job and return its job id (long runs must not block). By default the input is statically validated first; pass force=true to skip. options: extra CLI flags, e.g. ['--noplot']. omp/mpi_tasks are convenience shortcuts. |
| job_statusA | Check background job state (running/finished/failed/lost), exit code, progress and recent log output. Without job_id, list the most recent jobs. |
| job_outputB | Read more log output from a background job (tail of the run log). |
| job_killA | Terminate a running background job (SIGTERM, then SIGKILL for local jobs). |
| get_resultsB | Read and summarise Serpent output files. Defaults to the newest _res.m in the workdir; returns k-eff estimates, run parameters, integral rates and optionally detector/depletion summaries. Use variables=[...] to extract specific _res.m variables. |
| plot_resultsA | Draw a PNG plot from Serpent output. kind: detector (needs name), keff (k-eff per step), burnup (BU vs DAYS from _dep.m), variables (needs x and y variable names). Returns the path of the written image. |
| list_data_librariesA | List the official VTT Serpent nuclear data libraries that can be downloaded (ENDF/B-VII.1, JEFF-3.2, JENDL-4.0, FENDL-3.0, decay/fission-yield/photon data). Each entry has key, title, size, URL and file name. |
| download_data_libraryA | Start a background download of a Serpent data library into a local directory (resumable, extracts tar.gz; multi-GB transfers report progress via job_status). The download runs on THIS machine (the one hosting the MCP server). Use name from list_data_libraries, or an explicit url. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 16 tools
The documentation cluster (get_reference, search_docs, get_card, list_cards, get_examples) has some conceptual proximity, but descriptions clearly differentiate curated reference vs full-text search vs single-card lookup vs discovery vs examples. The job family (job_kill, job_status, job_output) is cleanly separated by purpose, and run/get_results/plot_results target distinct lifecycle stages.
Most tools follow a consistent verb_noun pattern (get_environment, search_docs, validate_input, list_cards, get_results, plot_results, download_data_library). The job_* family is internally consistent but uses noun_verb ordering, and 'run' is a bare verb, which are minor deviations from the dominant convention.
16 tools is reasonable for a complex simulation domain spanning environment detection, documentation, validation, execution, job management, results, plotting and data libraries. Each tool earns its place, though the count sits at the upper edge of comfortable scope.
The surface covers a full workflow: environment setup, doc lookup, input validation, running, job lifecycle, results extraction, plotting and data library management. A minor gap is the absence of a tool to author/write input files or clean up/delete old jobs, but agents can work around these.