Skip to main content
Glama

Get Project

get_project
Read-only

Use this when you need to reopen a saved project or browse what the user has saved — it fetches a kernelCAD Studio project, or lists the signed-in user's saved projects. Pass slug (from a /p/ link or a prior listing) to fetch that project's full .kcad source and metadata — then edit and open_in_studio with the same slug so the user's open tab updates live. Private projects require their owner's OAuth connection. OMIT slug to list the signed-in user's saved projects (most recently updated first); that listing mode requires the OAuth connection and does NOT paint — prefer list_my_projects to find a project to continue. Read-only: this tool never shows a viewer (only open_in_studio does, once per response). Paint phases: projectSaved/meshReady reflect fetch state; viewerPainted stays false. Use open_in_studio (with code) to publish+paint — do NOT call get_model_mesh or get_latest_render for interactive paint.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugNoThe project slug from a listing or a /p/<slug> Studio link. Omit to list the signed-in user's saved projects.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
okNoWhether the read succeeded.
urlNoFetch mode: revision-pinned /p/<slug>?version= link.
codeNoFetch mode: the full .kcad source.
slugNoFetch mode: the project slug.
titleNoFetch mode: the project title.
assetsNoComplementary files keyed by source-relative path.
meshUrlNoFetch mode: revision-matched mesh artifact URL when available — FunnelViewer loads it instead of re-executing CAD. When meshStatus is building, this is the expected CDN URL (retry until ready).
privacyNoFetch mode: the project privacy.
versionNoFetch mode: the project version.
embedUrlNoFetch mode: revision-pinned chrome-free /embed/<slug>?revision= viewer URL (includes meshUrl when available).
meshHintNoFetch mode: when meshStatus=building — transient; poll again or re-open_in_studio; never imply permanent 404.
projectsNoList mode (no slug): the user's saved projects.
meshErrorNoFetch mode: sanitized repair/persist error when meshStatus is failed.
meshReadyNoFetch mode: true only when meshStatus===ready.
paintHintNo
meshStatusNoFetch mode: ready | building | failed | missing — explicit CDN artifact state (never silently omit meshUrl under CDN mode).
parametersNoFetch mode: the model's editable parameters.
updated_atNoFetch mode: last-updated timestamp.
serverBuildNoDeploy identity (package+git SHA@boot time) so connector lag is observable.
projectSavedNoFetch mode: true when the project was loaded.
viewerPaintedNoAlways false on tools/call; widget sets true after correlated model_displayed.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedOutput schema / properties / meshHint
      Added value: +{
      +  "description": "Fetch mode: when meshStatus=building — transient; poll again or re-open_in_studio; never imply permanent 404.",
      +  "type": "string"
      +}
  2. Changed4 schema fields changed
    • addedOutput schema / properties / meshReady
      Added value: +{
      +  "description": "Fetch mode: true only when meshStatus===ready.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / paintHint
      Added value: +{
      +  "type": "string"
      +}
    • addedOutput schema / properties / projectSaved
      Added value: +{
      +  "description": "Fetch mode: true when the project was loaded.",
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / viewerPainted
      Added value: +{
      +  "description": "Always false on tools/call; widget sets true after correlated model_displayed.",
      +  "type": "boolean"
      +}
  3. Changed3 schema fields changed
    • addedOutput schema / properties / meshError
      Added value: +{
      +  "description": "Fetch mode: sanitized repair/persist error when meshStatus is failed.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / meshStatus
      Added value: +{
      +  "description": "Fetch mode: ready | building | failed | missing — explicit CDN artifact state (never silently omit meshUrl under CDN mode).",
      +  "type": "string"
      +}
    • changedOutput schema / properties / meshUrl / description
      Previous value: -"Fetch mode: revision-matched mesh artifact URL when available — FunnelViewer loads it instead of re-executing CAD."New value: +"Fetch mode: revision-matched mesh artifact URL when available — FunnelViewer loads it instead of re-executing CAD. When meshStatus is building, this is the expected CDN URL (retry until ready)."
  4. Changed4 schema fields changed
    • addedOutput schema / properties / embedUrl
      Added value: +{
      +  "description": "Fetch mode: revision-pinned chrome-free /embed/<slug>?revision= viewer URL (includes meshUrl when available).",
      +  "type": "string"
      +}
    • addedOutput schema / properties / meshUrl
      Added value: +{
      +  "description": "Fetch mode: revision-matched mesh artifact URL when available — FunnelViewer loads it instead of re-executing CAD.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / serverBuild
      Added value: +{
      +  "description": "Deploy identity (package+git SHA@boot time) so connector lag is observable.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / url
      Added value: +{
      +  "description": "Fetch mode: revision-pinned /p/<slug>?version= link.",
      +  "type": "string"
      +}
  5. Changed1 schema field changed
    • addedOutput schema / properties / assets
      Added value: +{
      +  "additionalProperties": true,
      +  "description": "Complementary files keyed by source-relative path.",
      +  "type": "object"
      +}
  6. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "additionalProperties": true,
      +  "properties": {
      +    "code": {
      +      "description": "Fetch mode: the full .kcad source.",
      +      "type": "string"
      +    },
      +    "ok": {
      +      "description": "Whether the read succeeded.",
      +      "type": "boolean"
      +    },
      +    "parameters": {
      +      "description": "Fetch mode: the model's editable parameters.",
      +      "items": {},
      +      "type": "array"
      +    },
      +    "privacy": {
      +      "description": "Fetch mode: the project privacy.",
      +      "type": "string"
      +    },
      +    "projects": {
      +      "description": "List mode (no slug): the user's saved projects.",
      +      "items": {},
      +      "type": "array"
      +    },
      +    "slug": {
      +      "description": "Fetch mode: the project slug.",
      +      "type": "string"
      +    },
      +    "title": {
      +      "description": "Fetch mode: the project title.",
      +      "type": "string"
      +    },
      +    "updated_at": {
      +      "description": "Fetch mode: last-updated timestamp.",
      +      "type": "string"
      +    },
      +    "version": {
      +      "description": "Fetch mode: the project version.",
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
  7. Changed2 schema fields changed
    • changedInput schema / properties / slug / description
      Previous value: -"The project slug from list_my_projects or a /p/<slug> Studio link."New value: +"The project slug from a listing or a /p/<slug> Studio link. Omit to list the signed-in user's saved projects."
    • removedInput schema / required
      Removed value: -[
      -  "slug"
      -]
  8. Added

TDQS

Score is being calculated.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.