mcpbeat Sign in

MaterialsCodeGraph MCP Server

by materialscodegraph Your server? Claim it
answering

MaterialsCodeGraph is answering right now. Last checked 6 min ago. It exposes 15 tools.

Materials simulations for AI agents over MCP: binding token quote before every run, record after it.

The linked repository no longer exists on GitHub — it was deleted or made private.

Uptime history 51 days of history · worst day 90%
51 days agonow
100.0%
Uptime 24h
92 of 92 checks
15
Tools
read from the server
209 ms
Response time
average over 24h
open, no key
Access
streamable-http

What changed 37

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 14 October 2026. No other catalogue keeps this.

2 Nov a tool description was rewritten mcg_quote
1 Nov a tool description was rewritten mcg_quote
31 Oct 3 tools appeared mcg_archive, mcg_delete_study, mcg_study_members
31 Oct 2 tools changed the parameters they ask for mcg_quote, mcg_stage
31 Oct a tool description was rewritten mcg_quote
30 Oct a tool description was rewritten mcg_catalog
30 Oct a tool changed the parameters it asks for mcg_quote
29 Oct a tool changed the parameters it asks for mcg_quote
28 Oct 2 tool descriptions were rewritten mcg_clusters, mcg_list_runs
28 Oct 2 tools changed the parameters they ask for mcg_list_runs, mcg_quote
and 22 more, back to 14 October 2026

This one has been quiet for a while

Quiet is not dead — but it is worth knowing when it wakes up, or when someone else takes it over. We watch the repository and tell you either way.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 6 min ago.

run in your terminal
claude mcp add mcg --transport http https://api.materialscodegraph.com/mcp
Settings → Connectors → Add custom connector, then paste this address
https://api.materialscodegraph.com/mcp
~/.codex/config.toml
[mcp_servers.mcg]
url = "https://api.materialscodegraph.com/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "mcg": {
      "url": "https://api.materialscodegraph.com/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "mcg": {
      "type": "http",
      "url": "https://api.materialscodegraph.com/mcp"
    }
  }
}

Available tools 15

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

