Piaso Mcp

io.github.genecell由 GitHub 帳號 genecell 發布v0.1.1更新於 Oct 28, 2026

PIASO single-cell ecosystem docs (PIASO, COSG, cytome, LARIS, cytorete) + live PIASOmarkerDB

概覽

AI 產生的概覽

本機 stdio MCP 伺服器,為編碼助理提供 PIASO 單細胞體學文件、教學索引、資料集登錄表,以及即時 PIASOmarkerDB 查詢。

可以做什麼
  • 搜尋並閱讀 PIASO 生態系文件與 API 參考,比較各元件對同一工作的實作方式
  • 提供安裝方式,並對照已測試版本矩陣檢查套件版本
  • 列出教學,瀏覽 PIASO-data 資料集登錄表
  • 查詢即時 PIASOmarkerDB:搜尋標記基因、取得標記基因、列出研究
適用情境
當助理協助進行 PIASO 生態系(PIASO、COSG、cytome、LARIS、cytorete)的單細胞或空間轉錄體分析,需要準確且對應版本的 API 說明、安裝步驟或標記基因查詢時適用。
執行需求
透過 uvx 以 stdio 在本機執行,需先安裝 uv 工具鏈並加入 PATH,首次啟動會下載套件。不需額外 Python 套件、帳號、API 金鑰或環境變數。無法在 claude.ai 網頁版使用,該處需改用另外的 Skill 上傳。
安裝前請注意
僅提供文件與公開資料,但會連線即時 PIASOmarkerDB 介面與 PyPI 版本檢查,查詢會離開本機。設定後需重新啟動用戶端;若 uvx 不在 PATH 中,請改用其絕對路徑。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Piaso Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

PIASO-for-agents

Make the PIASO single-cell omics ecosystem first-class for any coding agent — Claude Code, Cursor, Copilot, Codex, Windsurf, Cline, Aider — from one canonical, agent-neutral knowledge pack.

Maintained by The Fishell Laboratory (Harvard Medical School / Broad Institute). Every agent-specific format (Claude skill, Cursor rules, AGENTS.md, llms.txt, MCP server) is a generated artifact built from canonical/ — never a hand-maintained copy. A CI drift check (python build.py --check) fails the build if any dist/ artifact is out of sync with canonical/, and the code-block test suite runs every canonical block against the pinned component versions on every push, nightly, and on component releases, so the guidance cannot silently rot.

Hub v0.2.2 · piaso-mcp 0.1.1 — tested against piaso-tools 1.2.6 · cosg 1.2.0 · cytome 0.3.6 · laris 0.14.0 · emergene 1.0.2 · cytorete 0.1.1 · COSGR 1.0.0 · cytome (R) 0.1.3 (2026-09-29).

The ecosystem

Independently-installable packages under github.com/genecell, in four layers. Dependencies run one way (cytorete → piaso-tools → cosg + cytome; laris → cosg), and pip install piaso-tools already brings COSG and cytome.

LayerComponentPackageLanguageRole
AnalysisPIASOpiaso-toolsPython + RustSelf-contained pipeline — reading 10x data, QC, doublets, INFOG, SVD / GDR, Leiden / UMAP, PIASOscore, annotation, SCALAR, PIASOmarkerDB client, plotting, piaso.data. No scanpy required.
StoragecytomecytomePythonSingle-file SQLite .cytome: matrices, SQL-queryable cell/gene tables, embeddings, graphs, fragments, tissue images, provenance — what every component streams from
cytome (R)cytome (r-universe)RRead / write / stream the same file into Seurat or SingleCellExperiment, no Python
MethodsCOSGcosgPythonMarker genes by cosine specificity — analytic p-values, GPU, batch-aware, streams from cytome
COSGRCOSG (r-universe / conda-forge)RCOSG for Seurat / SingleCellExperiment
LARISlarisPythonLigand–receptor interaction in spatial transcriptomics; exact p-values; cross-condition comparison
EmergeneemergenePythonIndividual-cell differential expression across conditions
cytoretecytoretePythonCell-type-resolved gene regulatory networks (regulons) on the PIASO stack
DataPIASO-data—dataTutorial datasets (Zenodo, incl. five .cytome atlases) + genome references; registry read by piaso.data

