Skill Tracer
Skills › Scientific Agent Skills › latchbio-integration › latch-mcp.md

latch-mcp.md

161 lines · skills/latchbio-integration/references/latch-mcp.md at 5f2bc03

Open on GitHub

Most marks come from matching words in the file, so treat them as pointers.

1# Latch MCP
2
3Latch provides a remote Model Context Protocol server:
4
5```text
6https://mcp.latch.bio/mcp
7```
8
9It lets compatible AI clients discover workflows and interact with Latch Data
10and executions through an OAuth-authorized tool surface.

Latch MCP

Latch provides a remote Model Context Protocol server:

https://mcp.latch.bio/mcp

It lets compatible AI clients discover workflows and interact with Latch Data and executions through an OAuth-authorized tool surface.

Raw lines 1 to 11
Uses an outside tool MCP :1
12## Authentication Boundary
14- A Latch account is required.
15- MCP uses OAuth in the connected AI client.
16- MCP authorization does not authenticate the Latch SDK, CLI, or Console.
17- SDK login credentials do not replace MCP authorization.
18- Actions launched through MCP incur the same normal Latch charges as the
19 corresponding Console or SDK action.
21Never copy OAuth tokens between these authentication domains.

Authentication Boundary

  • A Latch account is required.
  • MCP uses OAuth in the connected AI client.
  • MCP authorization does not authenticate the Latch SDK, CLI, or Console.
  • SDK login credentials do not replace MCP authorization.
  • Actions launched through MCP incur the same normal Latch charges as the corresponding Console or SDK action.

Never copy OAuth tokens between these authentication domains.

Raw lines 12 to 22
Uses an outside tool MCP :15
25### Cursor
27Add:
29```json
31 "mcpServers": {
32 "LatchBio": {
33 "url": "https://mcp.latch.bio/mcp"
34 }
35 }
37```
39Then open **Cursor Settings → Tools & MCP(s)**, select LatchBio, click
40**Connect**, and complete OAuth.

Cursor

Add:

{
  "mcpServers": {
    "LatchBio": {
      "url": "https://mcp.latch.bio/mcp"
    }
  }
}

Then open Cursor Settings → Tools & MCP(s), select LatchBio, click Connect, and complete OAuth.

Raw lines 25 to 41
Uses an outside tool MCP :39
42### Claude Code
44```bash
45claude mcp add --transport http latchbio https://mcp.latch.bio/mcp
46```
48Run `/mcp` and complete OAuth.

Claude Code

claude mcp add --transport http latchbio https://mcp.latch.bio/mcp

Run /mcp and complete OAuth.

Raw lines 42 to 49
50### Codex
52```bash
53codex mcp add latchbio --url https://mcp.latch.bio/mcp
54codex mcp login latchbio
55```
57For another MCP client, configure the same remote HTTP URL and follow that
58client's OAuth flow.

Codex

codex mcp add latchbio --url https://mcp.latch.bio/mcp
codex mcp login latchbio

For another MCP client, configure the same remote HTTP URL and follow that client's OAuth flow.

Raw lines 50 to 59
Uses an outside tool MCP :57
60## Documented Tools
62The current guide lists:
64| Tool | Purpose |
65|---|---|
66| `list_files` | List immediate children of a Latch Data directory |
67| `get_file` | Return a Console link or presigned download URL for a file |
68| `list_workspaces` | List accessible workspaces and the default |
69| `list_workflows` | Discover workspace and public workflows |
70| `get_workflow_schema` | Retrieve launch metadata and parameter schema |
71| `launch_workflow` | Launch with schema-compatible values |
72| `list_executions` | Filter executions by workspace, workflow, name, or status |
73| `get_execution` | Get status, task nodes, result files, and Console URL |
74| `get_task_logs` | Get inline logs or a signed URL for complete logs |
76Tool names and schemas can evolve. Discover the connected server's current
77tools before calling them.

Documented Tools

The current guide lists:

ToolPurpose
list_filesList immediate children of a Latch Data directory
get_fileReturn a Console link or presigned download URL for a file
list_workspacesList accessible workspaces and the default
list_workflowsDiscover workspace and public workflows
get_workflow_schemaRetrieve launch metadata and parameter schema
launch_workflowLaunch with schema-compatible values
list_executionsFilter executions by workspace, workflow, name, or status
get_executionGet status, task nodes, result files, and Console URL
get_task_logsGet inline logs or a signed URL for complete logs

Tool names and schemas can evolve. Discover the connected server's current tools before calling them.

