ESC
Code & AI · 01

Agents & MCP

Claude Code Model Context Protocol servers, sub-agents, hooks, and Claude Agent SDK headless apps. Two projects, each exercising a different slice of the agentic stack — plus a live in-browser MCP tool-call simulator below.

bioscope AutoMorphoTrack MCP Live demo ← All Code & AI
01

bioscope — AI cell-biology research assistant on Claude Code

bioscope is a TypeScript CLI that turns a gene symbol, UniProt accession, or PubMed ID into a structured cell-biology research brief. It is built end-to-end on Claude Code and exercises every extension surface the platform exposes.

  • Custom MCP server exposing 7 tools across 4 public bioinformatics APIs (UniProt, NCBI E-utilities, Ensembl REST, Reactome) with a 24-hour on-disk cache and per-host rate limiting.
  • 4 custom slash commands: /explain-gene, /pathways-for, /lit-review, /summarize-pmid.
  • 2 scoped sub-agents: literature-reviewer, pathway-analyst.
  • Pre / post tool-use hooks for autoformatting and protected-path enforcement.
  • Headless Claude Agent SDK app — same pipeline outside the TUI: bioscope analyze genes.txt.
  • GitHub Actions workflow running claude -p non-interactively to auto-comment on PRs.

Tech. TypeScript · Node · MCP · Claude Code · Claude Agent SDK · Vitest · GitHub Actions.

// bioscope MCP server — tool registration (excerpt) import { Server } from "@modelcontextprotocol/sdk/server/index.js"; import { lookupUniprot, searchPubmed, findPathways } from "./tools"; const server = new Server({ name: "bioscope", version: "0.3.0" }); server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ { name: "lookup_uniprot", description: "Fetch protein record by accession." }, { name: "search_pubmed", description: "PubMed search; returns PMIDs + abstracts." }, { name: "find_pathways", description: "Reactome pathways for a gene symbol." }, { name: "get_ensembl_gene", description: "Ensembl REST gene/transcript metadata." } ] }));
02

AutoMorphoTrack v2.2.0 — Python package with a Claude Code MCP server

AutoMorphoTrack is my published Python package for automated multichannel mitochondria / lysosome morphology, motility, and colocalization analysis. v2.2.0 — the eLife RP109936 revision — expanded the package into a library, a CLI (automorphotrack run | validate | sweep | benchmark | mcp), and an 11-tool MCP server usable directly from Claude Code.

  • 11 MCP tools (run, detect, shape, motility, colocalization, summary, validate, sweep, benchmark, describe_outputs, list_capabilities).
  • One-line install: pip install "automorphotrack[mcp]" && claude mcp add automorphotrack -- automorphotrack mcp.
  • Adaptive segmentation with 5 backends; real Dice/IoU/precision/recall/F1 validation; CellProfiler / MiNA / MitoGraph exporters.
  • CI matrix: Ubuntu/macOS × Python 3.9 – 3.12 + trusted PyPI publishing on Release.

Tech. Python · scikit-image · NumPy/SciPy · pandas · FastMCP · pytest · GitHub Actions · PyPI.

Fig. — MCP install & first call
From pip install to a working MCP tool invocation in Claude Code — measured median elapsed seconds across 30 cold-start runs on a 2024 M-class laptop.
Mostly install time; the MCP layer itself starts in < 200 ms.
03

MCP tool-call simulator (bioscope)

Pick a gene and run the simulator — it animates the same reasoning trace bioscope produces in Claude Code: each MCP tool is invoked, its (illustrative) response streams in, and the final brief is composed. No backend calls; the trace is generated client-side from baked-in fixtures so it's safe to run on any device.

Candidate gene
Slash command
Speed
[ready] press Run to begin.