Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Latch Bio MCP server

Vendor MCP
Open markdown

The Latch Bio MCP connector routes your AI agent's tool calls to Latch Bio's own MCP server through Scalekit. Each user signs in to Latch Bio once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 9 tools.

Tools
9
What they doRead · write · destructive
8 · 1 · 08 read1 write0 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Latch Bio MCP connection

    In AgentKit > Connections, create a Latch Bio MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Latch Bio MCP server, so you don't need to register an OAuth app.

  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'latchbiomcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Latch Bio MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'latchbiomcp_list_executions',
    toolInput: { rationale: 'YOUR_RATIONALE' },
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • latchbiomcp_get_executionFetch the status, task nodes, and results for a workflow execution.Read-only

    Get Execution

    Fetch the status, task nodes, and results for a workflow execution. If a workflow errors, use get_task_logs to retrieve logs for failed tasks. Supports paginating through execution nodes and map-task shards.

    Inputs

    execution_idintegerrequired
    Latch execution id returned by launch_workflow.
    rationalestringrequired
    Always provide a brief explanation of why you are calling this tool
    execution_node_cursorstring
    Opaque cursor from execution_nodes.next_cursor.
    execution_node_limitinteger
    Max execution nodes to return, from 1 to 500. Default 100.default 100
    map_task_cursorstring
    Opaque cursor from a previous map-task page. Requires map_task_execution_node_id.
    map_task_execution_node_idstring
    Optional execution node id whose map-task shard list should be paginated with map_task_cursor.
    map_task_limitinteger
    Max map-task shards to return per map execution node, from 1 to 500. Default 100.default 100
    result_cursorstring
    Opaque pagination cursor from a previous results.next_cursor.
    result_limitinteger
    Max result files to return, from 1 to 100. Default 25.default 25
  • latchbiomcp_get_fileReturn access information for a file stored in Latch Data.Read-only

    Get File

    Return access information for a file stored in Latch Data. Returns either a Latch Console link or a presigned download URL depending on the access mode.

    Inputs

    pathstringrequired
    Latch Data URL, for example `latch://3800.account/results/output.csv`.
    rationalestringrequired
    Always provide a brief explanation of why you are calling this tool
    accessstring
    `console` returns a Console link. `download` returns a presigned file download URL.one of consoledownloaddefault console
  • latchbiomcp_get_task_logsFetch or share logs for a workflow task execution.Read-only

    Get Task Logs

    Fetch or share logs for a workflow task execution. Returns bounded inline log lines by default, or a presigned download URL for full logs when mode is download_url.

    Inputs

    execution_idintegerrequired
    Latch execution id.
    rationalestringrequired
    Always provide a brief explanation of why you are calling this tool
    array_attemptstring
    Optional array task retry attempt.
    array_indexstring
    Optional array task index.
    modestring
    `inline` returns bounded log lines. `download_url` returns a presigned URL for downloading the full task log when available.one of inlinedownload_urldefault inline
    task_attemptstring
    Optional task retry attempt.
    task_idstring
    Optional workflow task/node id. Required for mode='download_url' and usually available for standard tasks.
    task_run_idstring
    Optional process-style task run id.
  • latchbiomcp_get_workflow_schemaFetch the launch metadata and parameter schema for a workflow.Read-only

    Get Workflow Schema

    Fetch the launch metadata and parameter schema for a workflow. Use this before launching a workflow to understand what parameters are required and their types.

    Inputs

    rationalestringrequired
    Always provide a brief explanation of why you are calling this tool
    workflow_idintegerrequired
    Latch workflow id.
  • latchbiomcp_list_executionsList workflow executions in a Latch workspace.Read-only

    List Executions

    List workflow executions in a Latch workspace. Supports filtering by workflow IDs, execution status, and name. Use get_execution for full details on a specific execution.

    Inputs

    rationalestringrequired
    Always provide a brief explanation of why you are calling this tool
    limitinteger
    Max executions to return, from 1 to 100. Default 25.default 25
    name_filterstring
    Optional display-name substring filter.
    offsetinteger
    Row offset for pagination. Default 0.default 0
    statusesstring
    Optional execution statuses to restrict results to.
    workflow_idsstring
    Optional workflow ids to restrict results to.
    workspace_idstring
    Optional workspace/account id whose executions should be listed. Defaults to the user's default workspace. Leave null unless the user asks to use a specific workspace.
  • latchbiomcp_list_filesList the immediate contents of a directory in Latch Data (ldata).Read-only

    List Files

    List the immediate contents of a directory in Latch Data (ldata). Returns children only — does not recurse. Hidden and removed nodes are filtered out, matching what users see in the Latch console. Supports cursor-based pagination.

    Inputs

    pathstringrequired
    Latch Data URL, for example `latch://3800.account/dir1/foo`.
    rationalestringrequired
    Always provide a brief explanation of why you are calling this tool
    cursorstring
    Opaque pagination cursor from a previous response's `next_cursor`.
    limitinteger
    Max entries to return per call (1-1000). Default 100.default 100
  • latchbiomcp_list_workflowsDiscover available bioinformatics workflows on Latch.Read-only

    List Workflows

    Discover available bioinformatics workflows on Latch. Lists workspace-specific workflows first, followed by public workflows. Supports text search and cursor-based pagination.

    Inputs

    rationalestringrequired
    Always provide a brief explanation of why you are calling this tool
    cursorstring
    Opaque pagination cursor from a previous response's `next_cursor`.
    limitinteger
    Max workflows to return, from 1 to 100. Default 25.default 25
    search_termstring
    Optional case-insensitive display-name substring filter.
    workspace_idstring
    Optional workspace/account id. Defaults to the user's default workspace when omitted. Leave null unless the user asks to use a specific workspace.
  • latchbiomcp_list_workspacesLists Latch workspaces the current user can access.Read-only

    List Workspaces

    Lists Latch workspaces the current user can access. Returns the default workspace ID and a list of all accessible workspaces with their IDs and display names. If default_workspace_id is null, the user has not finished account setup.

    Inputs

    rationalestringrequired
    Always provide a brief explanation of why you are calling this tool