Raw lines 60 to 78
79## Safe Launch Workflow
811. **Select a workspace**
82 - Call `list_workspaces`.
83 - Prefer the default only when it is clearly the intended target.
852. **Discover rather than guess**
86 - Call `list_workflows`.
87 - Identify the exact workflow and version.
893. **Fetch the schema**
90 - Call `get_workflow_schema`.
91 - Use returned types, required values, enums, defaults, and path rules.
934. **Resolve data**
94 - Use `list_files` only for the minimum directories needed.
95 - It lists metadata, not file contents.
96 - Use `get_file` for a selected file's access link. Prefer its Console link
97 for sharing; treat a presigned download URL as a temporary credential.
98 - Do not browse unrelated or sensitive directories.
1005. **Prepare a launch summary**
101 - Workspace
102 - Workflow and version
103 - Input paths and parameters
104 - Output destination
105 - Expected resource/cost implications
1076. **Confirm**
108 - Obtain user approval before launching paid compute.
109 - Reconfirm unusually large, GPU, or fan-out workloads.
1117. **Launch**
112 - Call `launch_workflow` once.
113 - Preserve the returned execution identifier and Console URL.
1158. **Monitor**
116 - Poll with `get_execution`.
117 - Use `get_task_logs` only for relevant nodes.
118 - Avoid repeatedly downloading full logs when an inline excerpt is enough.

Safe Launch Workflow

  1. Select a workspace
  2. Call list_workspaces.
  3. Prefer the default only when it is clearly the intended target.
  1. Discover rather than guess
  2. Call list_workflows.
  3. Identify the exact workflow and version.
  1. Fetch the schema
  2. Call get_workflow_schema.
  3. Use returned types, required values, enums, defaults, and path rules.
  1. Resolve data
  2. Use list_files only for the minimum directories needed.
  3. It lists metadata, not file contents.
  4. Use get_file for a selected file's access link. Prefer its Console link for sharing; treat a presigned download URL as a temporary credential.
  5. Do not browse unrelated or sensitive directories.
  1. Prepare a launch summary
  2. Workspace
  3. Workflow and version
  4. Input paths and parameters
  5. Output destination
  6. Expected resource/cost implications
  1. Confirm
  2. Obtain user approval before launching paid compute.
  3. Reconfirm unusually large, GPU, or fan-out workloads.
  1. Launch
  2. Call launch_workflow once.
  3. Preserve the returned execution identifier and Console URL.
  1. Monitor
  2. Poll with get_execution.
  3. Use get_task_logs only for relevant nodes.
  4. Avoid repeatedly downloading full logs when an inline excerpt is enough.
Raw lines 79 to 119
120## Example Agent Plan
122```text
123list_workspaces
124→ choose workspace 12345
125→ list_workflows
126→ choose Bulk RNA-seq version X
127→ get_workflow_schema
128→ validate sample paths and output directory
129→ present launch summary and request confirmation
130→ launch_workflow
131→ get_execution until terminal status
132→ get_task_logs only if a task fails
133```

Example Agent Plan

list_workspaces
→ choose workspace 12345
→ list_workflows
→ choose Bulk RNA-seq version X
→ get_workflow_schema
→ validate sample paths and output directory
→ present launch summary and request confirmation
→ launch_workflow
→ get_execution until terminal status
→ get_task_logs only if a task fails
Raw lines 120 to 134
135## Cost and Data Safety
137- Listing resources is read-only; launching is not.
138- Do not launch during exploratory discovery.
139- Do not expose signed log URLs; they may grant temporary access.
140- Do not paste secrets into workflow parameters.
141- Confirm paths belong to the selected workspace.
142- Avoid broad file listing when exact paths are already known.
143- Stop polling after a terminal state.
144- Scientific validation still requires inspecting outputs and method
145 assumptions after orchestration succeeds.

Cost and Data Safety

  • Listing resources is read-only; launching is not.
  • Do not launch during exploratory discovery.
  • Do not expose signed log URLs; they may grant temporary access.
  • Do not paste secrets into workflow parameters.
  • Confirm paths belong to the selected workspace.
  • Avoid broad file listing when exact paths are already known.
  • Stop polling after a terminal state.
  • Scientific validation still requires inspecting outputs and method assumptions after orchestration succeeds.
Raw lines 135 to 146
147## When MCP Is Unavailable
149Use:
151- Latch Console for interactive discovery and launch
152- `latch_cli.services.launch.launch_v2` for Python automation
153- `latch ls` or `LPath` for data inspection
154- Latch Console for execution monitoring; `latch get-executions` remains in
155 2.77.1 but is deprecated and scheduled for removal
157Do not simulate a missing MCP tool by inventing undocumented HTTP endpoints.

When MCP Is Unavailable

Use:

  • Latch Console for interactive discovery and launch
  • latch_cli.services.launch.launch_v2 for Python automation
  • latch ls or LPath for data inspection
  • Latch Console for execution monitoring; latch get-executions remains in 2.77.1 but is deprecated and scheduled for removal

Do not simulate a missing MCP tool by inventing undocumented HTTP endpoints.

Raw lines 147 to 158
Uses an outside tool MCP :147
159## Official Source
161- Latch MCP guide: https://wiki.latch.bio/agent/latch-mcp

Official Source

  • Latch MCP guide: https://wiki.latch.bio/agent/latch-mcp
Raw lines 159 to 161
Uses an outside tool MCP :161