{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_effvqeescjsw","handle":"materialscodegraph","url":"https://wellknown.network/agents/materialscodegraph","links":{"self":"https://wellknown.network/agents/materialscodegraph/record.json","html":"https://wellknown.network/agents/materialscodegraph","markdown":"https://wellknown.network/agents/materialscodegraph/record.md","api":"https://wellknown.network/api/v1/agents/materialscodegraph","status":"https://wellknown.network/api/v1/agents/materialscodegraph/status","claim":"https://wellknown.network/agents/materialscodegraph/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/materialscodegraph/claim.json","badge":"https://wellknown.network/agents/materialscodegraph/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/materialscodegraph/history","tools":"https://wellknown.network/api/v1/agents/materialscodegraph/tools"},"ard":{"identifier":"urn:air:api.materialscodegraph.com:server:materialscodegraph","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"MaterialsCodeGraph","summary":"Materials simulations for AI agents over MCP: binding token quote before every run, record after it.","description":"Materials simulations for AI agents over MCP: binding token quote before every run, record after it.","publisher":{"name":"com.materialscodegraph","url":null},"homepage":"https://materialscodegraph.com","repository":"https://github.com/materialscodegraph/materialscodegraph","version":"0.1.1","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://api.materialscodegraph.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-20T00:06:44.066266Z","publishedAt":"2026-09-20T00:06:44.066266Z","registryName":"com.materialscodegraph/mcg"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"commerce.pricing","name":"Pricing & Quotes","confidence":1,"provenance":"derived"},{"slug":"dev.terminal","name":"Terminal & Shell","confidence":0.525,"provenance":"derived"},{"slug":"infra.devices","name":"Devices & IoT","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"commerce.ecommerce","name":"E-commerce Operations","confidence":0.51,"provenance":"derived"}],"categories":["commerce","content","dev","infra"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 2h ago.","lastOkAt":"2026-10-10T00:27:57.470Z","lastProbedAt":"2026-10-10T00:27:57.470Z","statusComputedAt":"2026-10-10T00:29:51.506Z","reliability30d":{"probes":72,"successRate":1,"p50Ms":28,"basis":"mixed","measures":{"availability":"availability (some checks stopped at authentication)","latency":"response time (mixed)","tools":"partially observed","summary":"Some successful checks reached the service and some stopped at an authentication response; figures combine both."},"checks":{"total":72,"ok":72,"authBoundaryOk":65,"serviceOk":7,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-10T00:27:57.470Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"mcg_catalog","description":"Enabled simulation kinds (each with example mcg_quote arguments that price, or a note naming what must exist first; traced says whether the kind's default linea"},{"name":"mcg_rates","description":"The public rate card: token_usd, overheads, rate_card_version. FREE, no arguments; also a connectivity check."},{"name":"mcg_quote","description":"Price a simulation. FREE: no hardware starts. Returns quote_id, quote_hash, tokens, rate_card_version, wall_s, expires_at, the plan, and record: {traced: true, "},{"name":"mcg_clusters","description":"Connected clusters: id, name, preset (hive or auto), status (pending until the agent's first sync; connected; stale: the agent stopped syncing; revoked; schedul"},{"name":"mcg_stage","description":"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 input"},{"name":"mcg_run","description":"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 "},{"name":"mcg_list_runs","description":"List runs, newest first: every run of this key's owner, or one quote's runs when quote_id is given. Each row carries state, spend_tokens, created_by_key_name (n"},{"name":"mcg_get_study","description":"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 ("},{"name":"mcg_get_run","description":"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,"},{"name":"mcg_cancel_run","description":"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 immediate"},{"name":"mcg_fetch_artifacts","description":"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 de"},{"name":"mcg_get_artifact","description":"Fetch one artifact file's TEXT content, up to max_bytes (default 65536), with an explicit truncation note. Binary content REJECTS with unsupported_content; fetc"}],"toolCount":12,"toolsHash":"d8660c8d65adc1eea6887ecb1e62e43677a3d053b91bf0c5d84ed4b0b1f4465b","serverName":"mcg","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T17:27:18.641Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":61,"error":null,"detail":{"tools":[{"name":"mcg_catalog","description":"Enabled simulation kinds (each with example mcg_quote arguments that price, or a note naming what must exist first; traced says whether the kind's default linea"},{"name":"mcg_rates","description":"The public rate card: token_usd, overheads, rate_card_version. FREE, no arguments; also a connectivity check."},{"name":"mcg_quote","description":"Price a simulation. FREE: no hardware starts. Returns quote_id, quote_hash, tokens, rate_card_version, wall_s, expires_at, the plan, and record: {traced: true, "},{"name":"mcg_clusters","description":"Connected clusters: id, name, preset (hive or auto), status (pending until the agent's first sync; connected; stale: the agent stopped syncing; revoked; schedul"},{"name":"mcg_stage","description":"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 input"},{"name":"mcg_run","description":"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 "},{"name":"mcg_list_runs","description":"List runs, newest first: every run of this key's owner, or one quote's runs when quote_id is given. Each row carries state, spend_tokens, created_by_key_name (n"},{"name":"mcg_get_study","description":"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 ("},{"name":"mcg_get_run","description":"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,"},{"name":"mcg_cancel_run","description":"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 immediate"},{"name":"mcg_fetch_artifacts","description":"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 de"},{"name":"mcg_get_artifact","description":"Fetch one artifact file's TEXT content, up to max_bytes (default 65536), with an explicit truncation note. Binary content REJECTS with unsupported_content; fetc"}],"toolCount":12,"toolsHash":"d8660c8d65adc1eea6887ecb1e62e43677a3d053b91bf0c5d84ed4b0b1f4465b","serverName":"mcg","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T10:22:17.902Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":40,"error":null,"detail":{"tools":[{"name":"mcg_catalog","description":"Enabled simulation kinds (each with example mcg_quote arguments that price, or a note naming what must exist first; traced says whether the kind's default linea"},{"name":"mcg_rates","description":"The public rate card: token_usd, overheads, rate_card_version. FREE, no arguments; also a connectivity check."},{"name":"mcg_quote","description":"Price a simulation. FREE: no hardware starts. Returns quote_id, quote_hash, tokens, rate_card_version, wall_s, expires_at, the plan, and record: {traced: true, "},{"name":"mcg_clusters","description":"Connected clusters: id, name, preset (hive or auto), status (pending until the agent's first sync; connected; stale: the agent stopped syncing; revoked; schedul"},{"name":"mcg_stage","description":"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 input"},{"name":"mcg_run","description":"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 "},{"name":"mcg_list_runs","description":"List runs, newest first: every run of this key's owner, or one quote's runs when quote_id is given. Each row carries state, spend_tokens, created_by_key_name (n"},{"name":"mcg_get_study","description":"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 ("},{"name":"mcg_get_run","description":"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,"},{"name":"mcg_cancel_run","description":"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 immediate"},{"name":"mcg_fetch_artifacts","description":"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 de"},{"name":"mcg_get_artifact","description":"Fetch one artifact file's TEXT content, up to max_bytes (default 65536), with an explicit truncation note. Binary content REJECTS with unsupported_content; fetc"}],"toolCount":12,"toolsHash":"d8660c8d65adc1eea6887ecb1e62e43677a3d053b91bf0c5d84ed4b0b1f4465b","serverName":"mcg","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:22:51.218Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":14,"error":null,"detail":{"tools":[{"name":"mcg_catalog","description":"Enabled simulation kinds (each with example mcg_quote arguments that price, or a note naming what must exist first; traced says whether the kind's default linea"},{"name":"mcg_rates","description":"The public rate card: token_usd, overheads, rate_card_version. FREE, no arguments; also a connectivity check."},{"name":"mcg_quote","description":"Price a simulation. FREE: no hardware starts. Returns quote_id, quote_hash, tokens, rate_card_version, wall_s, expires_at, the plan, and record: {traced: true, "},{"name":"mcg_clusters","description":"Connected clusters: id, name, preset (hive or auto), status (pending until the agent's first sync; connected; stale: the agent stopped syncing; revoked; schedul"},{"name":"mcg_stage","description":"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 input"},{"name":"mcg_run","description":"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 "},{"name":"mcg_list_runs","description":"List runs, newest first: every run of this key's owner, or one quote's runs when quote_id is given. Each row carries state, spend_tokens, created_by_key_name (n"},{"name":"mcg_get_study","description":"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 ("},{"name":"mcg_get_run","description":"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,"},{"name":"mcg_cancel_run","description":"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 immediate"},{"name":"mcg_fetch_artifacts","description":"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 de"},{"name":"mcg_get_artifact","description":"Fetch one artifact file's TEXT content, up to max_bytes (default 65536), with an explicit truncation note. Binary content REJECTS with unsupported_content; fetc"}],"toolCount":12,"toolsHash":"d8660c8d65adc1eea6887ecb1e62e43677a3d053b91bf0c5d84ed4b0b1f4465b","serverName":"mcg","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T20:25:15.152Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":13,"error":null,"detail":{"tools":[{"name":"mcg_catalog","description":"Enabled simulation kinds (each with example mcg_quote arguments that price, or a note naming what must exist first; traced says whether the kind's default linea"},{"name":"mcg_rates","description":"The public rate card: token_usd, overheads, rate_card_version. FREE, no arguments; also a connectivity check."},{"name":"mcg_quote","description":"Price a simulation. FREE: no hardware starts. Returns quote_id, quote_hash, tokens, rate_card_version, wall_s, expires_at, the plan, and record: {traced: true, "},{"name":"mcg_clusters","description":"Connected clusters: id, name, preset (hive or auto), status (pending until the agent's first sync; connected; stale: the agent stopped syncing; revoked; schedul"},{"name":"mcg_stage","description":"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 input"},{"name":"mcg_run","description":"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 "},{"name":"mcg_list_runs","description":"List runs, newest first: every run of this key's owner, or one quote's runs when quote_id is given. Each row carries state, spend_tokens, created_by_key_name (n"},{"name":"mcg_get_study","description":"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 ("},{"name":"mcg_get_run","description":"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,"},{"name":"mcg_cancel_run","description":"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 immediate"},{"name":"mcg_fetch_artifacts","description":"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 de"},{"name":"mcg_get_artifact","description":"Fetch one artifact file's TEXT content, up to max_bytes (default 65536), with an explicit truncation note. Binary content REJECTS with unsupported_content; fetc"}],"toolCount":12,"toolsHash":"d8660c8d65adc1eea6887ecb1e62e43677a3d053b91bf0c5d84ed4b0b1f4465b","serverName":"mcg","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T13:22:18.961Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":37,"error":null,"detail":{"tools":[{"name":"mcg_catalog","description":"Enabled simulation kinds (each with example mcg_quote arguments that price, or a note naming what must exist first; traced says whether the kind's default linea"},{"name":"mcg_rates","description":"The public rate card: token_usd, overheads, rate_card_version. FREE, no arguments; also a connectivity check."},{"name":"mcg_quote","description":"Price a simulation. FREE: no hardware starts. Returns quote_id, quote_hash, tokens, rate_card_version, wall_s, expires_at, the plan, and record: {traced: true, "},{"name":"mcg_clusters","description":"Connected clusters: id, name, preset (hive or auto), status (pending until the agent's first sync; connected; stale: the agent stopped syncing; revoked; schedul"},{"name":"mcg_stage","description":"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 input"},{"name":"mcg_run","description":"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 "},{"name":"mcg_list_runs","description":"List runs, newest first: every run of this key's owner, or one quote's runs when quote_id is given. Each row carries state, spend_tokens, created_by_key_name (n"},{"name":"mcg_get_study","description":"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 ("},{"name":"mcg_get_run","description":"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,"},{"name":"mcg_cancel_run","description":"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 immediate"},{"name":"mcg_fetch_artifacts","description":"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 de"},{"name":"mcg_get_artifact","description":"Fetch one artifact file's TEXT content, up to max_bytes (default 65536), with an explicit truncation note. Binary content REJECTS with unsupported_content; fetc"}],"toolCount":12,"toolsHash":"d8660c8d65adc1eea6887ecb1e62e43677a3d053b91bf0c5d84ed4b0b1f4465b","serverName":"mcg","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T06:22:42.720Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":12,"error":null,"detail":{"tools":[{"name":"mcg_catalog","description":"Enabled simulation kinds (each with example mcg_quote arguments that price, or a note naming what must exist first; traced says whether the kind's default linea"},{"name":"mcg_rates","description":"The public rate card: token_usd, overheads, rate_card_version. FREE, no arguments; also a connectivity check."},{"name":"mcg_quote","description":"Price a simulation. FREE: no hardware starts. Returns quote_id, quote_hash, tokens, rate_card_version, wall_s, expires_at, the plan, and record: {traced: true, "},{"name":"mcg_clusters","description":"Connected clusters: id, name, preset (hive or auto), status (pending until the agent's first sync; connected; stale: the agent stopped syncing; revoked; schedul"},{"name":"mcg_stage","description":"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 input"},{"name":"mcg_run","description":"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 "},{"name":"mcg_list_runs","description":"List runs, newest first: every run of this key's owner, or one quote's runs when quote_id is given. Each row carries state, spend_tokens, created_by_key_name (n"},{"name":"mcg_get_study","description":"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 ("},{"name":"mcg_get_run","description":"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,"},{"name":"mcg_cancel_run","description":"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 immediate"},{"name":"mcg_fetch_artifacts","description":"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 de"},{"name":"mcg_get_artifact","description":"Fetch one artifact file's TEXT content, up to max_bytes (default 65536), with an explicit truncation note. Binary content REJECTS with unsupported_content; fetc"}],"toolCount":12,"toolsHash":"d8660c8d65adc1eea6887ecb1e62e43677a3d053b91bf0c5d84ed4b0b1f4465b","serverName":"mcg","capabilities":["tools"],"serverVersion":"0.1.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T23:24:31.032Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":9,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer"}},{"at":"2026-10-07T16:28:37.432Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":12,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer"}},{"at":"2026-10-07T09:28:15.771Z","kind":"mcp_initialize","ok":true,"httpStatus":401,"latencyMs":49,"error":null,"detail":{"authRequired":true,"wwwAuthenticate":"Bearer"}}],"tools":[{"name":"mcg_catalog","description":"Enabled simulation kinds (each with example mcg_quote arguments that price, or a note naming what must exist first; traced says whether the kind's default linea"},{"name":"mcg_rates","description":"The public rate card: token_usd, overheads, rate_card_version. FREE, no arguments; also a connectivity check."},{"name":"mcg_quote","description":"Price a simulation. FREE: no hardware starts. Returns quote_id, quote_hash, tokens, rate_card_version, wall_s, expires_at, the plan, and record: {traced: true, "},{"name":"mcg_clusters","description":"Connected clusters: id, name, preset (hive or auto), status (pending until the agent's first sync; connected; stale: the agent stopped syncing; revoked; schedul"},{"name":"mcg_stage","description":"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 input"},{"name":"mcg_run","description":"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 "},{"name":"mcg_list_runs","description":"List runs, newest first: every run of this key's owner, or one quote's runs when quote_id is given. Each row carries state, spend_tokens, created_by_key_name (n"},{"name":"mcg_get_study","description":"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 ("},{"name":"mcg_get_run","description":"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,"},{"name":"mcg_cancel_run","description":"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 immediate"},{"name":"mcg_fetch_artifacts","description":"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 de"},{"name":"mcg_get_artifact","description":"Fetch one artifact file's TEXT content, up to max_bytes (default 65536), with an explicit truncation note. Binary content REJECTS with unsupported_content; fetc"}],"package":null,"toolSurface":{"id":"ts_pykh6947a8eh","endpointId":"ep_m4kww8vkm95e","hash":"d8660c8d65adc1eea6887ecb1e62e43677a3d053b91bf0c5d84ed4b0b1f4465b","toolCount":12,"serverName":"mcg","serverVersion":"0.1.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-08T06:22:42.722Z","lastSeenAt":"2026-10-10T00:27:57.477Z","observations":7,"toolNames":["mcg_catalog","mcg_rates","mcg_quote","mcg_clusters","mcg_stage","mcg_run","mcg_list_runs","mcg_get_study","mcg_get_run","mcg_cancel_run","mcg_fetch_artifacts","mcg_get_artifact"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_m4kww8vkm95e","url":"https://api.materialscodegraph.com/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T10:22:17.911Z","auth":{"observedAt":"2026-10-09T10:22:17.935Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T10:22:17.952Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"materialscodegraph.com","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-08-31T09:56:36.000Z","validTo":"2026-11-29T10:56:33.000Z","daysToExpiry":50,"sanCount":3,"fingerprint256":"72:34:FC:B1:A2:B0:9A:C1:FB:52:F1:C2:77:3C:48:62:5D:D1:41:62:6B:DC:B8:40:04:14:B9:9D:52:DB:11:3B"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.materialscodegraph/mcg","url":"https://registry.modelcontextprotocol.io/v0/servers/com.materialscodegraph%2Fmcg","firstSeenAt":"2026-09-20T16:19:06.891Z","fetchedAt":"2026-10-09T08:21:14.861Z","normalizedAt":"2026-10-09T08:21:14.861Z"}]},"firstSeenAt":"2026-09-20T16:19:06.891Z","updatedAt":"2026-10-10T00:30:41.232Z"}