All connectors
Synthesize Bio MCP
5 tools · Model Context Protocol · Analytics · Artificial Intelligence · AI Agents
Synthesize Bio MCP lets agents start and monitor bulk or single-cell gene-expression analyses from natural-language experiment requests.
Connect Synthesize Bio MCP
- Open Slashspace and go to Settings, then Connectors.
- On Discover, search for Synthesize Bio MCP and click Connect.
- Sign in to Synthesize Bio MCP in your browser. Slashspace updates when the account is connected.
- Then ask for what you need in any Agent mode chat. Synthesize Bio MCP is on in every chat unless you switch it off.
What your chats can do
5 tools from Synthesize Bio MCP.
- Analyze gene expressionStarts a differential gene expression analysis using Synthesize Bio's AI platform. Requires the resolution_id returned by resolve_sample_metadata; raw natural-language prompts are not accepted. Requires `user_confirmed_metadata: true`. When the flag is missing or false, the call is rejected with failure_kind `user_confirmation_required`. Optional workspace_id selects which workspace owns the generated dataset. When omitted, the workspace from resolve_sample_metadata is used automatically. When the account has more than one workspace and the resolution has no workspace, the call is rejected with failure_kind `workspace_selection_required` and a `workspaces` list of `{ name, workspace_id }`. Returns a job_id immediately; get_analysis_results accepts that job_id and returns analysis status or results. The pipeline runs two steps: (1) GEM-1 — Synthesize Bio's Gene Expression Model inference; (2) Differential expression — GPU-accelerated DESeq2 (negative-binomial GLM with Wald test, Cook's outlier filter, and Benjamini-Hochberg padj). All genes are tested; pre-filtering is handled by DESeq2's independent filtering. If the query is unsupported, later polling responses include failure_kind `unsupported_query` and suggested_queries. Quota and monthly-limit errors include a request-higher-limits URL; a previous successful resolve does not grant an extra run when the account is out of budget.
- Get analysis resultsPolls the status of a gene expression analysis. Each call waits server-side for a short bounded window and may return earlier if progress is detected. Responses always include a `structuredContent` object (declared by the tool's `outputSchema`); MCP clients read from `structuredContent` directly rather than re-parsing JSON out of the human-readable text. `structuredContent` always has `status` (one of `running`, `complete`, `failed`), `job_id`, and `steps_completed`. While running, it also has `step` (`gem_model` or `diff_expr`), `message`, and `progress_label`/`progress_percent`/`progress_bar`. Failed responses include `error`, and may also include `failure_kind`, `user_action_required`, and `suggested_queries`. When `status` is `complete`, `structuredContent` carries: `metadata` (prompt, modality, groups, plus summary counts such as `significant_genes`, `significant_up`, `significant_down`, `total_genes_tested`); `results` — up to 1000 differential expression rows (each with `gene_id`, `gene_symbol`, `log2FoldChange`, `pvalue`, `padj`, `neg_log10_padj` (pre-computed `-log10(padj)`, clamped to 300 if padj underflows), `direction`, `significant`) suitable for downstream analysis or visualization (e.g. a volcano plot with x = `log2FoldChange`, y = `neg_log10_padj`); `plot_results` — the top ~200 most significant rows (same per-row shape, pre-sorted most-significant-first), pre-sliced for charting; the full `results` array is better suited to tables, summaries, and analysis; `results_returned` and `results_total` for truncation accounting; `plot_results_returned` for the plotted subset size; `dataset_link` — `{ dataset_id, title, url }` for the Synthesize Bio platform dataset (or `null`). The accompanying `content[0].text` is a human-readable Markdown summary of the same data. For hosts that do not surface `structuredContent` (e.g. claude.ai), it inlines only the top ~200 most significant rows as an array of objects under a top-level `results` key — same per-row schema as `structuredContent.results`, including the pre-computed `neg_log10_padj` field — so chart-widget code can use those rows directly. The full result set remains available via `structuredContent.results` and the dataset link when present.
