Medplum MCP
Securely access and manage FHIR healthcare data stored in Medplum.
ยังไม่มีคำอธิบายภาษาไทย ดูข้อเท็จจริงด้านล่าง หรือเปิดคำอธิบายต้นฉบับจากผู้ทำ
Search, compare, and install self-evolving AI Agent Genes ranked by Arena fitnessเลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ผลตรวจผ่าน 3/3 · ทำงานบนเครื่องคุณ · ✓ ตรวจคำสั่งแล้ว 13 พ.ย. 2569
ขั้นแรก: คุณใช้ AI ตัวไหน
เลือกแอปที่คุณใช้ ขั้นตอนจะขึ้นด้านล่าง
ต่อกับ Claude ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว) · ใช้ได้เฉพาะแอป Claude บนคอม (Windows หรือ Mac) ไม่ใช่บนเว็บหรือมือถือ
SettingsDeveloperEdit Config
{
"mcpServers": {
"rotifer-protocol": {
"command": "npx",
"args": [
"-y",
"@rotifer/mcp-server"
]
}
}
}ใช้ Rotifer Protocol MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude บอกว่ากำลังใช้ Rotifer Protocol MCP หรือมีชื่อเครื่องมือของ Rotifer Protocol MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ChatGPT ยังต่อ Rotifer Protocol MCP ไม่ได้
Rotifer Protocol MCP ต้องติดตั้งในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะตัวที่ทำงานบนเว็บ
ก · ใช้แอปที่ต่อ Rotifer Protocol MCP ได้
ข · ตัวอื่นในหมวด คลินิกและสุขภาพ ที่ต่อกับ ChatGPT ได้
เลือกจากตัวที่ใช้มากในหมวดเดียวกัน เฉพาะตัวที่ต่อด้วยที่อยู่ได้โดยไม่ต้องใส่คีย์
ต่อกับ Claude Code ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
Mac: กด Command+Space พิมพ์ Terminal · Windows: เปิด PowerShell
claude mcp add --scope user rotifer-protocol -- npx -y @rotifer/mcp-serverต้องเห็น Rotifer Protocol MCP ในรายการและขึ้นว่าเชื่อมต่อแล้ว
ใช้ Rotifer Protocol MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Claude Code บอกว่ากำลังใช้ Rotifer Protocol MCP หรือมีชื่อเครื่องมือของ Rotifer Protocol MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Anthropic เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ Cursor ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
ใช้ Rotifer Protocol MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า Cursor บอกว่ากำลังใช้ Rotifer Protocol MCP หรือมีชื่อเครื่องมือของ Rotifer Protocol MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ Cursor เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
ต่อกับ VS Code ได้ แต่ต้องเตรียมก่อน
ต้องลง Node.js ในเครื่องก่อน (ทำครั้งเดียว)
ใช้ Rotifer Protocol MCP บอกหน่อยว่าทำอะไรให้ฉันได้บ้าง แล้วลองทำให้ดูหนึ่งอย่าง✓ ถ้า VS Code บอกว่ากำลังใช้ Rotifer Protocol MCP หรือมีชื่อเครื่องมือของ Rotifer Protocol MCP ขึ้นในคำตอบ แปลว่าต่อสำเร็จ
ชื่อเมนูตรวจกับหน้าช่วยเหลือของ VS Code เมื่อ 11 พ.ย. 2569 · หน้าจอของคุณอาจต่างเล็กน้อยตามรุ่นของแอป
โปรแกรมอื่นที่ใช้ MCP ได้ เช่น Windsurf, Zed หรือ Gemini CLI มีวิธีเพิ่มต่างกัน ดูวิธีของแต่ละตัวในหน้ารวมโปรแกรม
ค่าตั้งแบบไฟล์ JSON อยู่ในหัวข้อ “สำหรับคนเขียนโค้ด” ด้านล่าง
Claude Code
claude mcp add --scope user rotifer-protocol -- npx -y @rotifer/mcp-serverClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"rotifer-protocol": {
"command": "npx",
"args": [
"-y",
"@rotifer/mcp-server"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"rotifer-protocol": {
"command": "npx",
"args": [
"-y",
"@rotifer/mcp-server"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"rotifer-protocol": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@rotifer/mcp-server"
]
}
}
}ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ดูจากแบบการต่อของ server ตัวนี้ และเอกสารของผู้ทำโปรแกรมแต่ละตัว ตรวจเมื่อ 10 พ.ย. 2569
ติดตั้งบนเครื่องได้ใน
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 13 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub rotifer-protocol ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด เมื่อวานซืน
ใช้ Apache-2.0
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
ถาม แชร์เคล็ดลับ หรือแจ้งว่าใช้ไม่ได้ เรียงตามที่คนกดว่ามีประโยชน์
ยังไม่มีใครโพสต์ ถามหรือแชร์เป็นคนแรกได้เลย
ข้อความในส่วนนี้เขียนโดยผู้ใช้ ไม่ใช่ทีม PopNx
ยังไม่มีรีวิว
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด เมื่อวานซืน และส่งรุ่นล่าสุด (0.20.0) เข้า registry เมื่อวานซืน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Medplum MCP, Mirobody, Apple Health
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Securely access and manage FHIR healthcare data stored in Medplum.
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
Local-first Apple Health MCP server for questions about your sleep, workouts and heart data.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Build, compose, and run AI agents — directly from your IDE.
Search genes, create agents with composable genomes, run pipelines in a WASM sandbox, and compete in the Arena. Zero config. Works with Cursor, Claude Desktop, Windsurf, and any MCP-compatible client.
Add to .cursor/mcp.json:
{
"mcpServers": { "rotifer": { "command": "npx", "args": ["@rotifer/mcp-server"] } } }
Add to claude_desktop_config.json:
{
"mcpServers": { "rotifer": { "command": "npx", "args": ["@rotifer/mcp-server"] } } }
Use the same npx command — any client that supports MCP stdio transport will work.
You: "Build me an agent for code security scanning"
AI: → create_agent({ agent_name: "sec-bot", gene_ids: ["security-scanner", "genesis-code-format"], composition: "Seq" }) Agent 'sec-bot' created with 2-gene Seq genome.
You: "Run it on my project" AI: → agent_run({ agent_name: "sec-bot", input: "{\"path\":\"./src\"}" }) Pipeline complete — 3 findings, 0 critical.
You: "Find the best gene for web search"
AI: → search_genes({ query: "web search" }) Found 8 genes. Top match: genesis-web-search (F(g) = 0.87, Native)
You: "Compare it against the lite version" AI: → compare_genes({ gene_ids: ["...", "..."] }) Side-by-side: success rate, latency, fitness breakdown
You: "Wrap my function as a gene"
AI: → wrap_gene({ gene_name: "my-search", domain: "search.web", fidelity: "Wrapped" }) → compile_gene({ gene_name: "my-search" }) → test_gene({ gene_name: "my-search", compliance: true }) → publish_gene({ gene_name: "my-search", changelog: "Initial release" })
| Tool | Description | Key Parameters |
|---|---|---|
search_genes | Search the Gene ecosystem by name, domain, or description | query, domain, fidelity, sort (relevance/newest/popular/fitness), page, per_page |
get_gene_detail | Get detailed info about a Gene (phenotype, fitness, metadata) | gene_id, content_hash (either identifies the gene) |
get_arena_rankings | Arena rankings for a domain, sorted by F(g) fitness | domain, page, per_page |
compare_genes | Side-by-side fitness comparison of 2–5 Genes | gene_ids (array) |
get_gene_stats | Download statistics (total, 7d, 30d, 90d) | gene_id |
get_leaderboard | Creator reputation leaderboard | limit |
get_developer_profile | Creator public profile and reputation | username |
get_gene_reputation | Detailed reputation breakdown (Arena, Usage, Stability) | gene_id |
list_gene_versions | Version history chain with changelogs | owner, gene_name |
suggest_domain | Suggest matching domains from the registry | description |
| Tool | Description | Key Parameters |
|---|---|---|
list_local_genes | Scan local workspace for installed Genes | project_root, domain, fidelity |
list_local_agents | List Agents in the local workspace | project_root, state |
| Tool | Description | Key Parameters |
|---|---|---|
init_gene | Initialize a new Gene project with starter files | gene_name, fidelity, domain, no_genesis |
scan_genes | Scan for candidate functions or SKILL.md files | path, skills, skills_path |
wrap_gene | Wrap a function/skill as a Gene | gene_name, domain, fidelity, from_skill, from_clawhub |
test_gene | Test a Gene (schema validation + sandbox) | gene_name, verbose, compliance |
compile_gene | Compile a Gene to WASM IR | gene_name, check, wasm_path, lang |
doctor | Check the local TypeScript→WASM toolchain (esbuild / javy) and report what is missing — read-only; use when compile_gene fails | project_root |
run_gene | Execute a local Gene | gene_name, input, verbose, no_sandbox, trust_unsigned |
publish_gene | Publish to Rotifer Cloud | gene_name, all, description, changelog, skip_arena, skip_security |
install_gene | Install a Gene from Cloud Registry. force snapshots the copy it replaces | gene_id, project_root, force |
rollback_gene | Undo the last overwrite of a local Gene; call with no name to list what can be undone | gene_name, project_root |
vg_scan | V(g) security scan — static analysis for Gene/Skill code safety | path, gene_id, all, project_root |
arena_submit | Measure a local Gene in the sandbox and submit the measurement to the Arena. Scores are produced by running the Gene, never supplied by the caller | gene_name, project_root |
| Tool | Description | Key Parameters |
|---|---|---|
create_agent | Create an Agent composing multiple Genes | agent_name, gene_ids, composition (Seq/Par/Cond/Try/TryPool), domain, top, strategy, par_merge |
agent_run | Run a local Agent by name | agent_name, input, verbose, no_sandbox |
| Tool | Description | Key Parameters |
|---|---|---|
auth_status | Check login status | — |
login | OAuth login (GitHub/GitLab) | provider, endpoint |
logout | Clear credentials | — |
get_mcp_stats | MCP call analytics | days |
get_my_reputation | Current user's reputation | — |
MCP Resources let AI clients reference Rotifer data as context:
| URI Template | Description |
|---|---|
rotifer://genes/{gene_id}/stats | Gene download statistics |
rotifer://genes/{gene_id} | Gene detail + phenotype |
rotifer://developers/{username} | Creator profile + reputation |
rotifer://leaderboard | Top creators by reputation score |
rotifer://local/genes | Local Gene inventory |
rotifer://local/agents | Local Agent registry |
rotifer://version | MCP Server version and update availability |
Each resource returns what the tool of the same job returns, so a declared tool set covers both: with --tools=evolve, rotifer://genes/{gene_id}/stats, rotifer://developers/{username} and rotifer://leaderboard disappear from the listing and are refused if read directly, because get_gene_stats, get_developer_profile and get_leaderboard were not asked for. rotifer://version always answers — it is the server describing itself, not a capability. Before 0.16.0 these were reachable whatever the tool set said.
MCP Prompts give AI clients guided workflows for common tasks:
| Prompt | Description | Key Arguments |
|---|---|---|
rotifer-hello | Interactive agent creation — pick a template and run immediately | template, input |
rotifer-guide | Understand Rotifer Protocol — genes, agents, Arena, fidelity model | — |
rotifer-architect | Design an Agent — task-driven gene search + composition planning | task |
rotifer-challenge | Arena evaluation — submit a gene, compare with competitors | gene |
Try asking your AI: *"Use the rotifer-hello prompt to build me an agent"* or *"Use rotifer-architect to design an agent for document Q&A"*.
┌─────────────────────────────────────────────────┐
│ AI IDE (Cursor / Claude / Windsurf) │ │ │ │ "Find genes for code formatting" │ │ │ │ │ ▼ │ │ ┌─────────────────────┐ │ │ │ MCP Client │ │ │ │ (stdio transport) │ │ │ └────────┬────────────┘ │ └───────────┼─────────────────────────────────────┘ │ MCP Protocol ▼ ┌─────────────────────────────────────────────────┐ │ @rotifer/mcp-server │ │ │ │ 31 Tools 7 Resources 4 Prompts Local Scanner│ │ ┌──────────┐ ┌───────────┐ ┌────────────┐ │ │ │ discover │ │rotifer:// │ │ ./genes/ │ │ │ │ lifecycle│ │genes/stats│ │ phenotype │ │ │ │ agents │ │developers │ │ agents │ │ │ │ auth │ │leaderboard│ └────────────┘ │ │ └────┬─────┘ └─────┬─────┘ │ │ └───────┼──────────────┼────────────────┼─────────┘ │ │ │ ▼ ▼ ▼ ┌─────────────────────────────────────────────────┐ │ Rotifer Cloud API Local File System │ │ (Supabase) (genes/, .rotifer/) │ └─────────────────────────────────────────────────┘
Zero-config by default — connects to the public Rotifer Cloud API.
To use a custom endpoint, create ~/.rotifer/cloud.json:
{
"endpoint": "https://your-supabase-instance.supabase.co", "anonKey": "your-anon-key" }
Or set environment variables:
ROTIFER_CLOUD_ENDPOINT=https://your-instance.supabase.co
ROTIFER_CLOUD_ANON_KEY=your-anon-key
All thirty-one tools are available by default. ROTIFER_MCP_TOOLS narrows that to what a given integration actually needs — useful when the server is attached to an assistant that should not be able to publish or log in on your behalf:
npx @rotifer/mcp-server --tools=evolve # the rank-and-swap preset (10 tools)
npx @rotifer/mcp-server --tools=readonly # nothing that writes (14 tools) ROTIFER_MCP_TOOLS=search_genes,get_gene_detail # an exact list ROTIFER_MCP_TOOLS=evolve,vg_scan # a preset plus one
A name that is neither a preset nor a tool here is ignored, with a note on stderr. If none of the names are, the server does not start: it lists the presets and exits with code 2, rather than running with no tools at all.
The flag and the variable do the same thing, and the flag wins if both are set. Both exist because callers differ in what they can reach: a shell user sets the variable, while something launching this server from a manifest controls only the command line.
A declared set covers the whole surface, not just tools/list. Tools outside it are refused when called by name; resources that duplicate an excluded tool are dropped from the listing and refused when read; and the sandbox escape hatches below stay off unless separately declared. A restriction with an unlisted way around it is not a restriction.
Tools outside the set disappear from listTools and are refused if called anyway. The refusal says how to add the tool back and, where one exists, the rotifer CLI command that does the same job — so a narrowed set is a boundary you can see and cross deliberately, not a dead end.
Leave it unset and nothing changes.
agent_run and run_gene take no_sandbox, and run_gene also takes trust_unsigned — options that run Gene code as plain Node.js instead of inside the WASM sandbox. Narrowing the tool set would mean little if a tool inside the narrowed set could still do that, so these are refused unless declared at launch:
npx @rotifer/mcp-server --allow=no-sandbox