Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Latch Bio connector

OAuth 2.1/DCR AIDeveloper Tools

Latch Bio is a cloud bioinformatics platform for running computational biology workflows. Its MCP server lets AI agents list and retrieve files, manage...

Latch Bio connector

  1. Terminal window
    npm install @scalekit-sdk/node

    Full SDK reference: Node.js | Python

  2. 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. Register your Latch Bio credentials with Scalekit so it handles the token lifecycle. You do this once per environment.

    Dashboard setup steps

    Register your Firecrawl API key with Scalekit so it can authenticate and proxy scraping requests on behalf of your users. Latch Bio uses API key authentication — there is no redirect URI or OAuth flow.

    1. Get a Firecrawl API key

      • Go to firecrawl.dev and sign in or create a free account.
      • Your API key is shown on the Overview page under API Key. Copy it — it starts with fc-.
    2. Create a connection in Scalekit

      • In the Scalekit dashboard, go to AgentKitConnectionsCreate Connection.
      • Search for Latch Bio and click Create.
      • Note the Connection name — use this as connection_name in your code (e.g., latchbiomcp).
    3. Add a connected account

      Connected accounts link a specific user identifier in your system to a Firecrawl API key. Add them via the dashboard for testing, or via the Scalekit API in production.

      Via dashboard (for testing)

      • Open the connection and click the Connected Accounts tab → Add account.
      • Fill in Your User’s ID and API Key, then click Save.

      Via API (for production)

      await scalekit.actions.upsertConnectedAccount({
      connectionName: 'latchbiomcp',
      identifier: 'user_123',
      credentials: { token: 'fc-...' },
      });
  4. quickstart.ts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENV_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:', link)
    process.stdout.write('Press Enter after authorizing...')
    await new Promise(r => process.stdin.once('data', r))
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'latchbiomcp_list_executions',
    toolInput: { rationale: 'YOUR_RATIONALE' },
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Get execution, file, task logs — Fetch the status, task nodes, and results for a workflow execution
  • Workflow launch — Launch a bioinformatics workflow on Latch
  • List executions, files, workflows — List workflow executions in a Latch workspace

Scrape a page

Use latchbiomcp_firecrawl_scrape to extract clean markdown content from any URL.

const result = await actions.executeTool({
connectionName: 'latchbiomcp',
identifier: 'user_123',
toolName: 'latchbiomcp_firecrawl_scrape',
toolInput: {
url: 'https://docs.example.com/getting-started',
onlyMainContent: true,
},
});
console.log(result.data);

Search the web

Use latchbiomcp_firecrawl_search to run a live web search and get scraped content from the top results.

const result = await actions.executeTool({
connectionName: 'latchbiomcp',
identifier: 'user_123',
toolName: 'latchbiomcp_firecrawl_search',
toolInput: {
query: 'best practices for API rate limiting 2026',
limit: 5,
},
});
console.log(result.data);

Extract structured data from a URL

Use latchbiomcp_firecrawl_extract with a natural-language prompt and optional JSON Schema to pull structured data from one or more pages.

const result = await actions.executeTool({
connectionName: 'latchbiomcp',
identifier: 'user_123',
toolName: 'latchbiomcp_firecrawl_extract',
toolInput: {
urls: ['https://example.com/pricing'],
prompt: 'Extract all pricing plan names and their monthly costs.',
},
});
console.log(result.data);

Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.

latchbiomcp_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. 9 params

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.

Name Type Required Description
execution_id integer required Latch execution id returned by launch_workflow.
rationale string required Always provide a brief explanation of why you are calling this tool
execution_node_cursor string optional Opaque cursor from execution_nodes.next_cursor.
execution_node_limit integer optional Max execution nodes to return, from 1 to 500. Default 100.
map_task_cursor string optional Opaque cursor from a previous map-task page. Requires map_task_execution_node_id.
map_task_execution_node_id string optional Optional execution node id whose map-task shard list should be paginated with map_task_cursor.
map_task_limit integer optional Max map-task shards to return per map execution node, from 1 to 500. Default 100.
result_cursor string optional Opaque pagination cursor from a previous results.next_cursor.
result_limit integer optional Max result files to return, from 1 to 100. Default 25.
latchbiomcp_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. 3 params

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.

Name Type Required Description
path string required Latch Data URL, for example `latch://3800.account/results/output.csv`.
rationale string required Always provide a brief explanation of why you are calling this tool
access string optional `console` returns a Console link. `download` returns a presigned file download URL.
latchbiomcp_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. 8 params

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.

Name Type Required Description
execution_id integer required Latch execution id.
rationale string required Always provide a brief explanation of why you are calling this tool
array_attempt string optional Optional array task retry attempt.
array_index string optional Optional array task index.
mode string optional `inline` returns bounded log lines. `download_url` returns a presigned URL for downloading the full task log when available.
task_attempt string optional Optional task retry attempt.
task_id string optional Optional workflow task/node id. Required for mode='download_url' and usually available for standard tasks.
task_run_id string optional Optional process-style task run id.
latchbiomcp_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. 2 params

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.

Name Type Required Description
rationale string required Always provide a brief explanation of why you are calling this tool
workflow_id integer required Latch workflow id.
latchbiomcp_launch_workflow # Launch a bioinformatics workflow on Latch. Use get_workflow_schema first to discover required parameters. Returns an execution ID for monitoring progress with list_executions and get_execution. 6 params

Launch a bioinformatics workflow on Latch. Use get_workflow_schema first to discover required parameters. Returns an execution ID for monitoring progress with list_executions and get_execution.

Name Type Required Description
parameters object required Parameter values matching the workflow schema from get_workflow_schema.
rationale string required Always provide a brief explanation of why you are calling this tool
workflow_id integer required Workflow id to launch.
region string optional AWS region for workflow runtime placement. Options: us-west-2, us-east-1, eu-central-1, eu-west-1.
src_execution_id string optional Optional previous execution id to relaunch from. Use only when intentionally reusing the previous execution's runtime storage/intermediate state. Omit for a normal fresh run.
workspace_id string optional Optional workspace/account id that should own the execution. Defaults to the user's default workspace. Leave null unless the user asks to use a specific workspace.
latchbiomcp_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. 7 params

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.

Name Type Required Description
rationale string required Always provide a brief explanation of why you are calling this tool
limit integer optional Max executions to return, from 1 to 100. Default 25.
name_filter string optional Optional display-name substring filter.
offset integer optional Row offset for pagination. Default 0.
statuses string optional Optional execution statuses to restrict results to.
workflow_ids string optional Optional workflow ids to restrict results to.
workspace_id string optional 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_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. 4 params

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.

Name Type Required Description
path string required Latch Data URL, for example `latch://3800.account/dir1/foo`.
rationale string required Always provide a brief explanation of why you are calling this tool
cursor string optional Opaque pagination cursor from a previous response's `next_cursor`.
limit integer optional Max entries to return per call (1-1000). Default 100.
latchbiomcp_list_workflows # Discover available bioinformatics workflows on Latch. Lists workspace-specific workflows first, followed by public workflows. Supports text search and cursor-based pagination. 5 params

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

Name Type Required Description
rationale string required Always provide a brief explanation of why you are calling this tool
cursor string optional Opaque pagination cursor from a previous response's `next_cursor`.
limit integer optional Max workflows to return, from 1 to 100. Default 25.
search_term string optional Optional case-insensitive display-name substring filter.
workspace_id string optional 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_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. 1 param

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.

Name Type Required Description
rationale string required Always provide a brief explanation of why you are calling this tool