Each component is independently installable — a COSG-only, cytome-only or LARIS-only user is a first-class citizen, and every canonical/components/*.md assumes nothing else is installed. The hub's unique value is documenting how the components compose, and the cross-component choices no single repo can make: SCALAR vs LARIS (dissociated vs spatial ligand–receptor — same CellChatDB either way), AnnData vs .cytome (in memory vs streamed — same function calls), COSG vs cytorete (marker genes vs the TFs that drive them), Python vs R (COSG → COSGR, cytome → cytome (R); everything else via a .cytome handoff), and which annotation route (marker sets, reference projection, joint embedding, or a gene list against PIASOmarkerDB).

Inside piaso-tools

Full reference: canonical/components/piaso.md. Every function takes data= as an AnnData, an open cytome Dataset or a .cytome path.

Methods introduced by PIASO

CapabilityEntry pointWhat it does
INFOG normalizationpiaso.tl.infogInformation-content normalization of raw UMI counts + informative-gene selection
GDR (marker-gene-guided DR)piaso.tl.runGDR / runGDRParallel / projectGDREmbedding whose axes are per-group COSG-marker scores; integrates batches by identity; frozen reference spaces
Gene-set scoring (PIASOscore)piaso.tl.scoreExpression-matched-control scoring with per-cell p-values; whole pathway databases in one Rust matmul
Cell-type predictionpiaso.tl.predictCellTypeByMarker / predictCellTypeByGDRMarker-set and reference-based annotation
SCALAR (single-cell LR)piaso.tl.specificity_matrix + runSCALARCell-type-resolved ligand–receptor inference for dissociated data, CellChatDB via piaso.data.load_lr_database
Marker-guided integrationpiaso.tl.stitchSpaceBatch correction of an embedding via COSG-marker graph pruning
PIASOmarkerDBpiaso.tl.getMarkers / analyzeMarkersClient for the curated marker database (36 studies, live API)
Motif scanningpiaso.pp.scan_motifs + piaso.data motif/genome loadersThe Rust PWM engine cytorete builds on

Pipeline building blocks (scanpy-free)

CapabilityEntry point
Read 10x / Cell Rangerpiaso.pp.read_10x_h5, read_10x, importCellRanger (→ cytome)
QC, doublets, filteringpiaso.pp.calculateCellMetrics, scrublet, filter_cells, calculateGroupMetrics
Embedding, graph, clusters, UMAPpiaso.tl.runSVD, neighbors, leiden, umap, leiden_local, runHarmony
Datasets, genomes, motif DBs, CellChatDBpiaso.data.load_dataset, fetch_genome, fetch_2bit, fetch_jaspar, load_lr_database
Plottingpiaso.pl.embedding, dotplot, violin, scatter, sankey, stackedBarplot, plot_embeddings_split (+ tissue-image overlays on cytomes), piaso.settings.set_figure_params

What an agent gets

  • canonical/overview.md — the router: task → component table and the seven decision rules.
  • canonical/components/ — self-sufficient references for PIASO, COSG (+ COSGR), cytome (+ R), LARIS, Emergene, cytorete, with executed code blocks and the data-object contract of every call.
  • canonical/workflows/ — end-to-end scRNA-seq (scanpy-free), streaming on a .cytome, marker-based annotation + reference projection, PIASOmarkerDB annotation, ligand–receptor (SCALAR and LARIS), spatial transcriptomics, gene regulatory networks.
  • canonical/gotchas.md (layer contracts, deprecated names, the as_dict tuple, species-cased prefixes), canonical/data.md (registry, fixtures), and the piaso.org tutorial index (generated into every target) so the agent can point the user at the executed tutorial for their platform.

Install (per agent)

Users work in their own analysis repos, so drop the right snippet into your setup. All of these are generated from canonical/ and live under dist/.

Claude Code — add this repo as a plugin marketplace and install the piaso skill:

bash
claude plugin marketplace add genecell/PIASO-for-agentsclaude plugin install piaso@PIASO-for-agents

Claude.ai (web app) — upload the generated skill as a Skill (Pro/Max/Team/Enterprise, with code execution enabled). Download the dist/claude/skills/piaso/ folder, zip it, then in claude.ai go to Settings → Capabilities → Skills → Create skill and upload the zip:

bash
# from a clone of this repo:cd dist/claude/skills && zip -r piaso-skill.zip piaso    # -> upload piaso-skill.zip in claude.ai

The local MCP server below is stdio-only, so it does not work in the web app — use the Skill upload (or the llms.txt URL) on claude.ai; use MCP in Claude Code / Cursor / Codex.

Cursor — download the rule into your project's .cursor/rules/:

bash
curl -L https://raw.githubusercontent.com/genecell/PIASO-for-agents/master/dist/cursor/.cursor/rules/piaso.mdc \  -o .cursor/rules/piaso.mdc

GitHub Copilot — copy the instructions file into your repo:

bash
curl -L https://raw.githubusercontent.com/genecell/PIASO-for-agents/master/dist/copilot/.github/copilot-instructions.md \  -o .github/copilot-instructions.md

OpenAI Codex — add the AGENTS.md pointer below to your project's AGENTS.md (Codex's primary instructions file), and/or register the MCP server (see the MCP server section below — Codex is covered there).

AGENTS.md (Aider / Zed / Codex / any AGENTS.md-aware agent) — append the hub pointer to your project's AGENTS.md (or copy dist/agents/AGENTS.md):

This project uses the PIASO single-cell omics ecosystem. Agent-neutral, tested docs for every component (Python + R), plus the cross-component decision rules, live at https://github.com/genecell/PIASO-for-agents

llms.txt (any model with web access) — point the tool at:

https://piaso.org/llms.txt          # and https://piaso.org/llms-full.txt

These are the hub's dist/llms/piaso.org/ files (absolute links); the relative-link versions are at dist/llms/.

MCP server

piaso-mcp serves the PIASO ecosystem docs, the piaso.org tutorial index, the PIASO-data registry and the live PIASOmarkerDB — no Python packages required. Tools: search_docs, get_api, compare_implementations, resolve_install, list_tutorials, version_matrix, check_versions (PyPI vs tested versions), list_datasets / get_dataset (live registry), and the live DB proxies query_marker_db, get_markers, list_studies. It is a local stdio server (not a hosted remote endpoint), so it works in Claude Code / Cursor / VS Code / Windsurf / Zed / Codex / Cline, but not in the claude.ai web app — use the Skill upload there.

Prerequisite (all clients): uv

The server runs via uvx, which ships with uv. This is the one thing "no packages needed" doesn't cover — install it once:

bash
curl -LsSf https://astral.sh/uv/install.sh | sh   # macOS / Linux# or:  pipx install uv   |   pip install --user uv   |   brew install uv   |   winget install astral-sh.uv

Then confirm it's reachable: uvx --version. If that says "command not found", uv's bin dir isn't on your PATH — either add it, or replace "uvx" in the configs below with the absolute path from which uvx (Windows: where uvx). First launch downloads the package (~30 s); later launches are cached.

The MCP config key and file location differ per client — pick your agent below.

Claude Code — key mcpServers

Easiest is the CLI (no hand-editing, and it handles the PATH issue in one line):

bash
claude mcp add piaso --scope user -- uvx piaso-mcp# uvx not on PATH? use its absolute path:claude mcp add piaso --scope user -- "$(which uvx)" piaso-mcp
claude mcp get piaso        # verify → Status: ✔ Connected

Or edit ~/.claude.json (user) / project .mcp.json:

jsonc
{ "mcpServers": { "piaso": { "command": "uvx", "args": ["piaso-mcp"] } } }

Cursor — key mcpServers

File: ~/.cursor/mcp.json (global) or .cursor/mcp.json (per project). Same shape as Claude Code:

jsonc
{ "mcpServers": { "piaso": { "command": "uvx", "args": ["piaso-mcp"] } } }

Enable it under Settings → MCP.

Windsurf — key mcpServers

File: ~/.codeium/windsurf/mcp_config.json (open via Settings → Cascade → MCP Servers → Manage → raw config):

jsonc
{ "mcpServers": { "piaso": { "command": "uvx", "args": ["piaso-mcp"] } } }

VS Code (GitHub Copilot, Agent mode) — key servers (note: not mcpServers)

Workspace file .vscode/mcp.json, or user settings.json under "mcp". VS Code also wants a type:

jsonc
// .vscode/mcp.json{ "servers": { "piaso": { "type": "stdio", "command": "uvx", "args": ["piaso-mcp"] } } }

Or one-shot from the terminal:

bash
code --add-mcp '{"name":"piaso","command":"uvx","args":["piaso-mcp"]}'

Zed — key context_servers (different shape)

File: ~/.config/zed/settings.json. Zed nests under context_servers and marks custom servers with "source": "custom":

jsonc
{  "context_servers": {    "piaso": { "source": "custom", "command": "uvx", "args": ["piaso-mcp"], "env": {} }  }}

Codex (OpenAI Codex CLI) — TOML, table [mcp_servers.<name>] (not JSON!)

Codex is the odd one out: its config is TOML, in ~/.codex/config.toml. Add a table:

toml
[mcp_servers.piaso]command = "uvx"args = ["piaso-mcp"]# uvx not on PATH? give the absolute path from `which uvx`:# command = "/home/you/.local/bin/uvx"

Or use the CLI (handles the file for you):

bash
codex mcp add piaso -- uvx piaso-mcpcodex mcp list        # verify it's registered

Cline / Continue (VS Code extensions) — key mcpServers

Cline: MCP Servers → Configure (writes cline_mcp_settings.json). Continue: ~/.continue/config (mcpServers). Both use the standard shape:

jsonc
{ "mcpServers": { "piaso": { "command": "uvx", "args": ["piaso-mcp"] } } }

After configuring, restart the client — MCP tools are loaded at startup, so a running session won't see the server until it's relaunched. If it doesn't connect, 99% of the time it's the uv/PATH prerequisite above.

Repository layout

canonical/       # the ONLY hand-written content (agent-neutral markdown + meta.yaml, incl. the tutorial index)build.py         # canonical/ -> all targets (pure text transforms); --check is the CI drift guarddist/            # ALL GENERATED — never hand-edited (claude/ agents/ cursor/ copilot/ llms/ mcp/)mcp/             # piaso-mcp source (local stdio server; serves knowledge + public data only)tests/           # executes every canonical code block (Python + R) on the fixtures; heavy spatial/regulon runs nightly.claude-plugin/  # the marketplace (repo root, for `claude plugin marketplace add`); the plugin is dist/claude.github/         # sync-check + test CI (re-runs on component releases + nightly) + PyPI / MCP-registry publish

Related tooling (independent projects, listed on piaso.org's Agents and project tooling page): stato — structured expertise management for long computational projects; PlanDrop — plan-review-execute for Claude Code on remote machines.

Changelog

See CHANGELOG.md — hub content releases and piaso-mcp versions, with the component versions each was tested against.

Citation

Cite each component by its own paper — see canonical/meta.yaml. PIASO: Wu, S.J., Dai, M. et al. Nature (2026), DOI 10.1038/s41586-025-09996-8. COSG / COSGR: Dai M, Pei X, Wang X-J, Briefings in Bioinformatics 23(2):bbab579 (2022). LARIS: Dai M, Török T, Sun D, et al., bioRxiv (2025), DOI 10.1101/2025.11.26.690796. cytome and cytorete have no paper yet — cite the repositories.

Maintainers

Developed and maintained by The Fishell Laboratory (Harvard Medical School / Broad Institute). Contact: Min Dai — [email protected].

License

BSD-3-Clause. See LICENSE.

來源:README.md,提交 2f42f94

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

2
  1. v0.1.1最新Sep 29, 2026
  2. v0.1.0Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。