Use SideScatter from your AI assistant
Version 0.1, 22 October 2026. Research beta.
SideScatter has an MCP connector: a small server that lets an AI assistant you already use (Claude, ChatGPT and others that support the Model Context Protocol) call SideScatter's analysis tools. The assistant's provider receives whatever the tools return, under your agreement with that provider. AI suggestions are drafts for you to check. For research use only; not for clinical, diagnostic or treatment decisions.
The server lives in this repository at packages/mcp-server (build, tests, environment and the deploy recipe are in its README.md and DEPLOY.md).
Connector address: https://mcp.sidescatter.app/mcp (Streamable HTTP) Status: Not yet available. The server is built and tested locally; the public host does not exist until the domain is bought and the VPS service in packages/mcp-server/DEPLOY.md is started. Local use works today.
What it can do
| Tool | What it does | Reads or changes |
|---|---|---|
| load_fcs | Opens an FCS 3.0 or 3.1 file (a bundled CytoTrol demo, an https URL with a token, inline data up to 8 MB, or a local file when the server runs on your computer) and returns a sample id | Reads |
| list_parameters | Lists channels with index, name, stain label, range and the display scale the app would choose | Reads |
| describe_sample | Acquisition keywords (cytometer, dates, operator, instrument), spillover summary and the applied gates | Reads |
| apply_gate_tree | Applies gates from a workspace saved in SideScatter (.sidescatter or .aperture) or simple rectangle and interval gates in channel units; returns counts per gate | Reads (keeps the tree in memory for the sample) |
| population_stats | Count, percent of parent and percent of all events per gate; per-channel median, mean, geometric mean, SD, robust SD, CV and percentiles, method stated | Reads |
| export_csv | The statistics table or gated event values as CSV text (at most 100,000 rows) | Reads |
Limits: public tier 30 requests burst, 0.5 per second, 600 per day per network address; token tier 120 burst, 2 per second, 5,000 per day. Heavy tools count as 5 requests. Files you pass to a tool are processed in memory and dropped when the server restarts, when memory is short, or after 16 later samples; nothing is written to disk on the server.
Claude Desktop (local, the files stay on your computer)
Install the extension: download sidescatter.mcpb from the anaphase-plugins releases page (not yet published; see "Status"), open it with Claude Desktop, and leave "Where to run" as local. Claude can then open FCS files by path on your computer. Choose proxy and paste an access token to use the remote server instead.
Without the extension, add the server to claude_desktop_config.json after building it (cd packages/mcp-server && npm ci && npm run build):
{
"mcpServers": {
"sidescatter": { "command": "node", "args": ["C:/path/to/aperture-flow/packages/mcp-server/dist/index.js"] }
}
}
Claude (claude.ai, Claude Desktop, Claude mobile) as a custom connector
Once the remote server is live:
- Open Settings, then Connectors, then Add custom connector.
- Name:
SideScatter. URL:https://mcp.sidescatter.app/mcp. - Save, then turn the connector on in a conversation from the tools menu.
This gives the public read-only tools when Anaphase has turned the public tier on. Custom connectors cannot send a bearer token, so the full tool set in claude.ai waits for per-user sign-in.
Claude Code
Local, from this repository:
cd packages/mcp-server && npm ci && npm run build
claude mcp add sidescatter -- node "$PWD/dist/index.js"
Remote, once live:
claude plugin marketplace add paulmacdad/anaphase-plugins
claude plugin install sidescatter@anaphase
Or directly: claude mcp add --transport http sidescatter https://mcp.sidescatter.app/mcp --header "Authorization: Bearer $ANAPHASE_MCP_TOKEN".
ChatGPT
Requires a plan with developer mode. In ChatGPT, open Settings, then Apps and connectors, then Advanced, and turn on developer mode. Then Create, name SideScatter, URL https://mcp.sidescatter.app/mcp, authentication None. ChatGPT gets the public read-only tools when that tier is on. Click paths were written from documentation on 22 October 2026 and not re-checked in the product; check them before publishing.
Custom GPT without developer mode: import packages/mcp-server/openapi/openapi.yaml as an Action with bearer authentication; each tool is POST /api/tools/<tool_name> on the same host.
Other MCP clients
Any client that supports Streamable HTTP can use https://mcp.sidescatter.app/mcp; send Authorization: Bearer <token> for the full tool set. Any stdio client can run node packages/mcp-server/dist/index.js. MCP Inspector: npx @modelcontextprotocol/inspector node packages/mcp-server/dist/index.js.
Sample prompts
- "Load the cytotrol-pbmc-1 demo and list its parameters."
- "Gate cells with FSC-A between 50,000 and 200,000 and SSC-A between 10,000 and 150,000, then give me the population statistics with CD3 and CD4 medians."
- "Here is my saved workspace JSON; apply it to the sample and tell me the percent of parent for each gate."
- "Export the statistics table as CSV."
- "Describe the acquisition metadata of this sample."
Requests the assistant should decline or answer without the tools: a clinical or diagnostic interpretation of a patient sample (research use only); a request to change or delete data (every tool is read-only); an unrelated question.
Access tokens
During the beta, access tokens are issued by hand. Email paulmaciocia@gmail.com. Keep the token private; anyone with it can use your quota. Per-user sign-in will replace tokens later.
Privacy
What the connector receives and keeps is in the privacy notice: https://gatecraft.bio/privacy.html. In local mode the files never leave your computer. In remote mode the server holds the files in memory for the session only.
FlowJo is a trademark of Becton, Dickinson and Company. Anaphase is not affiliated with or endorsed by it.