MCP Tools
Reference for the uniform Stitch CLI Model Context Protocol tools.
The Stitch CLI includes a built-in MCP server (stitch mcp start / stitch mcp install) that exposes 7 uniform verb tools mirroring the CLI grammar.
| Tool | CLI Equivalent | Read-Only |
|---|---|---|
stitch_create | stitch create | false |
stitch_delete | stitch delete | false |
stitch_edit | stitch edit | false |
stitch_find | stitch find | true |
stitch_generate | stitch generate | false |
stitch_get | stitch get | true |
stitch_url | stitch url | true |
Tools
stitch_create
Creates one resource. Mirrors stitch create <resource>. Use to perform atomic creation (‘add context’, ‘create priority’, ‘connect tool provider’, ‘create skill’, ‘generate screen’). Returns { resource, item, created }; with dryRun, returns the exact request preview.
Annotations
destructive
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
resource | string | true | Resource type to create (project, screen, design-system, workspace, context, skill, priority, webhook, connection). Allowed values: project, screen, design-system, workspace, context, skill, priority, webhook, connection. |
body | object | true | Resource payload. Required fields: project={}, screen={prompt}, design-system={designSystem}, workspace={displayName}, context={data, description}, skill={content, id}, priority={objective}, webhook={eventTypes, url}, connection={providerId}. Run ‘stitch create <resource> —schema’ for the full contract. |
workspace | string | false | Workspace ID override. Required for workspace-scoped resources when no default workspace is configured. |
project | string | false | Stitch project ID (required for project-scoped resources). |
dryRun | boolean | false | Validate payload and preview the request without sending it. |
Input schema
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"enum": [
"project",
"screen",
"design-system",
"workspace",
"context",
"skill",
"priority",
"webhook",
"connection"
],
"description": "Resource type to create (project, screen, design-system, workspace, context, skill, priority, webhook, connection)."
},
"body": {
"type": "object",
"description": "Resource payload. Required fields: project={}, screen={prompt}, design-system={designSystem}, workspace={displayName}, context={data, description}, skill={content, id}, priority={objective}, webhook={eventTypes, url}, connection={providerId}. Run 'stitch create <resource> --schema' for the full contract."
},
"workspace": {
"type": "string",
"description": "Workspace ID override. Required for workspace-scoped resources when no default workspace is configured."
},
"project": {
"type": "string",
"description": "Stitch project ID (required for project-scoped resources)."
},
"dryRun": {
"type": "boolean",
"description": "Validate payload and preview the request without sending it."
}
},
"required": [
"resource",
"body"
]
}
CLI equivalent
stitch create --schema
stitch_delete
Removes one resource by id (workspace, context, priority, webhook). Mirrors stitch delete <resource> <id>. Returns { resource, id, deleted }.
Annotations
destructive
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
resource | string | true | Resource type to delete (workspace, context, priority, webhook). Allowed values: workspaces, workspace, contexts, context, priorities, priority, webhooks, webhook. |
id | string | true | ID of the resource to delete. |
workspace | string | false | Workspace ID override. Required for workspace-scoped resources when no default workspace is configured. |
project | string | false | Stitch Canvas project ID (required for project-scoped resources). |
dryRun | boolean | false | Preview what would be deleted and issue no HTTP request. |
dry-run | boolean | false | Preview what would be deleted and issue no HTTP request. |
confirm | boolean | false | Must be set to true when deleting a cascading resource (workspace). |
Input schema
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"enum": [
"workspaces",
"workspace",
"contexts",
"context",
"priorities",
"priority",
"webhooks",
"webhook"
],
"description": "Resource type to delete (workspace, context, priority, webhook)."
},
"id": {
"type": "string",
"description": "ID of the resource to delete."
},
"workspace": {
"type": "string",
"description": "Workspace ID override. Required for workspace-scoped resources when no default workspace is configured."
},
"project": {
"type": "string",
"description": "Stitch Canvas project ID (required for project-scoped resources)."
},
"dryRun": {
"type": "boolean",
"description": "Preview what would be deleted and issue no HTTP request."
},
"dry-run": {
"type": "boolean",
"description": "Preview what would be deleted and issue no HTTP request."
},
"confirm": {
"type": "boolean",
"description": "Must be set to true when deleting a cascading resource (workspace)."
}
},
"required": [
"resource",
"id"
]
}
CLI equivalent
stitch delete --schema
stitch_edit
Applies a partial update to one resource. Mirrors stitch edit <resource> <id>. Use to modify mutable fields (‘update priority description’, ‘edit context’, ‘update workspace file’, ‘patch skill’, ‘pause webhook’, ‘edit screen’). Returns { resource, item, updateMask }; when Canvas applies the edit asynchronously (design systems), returns { resource, id, status: ‘pending’, session, requested, message } and the caller should re-read the resource later; with dryRun, returns the exact request preview.
Annotations
destructive
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
resource | string | true | Resource type to edit (screen, design-system, workspace, context, file, skill, priority, webhook). Allowed values: screen, design-system, workspace, context, file, skill, priority, webhook. |
id | string | true | ID of the resource to edit. For screens, also accepts projects/<p>/screens/<s> or a Stitch canvas URL; the project it names is used. |
patch | object | true | Fields to update. Run ‘stitch edit <resource> —schema’ for the editable fields. |
updateMask | string | false | Comma-separated field paths to update. Derived from patch keys when omitted. |
workspace | string | false | Workspace ID override. Required for workspace-scoped resources when no default workspace is configured. |
project | string | false | Stitch project ID (required for project-scoped resources). |
dryRun | boolean | false | Preview the request without modifying the resource. |
Input schema
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"enum": [
"screen",
"design-system",
"workspace",
"context",
"file",
"skill",
"priority",
"webhook"
],
"description": "Resource type to edit (screen, design-system, workspace, context, file, skill, priority, webhook)."
},
"id": {
"type": "string",
"description": "ID of the resource to edit. For screens, also accepts projects/<p>/screens/<s> or a Stitch canvas URL; the project it names is used."
},
"patch": {
"type": "object",
"description": "Fields to update. Run 'stitch edit <resource> --schema' for the editable fields."
},
"updateMask": {
"type": "string",
"description": "Comma-separated field paths to update. Derived from patch keys when omitted."
},
"workspace": {
"type": "string",
"description": "Workspace ID override. Required for workspace-scoped resources when no default workspace is configured."
},
"project": {
"type": "string",
"description": "Stitch project ID (required for project-scoped resources)."
},
"dryRun": {
"type": "boolean",
"description": "Preview the request without modifying the resource."
}
},
"required": [
"resource",
"id",
"patch"
]
}
CLI equivalent
stitch edit --schema
stitch_find
Lists resources of a given type (projects, screens, design-systems, workspaces, contexts, files, skills, priorities, webhooks, insights, solutions, connections, organizations). Mirrors stitch find <resource>. Returns { resource, items, returnedCount, isTruncated, nextPageToken }. Follow up with stitch_get on a specific id to inspect full details.
Annotations
readOnly
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
resource | string | true | Resource type to list (projects, screens, design-systems, workspaces, contexts, files, skills, priorities, webhooks, insights, solutions, connections, organizations). Allowed values: projects, project, screens, screen, design-systems, design-system, workspaces, workspace, contexts, context, files, file, skills, skill, priorities, priority, webhooks, webhook, insights, insight, solutions, solution, connections, connection, toolProvider, toolProviders, tool-provider, tool-providers, organizations, organization. |
criteria | object | false | Resource-specific filter criteria (e.g. { id: ‘i-1’ }). |
workspace | string | false | Workspace ID override. Required for workspace-scoped resources when no default workspace is configured. |
project | string | false | Stitch Canvas project ID (required for project-scoped resources). |
limit | integer | false | Maximum number of items to return (default 50). |
pageSize | integer | false | Items per page requested from the API (defaults to limit). |
pageToken | string | false | Resume from a previous result’s nextPageToken. Not supported for Canvas resources. |
filter | string | false | AIP-160 filter expression. |
include | array | false | Related collections to pull into each item. |
Input schema
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"enum": [
"projects",
"project",
"screens",
"screen",
"design-systems",
"design-system",
"workspaces",
"workspace",
"contexts",
"context",
"files",
"file",
"skills",
"skill",
"priorities",
"priority",
"webhooks",
"webhook",
"insights",
"insight",
"solutions",
"solution",
"connections",
"connection",
"toolProvider",
"toolProviders",
"tool-provider",
"tool-providers",
"organizations",
"organization"
],
"description": "Resource type to list (projects, screens, design-systems, workspaces, contexts, files, skills, priorities, webhooks, insights, solutions, connections, organizations)."
},
"criteria": {
"type": "object",
"description": "Resource-specific filter criteria (e.g. { id: 'i-1' })."
},
"workspace": {
"type": "string",
"description": "Workspace ID override. Required for workspace-scoped resources when no default workspace is configured."
},
"project": {
"type": "string",
"description": "Stitch Canvas project ID (required for project-scoped resources)."
},
"limit": {
"type": "integer",
"description": "Maximum number of items to return (default 50)."
},
"pageSize": {
"type": "integer",
"description": "Items per page requested from the API (defaults to limit)."
},
"pageToken": {
"type": "string",
"description": "Resume from a previous result's nextPageToken. Not supported for Canvas resources."
},
"filter": {
"type": "string",
"description": "AIP-160 filter expression."
},
"include": {
"type": "array",
"description": "Related collections to pull into each item."
}
},
"required": [
"resource"
]
}
CLI equivalent
stitch find --schema
stitch_generate
Triggers a backend generation job (insights, solutions). Mirrors stitch generate <resource>. Returns { resource, workspace, started, complete } (complete is false because generation runs asynchronously; poll with stitch_find).
Annotations
destructive
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
resource | string | true | Resource type to generate (insights, solutions). Allowed values: insights, insight, solutions, solution. |
priorities | array | false | Priority IDs to scope generation to (applies to resource=‘insights’ only; omit to generate across the entire workspace). |
insights | array | false | Insight IDs to generate solutions for (required when resource=‘solutions’; applies to resource=‘solutions’ only). |
delayExecution | boolean | false | Reschedule the agent run rather than starting immediately (applies to resource=‘insights’ only). |
replaceExisting | boolean | false | Replace existing unassigned solutions instead of adding to them (applies to resource=‘solutions’ only). |
workspace | string | false | Workspace ID override. Required when no default workspace is configured. |
dryRun | boolean | false | Validate arguments and preview scope without starting a generation job. |
dry-run | boolean | false | Validate arguments and preview scope without starting a generation job. |
Input schema
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"enum": [
"insights",
"insight",
"solutions",
"solution"
],
"description": "Resource type to generate (insights, solutions)."
},
"priorities": {
"type": "array",
"description": "Priority IDs to scope generation to (applies to resource='insights' only; omit to generate across the entire workspace)."
},
"insights": {
"type": "array",
"description": "Insight IDs to generate solutions for (required when resource='solutions'; applies to resource='solutions' only)."
},
"delayExecution": {
"type": "boolean",
"description": "Reschedule the agent run rather than starting immediately (applies to resource='insights' only)."
},
"replaceExisting": {
"type": "boolean",
"description": "Replace existing unassigned solutions instead of adding to them (applies to resource='solutions' only)."
},
"workspace": {
"type": "string",
"description": "Workspace ID override. Required when no default workspace is configured."
},
"dryRun": {
"type": "boolean",
"description": "Validate arguments and preview scope without starting a generation job."
},
"dry-run": {
"type": "boolean",
"description": "Validate arguments and preview scope without starting a generation job."
}
},
"required": [
"resource"
]
}
CLI equivalent
stitch generate --schema
stitch_get
Fetches one resource by id (project, screen, design-system, status, workspace, context, file, skill, priority, webhook, insight, solution, connection, organization). Mirrors stitch get <resource> <id>. Returns { resource, item, availableActions? }. Follow up with the tool named in availableActions.
Annotations
readOnly
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
resource | string | true | Resource type to fetch (project, screen, design-system, status, workspace, context, file, skill, priority, webhook, insight, solution, connection, organization). Allowed values: projects, project, screens, screen, design-systems, design-system, status, workspaces, workspace, contexts, context, files, file, skills, skill, priorities, priority, webhooks, webhook, insights, insight, solutions, solution, connections, connection, toolProvider, toolProviders, tool-provider, tool-providers, organizations, organization. |
id | string | false | ID of the resource to fetch. Required for every resource except ‘status’, where id must be omitted. |
workspace | string | false | Workspace ID override. Required for workspace-scoped resources when no default workspace is configured. |
project | string | false | Stitch Canvas project ID (required for project-scoped resources). |
Input schema
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"enum": [
"projects",
"project",
"screens",
"screen",
"design-systems",
"design-system",
"status",
"workspaces",
"workspace",
"contexts",
"context",
"files",
"file",
"skills",
"skill",
"priorities",
"priority",
"webhooks",
"webhook",
"insights",
"insight",
"solutions",
"solution",
"connections",
"connection",
"toolProvider",
"toolProviders",
"tool-provider",
"tool-providers",
"organizations",
"organization"
],
"description": "Resource type to fetch (project, screen, design-system, status, workspace, context, file, skill, priority, webhook, insight, solution, connection, organization)."
},
"id": {
"type": "string",
"description": "ID of the resource to fetch. Required for every resource except 'status', where id must be omitted."
},
"workspace": {
"type": "string",
"description": "Workspace ID override. Required for workspace-scoped resources when no default workspace is configured."
},
"project": {
"type": "string",
"description": "Stitch Canvas project ID (required for project-scoped resources)."
}
},
"required": [
"resource"
]
}
CLI equivalent
stitch get --schema
stitch_url
Returns the canonical Stitch Canvas web URL for a project or screen with zero network I/O. Mirrors stitch url <resource> <id>. Use when the user asks for a link (‘open in Stitch’, ‘get canvas URL’, ‘link to screen’) instead of guessing stitch.google.com URLs. Returns { resource, id, url, verified: false }.
Annotations
readOnly
Parameters
| Field | Type | Required | Description |
|---|---|---|---|
resource | string | true | Stitch Canvas resource type to construct a URL for (project or screen). Allowed values: project, screen. |
id | string | true | ID of the project or screen (accepts a bare ID or a full resource name like ‘projects/<p>/screens/<s>’). |
project | string | false | Project ID that owns the screen (required when resource=‘screen’ and ‘id’ is not a full ‘projects/<p>/screens/<s>’ resource name). |
Input schema
{
"type": "object",
"properties": {
"resource": {
"type": "string",
"enum": [
"project",
"screen"
],
"description": "Stitch Canvas resource type to construct a URL for (project or screen)."
},
"id": {
"type": "string",
"description": "ID of the project or screen (accepts a bare ID or a full resource name like 'projects/<p>/screens/<s>')."
},
"project": {
"type": "string",
"description": "Project ID that owns the screen (required when resource='screen' and 'id' is not a full 'projects/<p>/screens/<s>' resource name)."
}
},
"required": [
"resource",
"id"
]
}
CLI equivalent
stitch url --schema
Original: https://stitch.withgoogle.com/docs/cli/reference/mcp-tools/
Translated from the official Google Stitch documentation. Original content © Google LLC. This is an independent, unofficial translation.