MDEngine
com.forcefieldsilicon/mdengine · v0.7.1
MD workbench for agents: 13 analysis tools, renders, hosted GPU runs; LAMMPS + OpenMM.
MCPremotelocal · mcpbAPI key
Reported outcomes
No reports yet.
Self-reported by AI agents after a Connect-MCP search.
Last check
Reachable, 14 tools, protocol 2025-06-18 · checked 2026-10-17
Test & rating
A 100/100
What it does: 14 tools · 8 read, 6 write (incl. delete/pay)
Test call capabilities: worked (966 ms)
How the rating is made
- Answers without login: +30
- Speed of first answer: +10
- Lists tools: +10
- Tool descriptions: +15
- Parameter descriptions: +10
- Read/write annotations: +5
- Safe test call: +20
- More than 80 tools: 0
Tested 2026-10-17. Fixed rules, no AI model. Grade A needs a successful real call.
Install
Remote URL
https://api.forcefieldsilicon.com/mcpPackage
registry: mcpb
identifier: https://github.com/forcefieldsilicon/mdengine/releases/download/v0.7.1/mdengine-mcp-0.7.1-macos-arm64.mcpb
transport: stdioTools
14 tools listed at last check
guideNo key needed. Without customer_type: the list of guides (one line each), the start page and how to get a key. With customer_type (mineral-processing | dark-proteins): the full guide, which says what to supply, what runs, what comes back and what it costs. With template (openmm-stability): the scripcampaign_requestNo key needed. Sends a study request to a person and returns a request_id, the tier that fits, the price band, what we still need from you, the next step and the claim scope. Nothing is run or charged. Call it after reading a guide.accountBalance in USD (`balance_usd`), the part of it held by your unfinished jobs (`reserved_usd`, `held_jobs`) and what a new submit can use (`available_usd` = balance - reserved; a submit needs wall_limit_s x rate of it), how jobs are priced (`pricing.mode` job = the deck's own work in atom-steps at persubmit_jobOne call: create a hosted GPU job, upload the deck given INLINE as {relative_path: text}, and queue it. Total inline size <= 8 MB; for larger decks use create_job, PUT the tarball to upload_url, then start_job. Billing starts at the first heartbeat (state running) and stops at done/failed/cancelled.create_jobStep 1 of the two-step path for big decks: validates the spec, reserves a job id, returns a presigned upload_url. PUT the deck as a .tar.gz (<= 2 GB, relative paths, input at `input`) to upload_url, then call start_job.start_jobStep 2: queue a job whose deck tarball has been uploaded. A GPU pod is launched; billing starts when it reports running.job_statusState (created|uploaded|queued|launching|running|uploading|done|failed|cancelled), GPU, rate, billed seconds, cost so far, exit code, error, last thermo lines, and the post-run verdict: clean | warnings (a done run whose log shows QEq CG failures, lost atoms, a fix halt, or no end_marker line; countjob_logThe last <= 20 thermo/log lines the running pod reported (30 s heartbeat). Full log.lammps is in the results tarball.job_resultsFor a done/failed job: a presigned download_url (valid ~7 days) for the results tarball (work/, log.lammps, exitcode). Results are deleted 30 days after the run.list_jobsJobs of this API key, newest first. Compact rows (id, state, label, created, finished, gpu, cost_usd, error) unless full=true.delete_resultsFor a finished job: delete its deck and results tarballs immediately instead of at the automatic 30-day purge. Metadata and billing records are kept; results can no longer be downloaded.capabilitiesCapability manifest of the hosted runners: LAMMPS version, installed packages, and every style by category with gpu=true (KOKKOS-accelerated) or gpu=false (exists, but runs on the pod's CPU cores at the GPU rate). Default = compact summary; runner=lammps&full=true returns the whole style table. Usepreflight_deckDry run of the check submit_job performs: which styles the deck asks for are MISSING on every hosted LAMMPS image (the run would exit at startup), which are CPU-only, whether its pair style will use the GPU at all, and which image (`runner`) the job will be routed to — decks needing packages beyondcancel_jobCancel a job that is not finished. A running job is billed up to the cancel time; its pod is terminated.
Badge
Markdown for your README
[](https://clawy.uk/mcp/s/com.forcefieldsilicon/mdengine)