Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Biomni MCP connector

OAuth 2.1AnalyticsSearch

Connect to Biomni MCP by phylo.bio, an AI biomedical research assistant. Analyze life-sciences data, interpret genomic variants, query curated databases...

Biomni MCP 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. 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 = 'biomnimcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Biomni MCP:', 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: 'biomnimcp_list_projects',
    toolInput: {},
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Create project — Create a new Biomni project in the caller’s current workspace
  • List projects, result files, tasks — List the caller’s projects in the active workspace
  • Send message — Send a user message to an existing Biomni task and trigger AI agent execution
  • Task start new — Auto-create a Biomni task in a project and send the first message in a single call, triggering AI agent execution
  • Workspace switch — Switch the caller’s active workspace so that subsequent calls (list_projects, create_project, task operations) act in the new workspace
  • File upload — Upload a small text file (VCF, CSV, TSV, JSON, or code) to a project’s drive by passing its content inline as a UTF-8 string

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.

biomnimcp_create_project#Create a new Biomni project in the caller's current workspace. A project is a persistent container with its own file drive where tasks and uploaded files live. Only create a project when the user explicitly asks for a new one; call list_projects first to check if a suitable one already exists.3 params

Create a new Biomni project in the caller's current workspace. A project is a persistent container with its own file drive where tasks and uploaded files live. Only create a project when the user explicitly asks for a new one; call list_projects first to check if a suitable one already exists.

NameTypeRequiredDescription
namestringrequiredHuman-readable project name. Required.
descriptionstringoptionalOptional free-text description of the project.
metadatastringoptionalOptional arbitrary key-value pairs stored alongside the project for your own use (e.g. external system IDs).
biomnimcp_list_projects#List the caller's projects in the active workspace. Always call this before asking the user to pick a project, rather than asking them to type a project ID from memory. Optionally includes per-project task activity counts.2 params

List the caller's projects in the active workspace. Always call this before asking the user to pick a project, rather than asking them to type a project ID from memory. Optionally includes per-project task activity counts.

NameTypeRequiredDescription
include_activitybooleanoptionalIf true, fetch per-project task counts in parallel and add running_tasks_count and total_tasks_count fields. Costs N extra list_tasks calls (one per project), so defaults to false. Use when the user explicitly asks about activity or in-flight work.
limitintegeroptionalMaximum number of projects to return. Defaults to 50.
biomnimcp_list_result_files#List the names and metadata of output files produced by an agent task. Returns file name, size, and MIME type for each result file, but does not provide direct download links — direct the user to the Biomni web app to download files.1 param

List the names and metadata of output files produced by an agent task. Returns file name, size, and MIME type for each result file, but does not provide direct download links — direct the user to the Biomni web app to download files.

NameTypeRequiredDescription
task_idstringrequiredThe task (session) whose output files to list. Obtain this from start_new_task or send_message. Values look like sess_… — treat them as opaque IDs.
biomnimcp_list_tasks#List tasks in a project. Returns the tasks belonging to the specified project, up to an optional limit. Use this to discover existing tasks before continuing or reviewing work.2 params

List tasks in a project. Returns the tasks belonging to the specified project, up to an optional limit. Use this to discover existing tasks before continuing or reviewing work.

NameTypeRequiredDescription
project_idstringrequiredThe project to list tasks from. Required. Values look like opaque IDs — use list_projects to find the right project_id.
limitintegeroptionalMaximum number of tasks to return. Defaults to 20.
biomnimcp_list_workspaces#List the workspaces (orgs) the caller belongs to and show which one is currently active. Use this when the user cannot find a project — it may be in another workspace. Returns a list of {id, name, type, is_active} entries plus active_workspace_id.0 params

List the workspaces (orgs) the caller belongs to and show which one is currently active. Use this when the user cannot find a project — it may be in another workspace. Returns a list of {id, name, type, is_active} entries plus active_workspace_id.

biomnimcp_send_message#Send a user message to an existing Biomni task and trigger AI agent execution. Optionally attach uploaded files and control tool/thinking visibility per message. To stream the agent's output, call wait_for_next_update a few times after this returns.7 params

Send a user message to an existing Biomni task and trigger AI agent execution. Optionally attach uploaded files and control tool/thinking visibility per message. To stream the agent's output, call wait_for_next_update a few times after this returns.

