Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Synthesize Bio MCP connector

OAuth 2.1/DCRAIAnalyticsSearch

Connect to Synthesize Bio MCP. Run differential gene expression analysis, resolve sample metadata, and retrieve results and raw counts data from your AI...

Synthesize Bio 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 = 'synthesizebiomcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Synthesize Bio 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: 'synthesizebiomcp_get_analysis_results',
    toolInput: { job_id: 'YOUR_JOB_ID' },
    })
    console.log(result)

Connect this agent connector to let your agent:

  • Metadata resolve sample — Resolve a natural-language experiment description into structured sample groups using Synthesize Bio’s AI metadata extraction
  • Get counts data url, analysis results — Retrieve a presigned download URL for the raw gene expression counts data produced by a completed analysis job
  • Expression analyze gene — Start a differential gene expression analysis using Synthesize Bio’s AI platform, returning a job ID to track progress

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.

synthesizebiomcp_analyze_gene_expression#Start a differential gene expression analysis using Synthesize Bio's AI platform, returning a job ID to track progress.1 param

Start a differential gene expression analysis using Synthesize Bio's AI platform, returning a job ID to track progress.

NameTypeRequiredDescription
resolution_idstringrequiredThe completed resolution_id returned by resolve_sample_metadata.
synthesizebiomcp_get_analysis_results#Poll the status and results of a running gene expression analysis job.1 param

Poll the status and results of a running gene expression analysis job.

NameTypeRequiredDescription
job_idstringrequiredThe job_id returned by analyze_gene_expression.
synthesizebiomcp_get_counts_data_url#Retrieve a presigned download URL for the raw gene expression counts data produced by a completed analysis job.1 param

Retrieve a presigned download URL for the raw gene expression counts data produced by a completed analysis job.

NameTypeRequiredDescription
job_idstringrequiredThe job_id returned by analyze_gene_expression.
synthesizebiomcp_resolve_sample_metadata#Resolve a natural-language experiment description into structured sample groups using Synthesize Bio's AI metadata extraction.3 params

Resolve a natural-language experiment description into structured sample groups using Synthesize Bio's AI metadata extraction.

NameTypeRequiredDescription
modalitystringoptionalSequencing modality. Defaults to "bulk".
promptstringoptionalNatural language description of the experiment, e.g. "heart vs liver cells" or "KRAS knockout vs control in lung adenocarcinoma". Required unless `resolution_id` is provided to poll a previously-started resolution.
resolution_idstringoptionalResolution identifier from a previous response with status 'resolving'. When provided, polls that in-flight resolution and `prompt` may be omitted.