MDEngine
MD workbench for agents: 13 analysis tools, renders, hosted GPU runs; LAMMPS + OpenMM.
Connect it
Settings → Connectors → Add custom connector
URL: https://api.forcefieldsilicon.com/mcpSettings → Apps & Connectors → Advanced → Developer mode
Create connector with URL: https://api.forcefieldsilicon.com/mcp{
"mcpServers": {
"mdengine": {
"url": "https://api.forcefieldsilicon.com/mcp",
"headers": {
"Authorization": "<YOUR_AUTHORIZATION>"
}
}
}
}claude mcp add --transport http mdengine https://api.forcefieldsilicon.com/mcp --header "Authorization: <value>"{
"servers": {
"mdengine": {
"type": "http",
"url": "https://api.forcefieldsilicon.com/mcp",
"headers": {
"Authorization": "<YOUR_AUTHORIZATION>"
}
}
}
}14 tools, verified live
guideread-onlyNo 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 script text of that template, ready to save and submit.
campaign_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.
accountread-onlyBalance 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 per-class prices, capped at wall_limit_s x rate; metered = per second of pod time), the rate table, the
submit_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. The deck is executed as a program on an isolated GPU pod.
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_statusread-onlyState (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; counts in `warnings`).
job_logread-onlyThe last <= 20 thermo/log lines the running pod reported (30 s heartbeat). Full log.lammps is in the results tarball.
job_resultsread-onlyFor 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_jobsread-onlyJobs of this API key, newest first. Compact rows (id, state, label, created, finished, gpu, cost_usd, error) unless full=true.
delete_resultscan modifyFor 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.
capabilitiesread-onlyCapability 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. Use preflight_deck to check a specific deck.
preflight_deckread-onlyDry 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 beyond the fast default image run on lammps-full automatically. Nothing is created or billed.
cancel_jobcan modifyCancel a job that is not finished. A running job is billed up to the cancel time; its pod is terminated.
Alternatives in Design & Media
Compare →
TinyPNG MCP by usefulapiB
Compress, resize and convert images with TinyPNG by URL, and check this month's compression count.
APITemplate.io MCP by usefulapiB
Generate PDFs and images with APITemplate.io from templates, HTML, Markdown or a URL.
CraftMyPDF MCP by usefulapiB
Generate PDFs and images from CraftMyPDF templates; read templates, versions and usage.
Rev.ai MCP by usefulapiB
Transcribe audio with Rev.ai: submit jobs by URL, read transcripts, summaries and captions.
Speechmatics MCP by usefulapiB
Transcribe audio and video with Speechmatics speech-to-text from Claude and any MCP client.
Photon Health MCP by usefulapiB
Read Photon Health patients, prescriptions, orders, pharmacies and medications; screen interactions.