NameTypeRequiredDescription
messagestringrequiredUser message text to send to the agent.
task_idstringrequiredTarget task id — get one from start_new_task. Values look like sess_…; treat them as opaque ids.
backgroundbooleanoptionalIf true, return immediately with a pending message and stream with wait_for_next_update. If false, wait until completion and return the final message.
file_idsstringoptionalOptional list of input file ids to attach to this message. Pass file_id values returned by upload_file.
project_idstringoptionalOptional project id — used to build the returned biomni_url deep link if the adapter response doesn't already carry one. Omit if you don't need a clickable link; the API call itself does not need it.
thinking_visibilitystringoptionalPer-message override of the task's thinking visibility setting. Accepted values: 'none', 'summary', 'full'. Omit to use the task's current setting.
tool_visibilitystringoptionalPer-message override of the task's tool visibility setting. Accepted values: 'none', 'names_only', 'full'. Omit to use the task's current setting.
biomnimcp_start_new_task#Auto-create a Biomni task in a project and send the first message in a single call, triggering AI agent execution. Returns both a task_id (for follow-up send_message / wait_for_next_update calls) and a message_id for the agent's first reply. If files were uploaded with upload_file, their file_ids must be passed here explicitly — they are not auto-attached.7 params

Auto-create a Biomni task in a project and send the first message in a single call, triggering AI agent execution. Returns both a task_id (for follow-up send_message / wait_for_next_update calls) and a message_id for the agent's first reply. If files were uploaded with upload_file, their file_ids must be passed here explicitly — they are not auto-attached.

NameTypeRequiredDescription
messagestringrequiredUser message text to send as the first message of the new task.
project_idstringrequiredThe project to start the conversation in. Required.
backgroundbooleanoptionalIf true, return immediately with a pending message and stream with wait_for_next_update. If false, wait until completion and return the final message.
file_idsstringoptionalOptional list of input file ids to attach. Pass the file_id values returned by upload_file here so the agent can see those files — they are not attached automatically.
plan_modebooleanoptionalIf true, the agent enters plan-mode and produces a PLAN.md, blocking on user approval (PlanReview) before executing. Set to true only when the user has explicitly asked to review the plan first.
thinking_visibilitystringoptionalTask-level thinking visibility setting. Accepted values: 'none', 'summary', 'full'. Omit to use the project default.
tool_visibilitystringoptionalTask-level tool visibility setting. Accepted values: 'none', 'names_only', 'full'. Omit to use the project default.
biomnimcp_switch_workspace#Switch the caller's active workspace so that subsequent calls (list_projects, create_project, task operations) act in the new workspace. Get workspace ids from list_workspaces. Note: switching only takes effect on OAuth-connected sessions; static API-key connections are bound to a single workspace and cannot switch.1 param

Switch the caller's active workspace so that subsequent calls (list_projects, create_project, task operations) act in the new workspace. Get workspace ids from list_workspaces. Note: switching only takes effect on OAuth-connected sessions; static API-key connections are bound to a single workspace and cannot switch.

NameTypeRequiredDescription
workspace_idstringrequiredThe workspace (org) id to switch to — obtain from list_workspaces.
biomnimcp_upload_file#Upload a small text file (VCF, CSV, TSV, JSON, or code) to a project's drive by passing its content inline as a UTF-8 string. Returns a file_id that can be passed to start_new_task or send_message so the agent treats the file as explicit input. Hard cap of 25 MB on inline content.5 params

Upload a small text file (VCF, CSV, TSV, JSON, or code) to a project's drive by passing its content inline as a UTF-8 string. Returns a file_id that can be passed to start_new_task or send_message so the agent treats the file as explicit input. Hard cap of 25 MB on inline content.

NameTypeRequiredDescription
contentstringrequiredFile content as a UTF-8 string. Multi-line is fine. Hard cap of 25 MB.
filenamestringrequiredName the file will appear under in the project drive (e.g. variants.vcf).
project_idstringrequiredTarget project id — use list_projects to find it.
mime_typestringoptionalOptional MIME type for the file. Common values: text/csv, application/json, text/tab-separated-values, application/x-vcard (for VCF). Defaults to text/plain.
purposestringoptionalFile purpose: 'input' (default) or 'output'.
biomnimcp_wait_for_next_update#Long-poll for the next batch of progress on the agent's current reply, returning only newly-added content blocks since the last call. Call at most ~3 times per turn to stream incremental output; if the task is still running after that, point the user to the Biomni web URL rather than polling indefinitely.3 params

Long-poll for the next batch of progress on the agent's current reply, returning only newly-added content blocks since the last call. Call at most ~3 times per turn to stream incremental output; if the task is still running after that, point the user to the Biomni web URL rather than polling indefinitely.

NameTypeRequiredDescription
task_idstringrequiredThe task_id (conversation handle) returned by start_new_task or send_message. The server resolves it to the latest assistant reply automatically.
max_wait_secondsintegeroptionalHow long the server should hold the connection open waiting for new blocks. Defaults to 15. Clamped to [0, 30] by the server.
since_block_indexintegeroptionalIndex of the first content block to return. Pass 0 on the first call; on subsequent calls pass res["cursor"] from the previous response to receive only newly-added blocks.