Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Synthesize Bio MCP connector

OAuth 2.1/DCR AIAnalyticsSearch

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.

Name Type Required Description
resolution_id string required The 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.

Name Type Required Description
job_id string required The 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.

Name Type Required Description
job_id string required The 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.

Name Type Required Description
modality string optional Sequencing modality. Defaults to "bulk".
prompt string optional Natural 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_id string optional Resolution identifier from a previous response with status 'resolving'. When provided, polls that in-flight resolution and `prompt` may be omitted.