A shared AI coding-agent environment for the Imperial College London Neurogenomics lab, with integrated access to Labstep (lab notebook), OneDrive/SharePoint (shared data files), and local data analysis tools.
Compatible with any agent that supports the Agent Skills standard — Claude Code, OpenCode, GitHub Copilot, and others.
Tool layer lives in
neurogenomics/lab-mcp. This repo holds the agent layer — skills, APM config, OpenClaw workspace. The underlying clients and MCP servers (Labstep today, SharePoint / Slack / HPC later) live inlab-mcpand are consumed here viapip install lab-mcp.
- An AI coding agent CLI (e.g. Claude Code, OpenCode, GitHub Copilot)
- APM installed
- Labstep API key
- Install with APM:
apm install neurogenomics/lab-agents/lab-skills apm compile --target all
- Add your Labstep API key to
.env:LABSTEP_API_KEY=your_key_here
- Install the shared Labstep client:
This puts four commands on your PATH:
uv tool install "lab-mcp @ git+https://github.com/neurogenomics/lab-mcp.git"labstep,labstep-preflight,labstep-mirror,labstep-mcp. - Verify credentials:
You should see
labstep-preflight
"stage": "ready". - Launch your agent from the repo directory and ask what skills are available.
The lab-mcp package provides one canonical client for all Labstep access. Three interfaces, one codebase.
labstep experiments # list ALL (auto-paginates)
labstep experiments --search "lysis buffer"
labstep experiments -n 5 # cap results
labstep experiment SK592 # detail by SK number
labstep reagents SK592 # inventory fields
labstep protocols --search "buffer prep"
labstep resources --search "antibody"
labstep --json experiments # machine-readable outputclaude mcp add labstep labstep-mcpOr in an MCP JSON config (Claude Desktop, OpenCode, etc.):
{ "mcpServers": { "labstep": { "command": "labstep-mcp" } } }from lab_mcp.labstep import LabstepClient
client = LabstepClient()
rows = client.list_experiments(search_query="lysis", count=None) # all pages
detail = client.find_experiment_by_sk("SK592")
client.add_experiment_comment(detail["id"], "Reviewed 2026-04-24")Resolved in order:
LABSTEP_API_KEYenvironment variable~/.config/lab-mcp/credentials.json—{"api_key": "lsp_..."}~/Projects/lab-agents/.env(legacy fallback)
Query experiments, protocols, inventory, and other entities from the Labstep electronic lab notebook (read-only).
> Show me the last 10 experiments
> What protocols are linked to SK543?
> Search for experiments mentioning "lysis buffer"
> List all resources tagged "antibody"
Summarise key findings and researcher thoughts from Labstep experiments.
> Summarise findings from all experiments in January 2026
> What were the key results from the IVT optimisation experiments?
> Give me a research summary across all lysis buffer experiments
> Export experiment summaries to Excel
Read and extract RNA quantification data (Qubit, TapeStation, qPCR) from experiment folders on OneDrive.
> What are the Qubit concentrations for SK443?
> Show me the TapeStation results for SK134
> Compare RNA Qubit yields between SK443 and SK447
> Compare HiScribe vs RiboMax RNA yields across all IVT experiments
> Are there any TapeStation warnings or alerts in SK172?
> What are the TapeStation peak sizes for each sample in SK297?
Read-only access to lab data files from synced OneDrive (SharePoint) folders. Auto-discovers all shared libraries, or set DATA_DIR to your data folder.
> List all experiment folders in the scRNA-seq library
> Find the experiment folder for SK457
> What files are in the SK443 folder?
> Show me the Metadata.xlsx for SK297
Generate a filled-in Experiment Summary .docx from Labstep metadata and OneDrive QC data. User-invocable via /experiment-summary.
> /experiment-summary SK443
> Write up an experiment summary for SK297
> Generate the experiment summary for "IVT kit comparison"
Generate and modify PowerPoint presentations from data or text.
> Create a slide deck summarising the IVT optimisation results
> Add a slide with the Qubit bar chart to my presentation
> Read the contents of results_deck.pptx