protogrid

Search / com.forcefieldsilicon/mdengine

MDEngine

R1· needs a key

MD workbench for agents: 13 analysis tools, renders, hosted GPU runs; LAMMPS + OpenMM.

v0.7.1 · active · repository · website · descriptor JSON · versions

An agent can connect on its own if it already holds MDENGINE_TOKEN.Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.
Quality75good
Trust96of 100
Uptime, 30 days100%
Latency p50510 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "mdengine": {
      "type": "http",
      "url": "https://api.forcefieldsilicon.com/mcp",
      "headers": {
        "Authorization": "Bearer ${MDENGINE_TOKEN}"
      }
    }
  }
}
claude mcp add --transport http mdengine https://api.forcefieldsilicon.com/mcp --header "Authorization: Bearer ${MDENGINE_TOKEN}"
[mcp_servers.mdengine]
url = "https://api.forcefieldsilicon.com/mcp"
bearer_token_env_var = "MDENGINE_TOKEN"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mdengine": {
      "type": "remote",
      "url": "https://api.forcefieldsilicon.com/mcp",
      "enabled": true,
      "headers": {
        "Authorization": "Bearer {env:MDENGINE_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "mdengine": {
      "type": "http",
      "url": "https://api.forcefieldsilicon.com/mcp",
      "headers": {
        "Authorization": "Bearer ${MDENGINE_TOKEN}"
      }
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=mdengine&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vYXBpLmZvcmNlZmllbGRzaWxpY29uLmNvbS9tY3AiLCJoZWFkZXJzIjp7IkF1dGhvcml6YXRpb24iOiJCZWFyZXIgJHtNREVOR0lORV9UT0tFTn0ifX0%3D"
}
{
  "servers": {
    "mdengine": {
      "type": "http",
      "url": "https://api.forcefieldsilicon.com/mcp",
      "headers": {
        "Authorization": "Bearer ${MDENGINE_TOKEN}"
      }
    }
  }
}
{
  "mcpServers": {
    "mdengine": {
      "httpUrl": "https://api.forcefieldsilicon.com/mcp",
      "headers": {
        "Authorization": "Bearer ${MDENGINE_TOKEN}"
      }
    }
  }
}
extensions:
  "mdengine":
    enabled: true
    name: "mdengine"
    type: streamable_http
    uri: "https://api.forcefieldsilicon.com/mcp"
    headers:
      "Authorization": "Bearer ${MDENGINE_TOKEN}"
    timeout: 300

Placeholders to fill from your own secret store: ${MDENGINE_TOKEN}. The registry never accepts secret values.

Quality 75 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene100 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations14 of 14 tools declare readOnlyHint or destructiveHint
  • pass
    tools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
  • pass
    tools.token_costabout 2,657 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability25 · weight 15
  • warn
    stability.changes6 tool changes in 30 days
  • fail
    stability.rug_pull1 tools kept their name but changed most of their description in 30 days; review before trusting them
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

14 tools, about 2,657 tokens to load them all · tool set cb0640c5993b · tools last changed 2026-10-08 · checked 2026-10-19 10:52 UTC

Tool changes

  • campaign_requestadded

    No 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.

  • guideadded

    No 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.

  • job_statuschangeddescriptionmeaning changed
    before

    State (created|uploaded|queued|launching|running|uploading|done|failed|cancelled), GPU, rate, billed seconds, cost so far, exit code, error, last thermo lines.

    after · 48% of words in common

    State (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`).

  • create_jobchangedinput schema
  • submit_jobchangedinput schema
  • accountchangeddescription
    before

    Balance in USD, 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, and the key id of the API key in use.

    after · 54% of words in common

    Balance 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 key id of the API key in use, and `packs` (when the endpoint sells credit): [{id, name, usd, gpu_h, url}] to top up THIS key by appending ?client_reference_id=<key_id> to the pack url.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 96 / 100

provenance100
liveness100
freshness85
hygiene95

+repository +namespace-matches-repo +dns-namespace +website +reachable +uptime-100% ~updated-38d-ago -unpinned-packages(1)

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://api.forcefieldsilicon.com/mcp streamable-httpapi_key ${MDENGINE_TOKEN}yes100%510 ms2025-11-252026-10-19
packageregistryversionruntimesecrets
https://github.com/forcefieldsilicon/mdengine/releases/download/v0.7.1/mdengine-mcp-0.7.1-macos-arm64.mcpbmcpbunpinned–

Tools (14)

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 key id of the API key in use, and `packs` (when the endpoint sells credit): [{id, name, usd, gpu_h, url}] to top up THIS key by appending ?client_reference_id=<key_id> to the pack url.
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.
cancel_jobdestructiveCancel a job that is not finished. A running job is billed up to the cancel time; its pod is terminated.
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.
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.
delete_resultsdestructiveFor 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.
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.
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.
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`).
list_jobsread-onlyJobs of this API key, newest first. Compact rows (id, state, label, created, finished, gpu, cost_usd, error) unless full=true.
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.
start_jobStep 2: queue a job whose deck tarball has been uploaded. A GPU pod is launched; billing starts when it reports running.
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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "com.forcefieldsilicon/mdengine",
  "title": "MDEngine",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://api.forcefieldsilicon.com/mcp",
      "type": "streamable-http",
      "headers": [
        {
          "name": "Authorization",
          "isSecret": true,
          "isRequired": true,
          "description": "Bearer mde_... API key, issued with a prepaid GPU credit pack at https://forcefieldsilicon.com/mdengine"
        }
      ]
    }
  ],
  "version": "0.7.1",
  "packages": [
    {
      "transport": {
        "type": "stdio"
      },
      "fileSha256": "9b9713fec2548ee1c149ef7077982f5ef0394fc22be9b99210377c3dc3a0383a",
      "identifier": "https://github.com/forcefieldsilicon/mdengine/releases/download/v0.7.1/mdengine-mcp-0.7.1-macos-arm64.mcpb",
      "registryType": "mcpb"
    }
  ],
  "repository": {
    "url": "https://github.com/forcefieldsilicon/mdengine",
    "source": "github"
  },
  "websiteUrl": "https://forcefieldsilicon.com/mdengine",
  "description": "MD workbench for agents: 13 analysis tools, renders, hosted GPU runs; LAMMPS + OpenMM."
}