Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for the CZ CELLxGENE Census. Single-cell, ontology-aware. Community, unaffiliated.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"cxg-census": {
"command": "uvx",
"args": [
"cxg-census-mcp"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add cxg-census -- uvx cxg-census-mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"cxg-census": {
"command": "uvx",
"args": [
"cxg-census-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"cxg-census": {
"type": "stdio",
"command": "uvx",
"args": [
"cxg-census-mcp"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub MaxMLang ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.2) เข้า registry 7 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Systemdox
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Your architecture in your agents' context: checks, specs, ADRs and docs over MCP, at write time.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
An MCP server that lets LLM agents query the CZ CELLxGENE Discover Census single-cell atlas without lying about it — ontology-aware filters, cost caps, full provenance + attribution on every response. Drop it into Cursor / Claude Desktop / Claude Code and ask questions like *"Visualize the cell-type composition of the human lung"* in plain English.
Independent / unaffiliated. Not affiliated
with, endorsed by, or sponsored by the Chan Zuckerberg Initiative (CZI),
EMBL-EBI, the U.S. Census Bureau, or anyone else. "CELLxGENE" is a CZI
mark; references here are descriptive (nominative) use only.
No warranty. MIT-licensed source, "as is". Research/exploration tool —
not a clinical or diagnostic instrument. Always verify results before
publication. See LICENSE
for the full trademark and content attribution notice, and
for the threat model and known-issues policy.
Alpha (v0.1.2).
CHANGELOG.md
Healthy vs COVID-19 lung, side-by-side. Two parallel queries, the disease_multi_value_v7 schema-drift rewrite kicks in for the COVID cohort, attribution from both contributing dataset sets surfaces in the same chat turn.
https://github.com/user-attachments/assets/c836f225-5075-4643-87aa-70d311bc5fd2
Cell-type composition of human lung in one query. Free-text "lung" resolved to UBERON:0002048, routed through tissue_general, every CURIE labeled, all in a single Tier-0 call.
https://github.com/user-attachments/assets/b0e10ca7-e46b-4e5f-ae63-11949d328c4d
(Videos render on GitHub. On PyPI they appear as bare URLs — head to the GitHub README to watch.)
More prompts in docs/example-questions.md.
┌──────────────────────────────────────────────┐
MCP client │ tools/ thin MCP wrappers, no logic │ (Claude, ─► │ │ │ Cursor, │ ▼ │ Code, …) │ planner/ FilterSpec → QueryPlan, │ │ │ cost estimate, tier routing │ │ ▼ │ │ ontology/ OLS4 + hint overlay, │ │ │ CL/UBERON/MONDO expansion │ │ ▼ │ │ execution/ Tier 0 facet counts │ │ │ Tier 1 chunked obs scan │ │ │ Tier 2 expression aggregate │ │ │ Tier 9 refuse → snippet │ │ ▼ │ │ clients/ OLS4 (HTTPS) + Census/SOMA │ │ │ │ caches/ OLS, facet, plan, filter LRU │ │ models/ Response envelope w/ │ │ attribution + provenance │ └──────────────────────────────────────────────┘ │ ▼ ┌────────────────────────┐ │ EBI OLS4 (ontology) │ │ CZ CELLxGENE Census │ │ (CC BY 4.0 data) │ └────────────────────────┘
Full architecture notes: docs/architecture.md. Tool reference: docs/tool-reference.md. Example questions: docs/example-questions.md.
From PyPI (recommended):
uv tool install "cxg-census-mcp[census]"
cxg-census-mcp # speaks MCP over stdio
Or with pip:
pip install "cxg-census-mcp[census]"
Without the [census] extra you get mock mode (deterministic fixtures) — handy for offline demos and verifying your MCP client config without pulling tiledbsoma's ~1 GB of native deps.
From source (for development):
git clone https://github.com/MaxMLang/cxg-census-mcp
cd cxg-census-mcp uv sync --extra dev --extra census uv run cxg-census-mcp
Cursor (~/.cursor/mcp.json) and Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json on macOS) both expect the same shape. Cleanest is uvx once installed from PyPI:
{
"mcpServers": { "cxg-census": { "command": "/absolute/path/to/uvx", "args": ["--from", "cxg-census-mcp[census]", "cxg-census-mcp"] } } }
Use the absolute path to
uvx(which uvxfrom your shell). MCP
clients spawn the server in a non-interactive subprocess that doesn't
source your shell rc, so a bare
"uvx"will fail with
No such file or directory.
If you cloned from source instead, point at the checkout:
{
"mcpServers": { "cxg-census": { "command": "/absolute/path/to/uv", "args": ["--directory", "/path/to/cxg-census-mcp", "run", "cxg-census-mcp"] } } }
Claude Code:
claude mcp add cxg-census -- /absolute/path/to/uvx --from "cxg-census-mcp[census]" cxg-census-mcp
Quit + relaunch your client (⌘Q on macOS — closing the window isn't enough) and the server should show up in the MCP panel with 13 tools.
Workflow: census_summary, get_census_versions, count_cells, list_datasets, gene_coverage, aggregate_expression, preview_obs, export_snippet, get_server_limits.
Inspection: resolve_term, expand_term, term_definition, list_available_values.
Plus MCP resources (markdown docs at cxg-census-mcp://docs/{slug}), prompts (census_workflow, disambiguation), and cooperative progress / cancellation notifications. Details in docs/tool-reference.md.
All env vars use the CXG_CENSUS_MCP_ prefix. Most useful:
| Variable | Default | Purpose |
|---|---|---|
CXG_CENSUS_MCP_CENSUS_VERSION | stable | Census release to pin |
CXG_CENSUS_MCP_CACHE_DIR | platformdirs default | Disk cache root |
CXG_CENSUS_MCP_MOCK_MODE | 0 | If 1, never opens a real Census handle |
CXG_CENSUS_MCP_LOG_LEVEL | WARNING | stdlib log level |
Full list and validation: src/cxg_census_mcp/config.py.
Quick loop:
make install-all # uv sync --extra dev --extra census
make lint typecheck test # ruff + mypy + pytest (mock mode) make cov # tests + coverage HTML in ./htmlcov make audit # pip-audit on locked production deps
Operational tasks (cache pre-warm, schema diff, container build, metrics dump, plan-cache vacuum, weekly hint/facet refresh) live in the Makefile and are documented in docs/operational-playbook.md.
| Topic | Where |
|---|---|
| System architecture | docs/architecture.md |
| Tool reference | docs/tool-reference.md |
| Example agent questions | docs/example-questions.md |
| Ontology resolution | docs/ontology-resolution.md |
| Schema-drift handling | docs/schema-drift-format.md |
| Census version pinning | docs/version-pinning.md |
| Progress / cancellation | docs/progress-and-cancellation.md |
| Error model | docs/error-model.md |
| Known limitations | docs/limitations.md |
| Ops runbook | docs/operational-playbook.md |
| Changelog | CHANGELOG.md |
Source code: MIT. The MIT license covers only the code in this repository, not the upstream data, ontologies, or third-party trademarks.
attribution field; downstream users must preserve attribution and indicate that changes were made.This project is a *client* of the CZ CELLxGENE Discover Census; it does not host, mirror, or redistribute Census data.
Full notice in LICENSE.