mcg
mcg_archive
Archive or unarchive a simulation you own. Archiving hides it from the app's lists and studies; its runs, artifacts and spend are untouched, its direct link still opens, and archived false restores it. Use it to clear drafts that never ran (they cannot be deleted once quoted). Returns simulation_id, archived, archived_at (null when unarchived) and app_url.
mcg_cancel_run
Cancel a run from any non-terminal state before collecting (a collecting run's outputs are delivered and charged: 409). The cancel request is recorded immediately and returns run_id and cancel_requested true (and a note, for a running campaign); the platform kills the machine and terminalizes the run as state killed on its next orchestration tick (about 60 s). A running campaign's cancel takes several ticks (a tick is about 60 s), 3 or more while children are open: the parent winds down, its open children are cancelled (a collecting child finishes and counts), then settlement charges the done children's measured tokens and releases the rest of the hold. Poll mcg_get_run to observe the terminal state.
mcg_catalog
Enabled simulation kinds (each with example mcg_quote arguments that price, a note naming what must exist first, or both; traced says whether the kind's default lineage has a single public OpenMaterials node pin, traced_note why or why not; research coordinators instead expose record_contract describing per-task completion requirements, not completed results), the costed lineage menu (runnability, physical conditions, indicative token costs and wall time per resource class, with its label and the offer SKU priced), the external-frontier graphs mcg_quote accepts (each with the envelope to pass as external_frontier), recipes (pass a recipe's quote object to mcg_quote unchanged), and codes (versions, licenses, pins; the only software a run may execute). Call before mcg_quote. A kind or code absent here cannot run.
mcg_clusters
Connected clusters: id, name, preset (hive or auto), status (pending until the agent's first sync; connected; stale: the agent stopped syncing; revoked; scheduler_down: the agent syncs but cannot reach the scheduler, nothing is offered; agent_outdated: an auto cluster's agent sends no inventory; snapshot_rejected: its last snapshot was over the size cap; snapshot_stale: no fresh capacity snapshot, nothing is offered; nodes_unavailable: none of an auto cluster's nodes accept jobs (drained, down, in maintenance or not responding), nothing is offered), status_detail (why, when not connected), classes (resource classes offered per partition, with per-job GPU, CPU and memory maxima, the GRES type, and in_use: false when no engine runs on the class), unclassified_gpus (GPU types present but not offered: type, count, reason), untyped_gpus, last sync time. Pass target {cluster_id} to mcg_quote to run there at zero hardware cost; only a connected cluster quotes. Clusters are created with POST /api/clusters (on the machine host with a spend-scoped key).
mcg_delete_study
Delete a study you own: the study and its membership list go. Its simulations, runs, artifacts and spend are untouched and stay reachable by id and in mcg_list_runs. Refused while the study has documents or a live public link (remove those in the app first). Returns study_id, deleted true and former_member_ids, enough to rebuild it.
mcg_fetch_artifacts
List a run's collected artifacts as a typed manifest: artifacts, a list of path, bytes, stage and sha256 per file, plus removed on a file the retention sweep deleted (its bytes are gone; do not fetch it) and attribution on a third-party model's file (its license notice; keep it with any copy); truncated; source. Never returns file contents; fetch one file with mcg_get_artifact.
mcg_get_artifact
Fetch one artifact file's TEXT content, up to max_bytes (default 65536), with an explicit truncation note. Binary content REJECTS with unsupported_content; fetch binaries from the run's public page. A third-party model's file returns its full license notice first, as an [attribution] text item.
mcg_get_run
Fetch a run's state, event timeline and LLM spend. The payload leads with a derived summary (state, current_stage, billing {quoted_tokens, charged_tokens, hold, policy}, fault, refusal, next, last event, campaign) for cheap polling, then app_url (the run page, for the human), study and headline. events holds the newest events that fit about 12 KB plus the last complete or fail event; events_omitted counts the others. In a payload over 2 KB, each value over 256 chars becomes {omitted_bytes, see}, where see names the route that returns the full event. A report body_md over 6,000 chars becomes the same stub; a brief body_md is cut at 6,000 chars and ends in an ellipsis; llm_spend.calls holds the newest 10 calls, and calls_omitted counts the rest. A done, node-addressed run also carries record (its OpenMaterials SimulationRecord), openmaterials_url (the datasheet link) and openmaterials_label: null, or the commons' note when the record cites a model, configuration or code that is not in the public registry (record.unregistered lists each model and configuration), so its values cannot be checked against the commons. A campaign parent's summary.campaign holds its round, step, ceiling_tokens, committed_tokens, measured_tokens, finish, counts (children per state), children (every open child and the newest 8 settled ones, each with run_id) and children_omitted; GET /api/runs/:id lists every child. Its children are charged in the parent's one capture, so a child shows charged_tokens 0 and hold parent.
mcg_get_study
Fetch a study (the project a quote's `study` named) with its member simulations and their latest runs. Pass study_id or the exact name. Returns study, members (each with app_url) and app_url.
mcg_list_runs
List runs, newest first: every run of this key's owner, or one quote's runs when quote_id is given. Returns at most limit rows (default 20, maximum 100). Each row carries state, spend_tokens, created_by_key_name (null when launched in the browser), study, headline (the AI brief's first line) and app_url. Returns runs and next_before: pass next_before as before to get the next older page; it is null on the last page.
mcg_quote
Price a simulation. FREE: no hardware starts. Returns quote_id, quote_hash, tokens, rate_card_version, wall_s, expires_at, resource_class, resource_label and sku (the GPU class the quote is bound to, its name, and the offer SKU it priced; null when none was chosen), resource_options (one row per class the run can rent at this venue: resource_class, label, sku, tokens, wall_s, available; tokens and wall_s are what this quote would be on that class, null when it has no live offer now; re-quote with resource_class to pick one), pricing {hours_factor, potential_cost_ratio, note} when a potential staged at slots/potential was priced by its predicted per-step cost over the default's (the hours, the wall time and the run's wall limit are multiplied by hours_factor, at least 1, the factor on the quote's resource_class: each resource_options row is priced at its own class's factor; the per-second rate is unchanged), the plan, and record: {traced: true, node, node_uid, map_version (the openmaterials graph version the node is pinned at; the commons map version is published at openmaterials.ai/data/version.json), material (the material the pinned conditions name: what the run computes), potential {label, sha256} when the run's staged potential is not NEP89} when the completed run's OpenMaterials record is keyed on that public map node (measured instances cite the method that ran), else {traced: false, reason}, which only the graph arm, research coordinators and the untraced preview kinds (the reason is the kind's traced_note) return: a kind-arm spec no record can name is refused with the reason, and one naming several materials or interfaces carries detail.split: one {material, spec} per simulation, each ready to quote (pass the same study to group them). Research coordinators remain traced:false because they have no single public-node pin, but add record.record_contract: per-task omai completion requirements and the approved contract_sha256. Scientific tasks require simulation records; source-integrity QA requires node-less light_evidence, not scientific results. This is a required contract, not evidence that a run has completed; read it before you spend. The price is a binding ceiling: never more than this. A quote with billing.policy metered_v1 (D-083) carries billing {billing_mode, rate_tokens_per_s, boot_tokens, gate_tokens_per_stage, laws, liability_table, waiver_remaining_today, statement, dispute}: a metered run pays the lower of its work and its time, and a refusal the liability table names as the caller's, after the code computed, pays its work, never more than the quote. mcg_run accepts only this quote_id with this quote_hash before expires_at and REJECTS a stale hash (quote_mismatch) or an expired quote (quote_expired). Arms, exactly one: kind from mcg_catalog (spec passed through verbatim, spec.params set the price, engine overrides the default only with a known engine id); external_frontier, an OpenMaterials external-solve envelope from mcg_catalog's graphs (also returns request_id, plan_digest and the compiled plan; an envelope not byte-equal to a supported graph REJECTS with unsupported_graph); draft_id (see the parameter). Also returns app_url, the owner's page in the app (for the human, never fetched by the agent) and, on the kind arm, warnings: the inputs the app cannot render without (material or structure_xyz, study); pass them. key_cap {tokens, daily_token_cap, message} appears when the quote alone is above this key's daily_token_cap: mcg_run with this key would be refused.
mcg_rates
The public rate card: token_usd, overheads, rate_card_version. FREE, no arguments; also a connectivity check.
mcg_run
Launch the quoted simulation. SPENDS TOKENS: provisions hardware and bills the account. Requires the quote_id and quote_hash from mcg_quote (a stale hash or an expired quote REJECTS: re-quote and retry) and a client-generated idempotency_key (replaying it returns the existing run instead of launching twice). Optional max_tokens is a hard ceiling: a quote above it REJECTS the launch, never clamps. Returns run_id.
mcg_stage
Create a DRAFT simulation whose input files are uploaded before pricing. FREE. Takes the same kind, spec, study, material and conditions as mcg_quote plus inputs: one entry per file the run needs, each with a name and, for small text files, the text inline (staged immediately). Entries without text come back in uploads as presigned PUT URLs (valid 15 minutes, 4 GiB per file): upload each with a plain HTTP PUT of the file bytes, no key or header. Then call mcg_quote with draft_id to price; it REJECTS with inputs_missing until every declared input has arrived.
mcg_study_members
Add simulations to a study and remove them from it. You must own the study (get its id from mcg_get_study) and every listed simulation; a missing one is named and nothing changes. add appends in order (a member already present keeps its place); remove takes a simulation out of this study only, and the simulation and its runs are untouched. Joining a public study is refused for a run that cannot be public. Any change takes an auto-grouped study out of auto-grouping. Returns study, added, removed (the ids that changed), member_simulation_ids (unarchived members, in order), archived_member_ids and app_url.

Endpoints

URLTransportStateLatencyChecked
https://api.materialscodegraph.com/mcp streamable-http answering 113 ms 6 min ago

Alternatives to MaterialsCodeGraph

same job, measured the same way
Cgraphy
by pmgarg

Code knowledge graph over MCP: token-budgeted context for AI coding agents.

82 installs/wk local only
Recraft MCP Server
by muhammetali

Recraft AI Image Generation MCP Server for AI coding agents

78 installs/wk local only
LeanToken
by morluto

Token-bounded repository context for coding agents over MCP.

local only
Toolstem Sec MCP Server
by toolstem

SEC filing MCP for AI agents — insider signals, 13F flow, material events. Pre-computed.

98 installs/wk local only
E
Eclipse Redteam MCP
by cyan-eclipse-technologies-llc

Adversarial simulation for AI agents — sandboxed twins only.

local only
MCP Test Utils
by jeenyjai

Desktop UI automation for AI agents: verified clicks, UI Automation, OCR, scenario runs, recording

local only
consolelog dev tools
by mbdev3

Deterministic dev tools for AI agents over MCP: hashing, encoding, formatting, codegen, and more.

43 installs/wk local only
ctlsurf
by ctlsurf

System-of-record notebook for AI coding agents: pages, datastores, tasks, skills over MCP.

answering

MaterialsCodeGraph — questions

Answers built from our own checks of this server.

What can MaterialsCodeGraph do?
It exposes 15 tools, read directly from the server on our last check. Among them: mcg_archive, mcg_cancel_run, mcg_catalog, mcg_clusters, mcg_delete_study, mcg_fetch_artifacts and 9 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is MaterialsCodeGraph working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 209 ms. The bar chart above shows every period we have measured.
Is MaterialsCodeGraph still maintained?
The linked repository no longer exists on GitHub — it was deleted or made private. We show this because it changes what you can expect: an unmaintained server may keep answering for months and then stop without warning.
How do I connect MaterialsCodeGraph?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does MaterialsCodeGraph need an API key?
No. MaterialsCodeGraph completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 15 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is MaterialsCodeGraph?
It answers our handshake in 209 ms on average, which is faster than 64% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.