Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
MCP server for Boolean network simulation and attractor analysis using MaBoSS
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"maboss": {
"command": "uvx",
"args": [
"mcp-biomodelling-servers"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add maboss -- uvx mcp-biomodelling-serversวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"maboss": {
"command": "uvx",
"args": [
"mcp-biomodelling-servers"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"maboss": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-biomodelling-servers"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub marcorusc ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (2.5.2) เข้า registry 9 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, SSTracker free youth training
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.
Free youth sports drills, practice plans and age-group answers for parents and coaches.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
The Wave 2 integration guide covers summary readouts, named rate editing, persistent run IDs, bounded results and handoff 2.1.
The MaBoSS server exposes stochastic Boolean-model construction, configuration, simulation, analysis, and export through the Model Context Protocol (MCP). It uses pyMaBoSS as its simulation engine and can participate in a verified modelling pipeline from NeKo to MaBoSS to PhysiCell.
The server is distributed in the mcp-biomodelling-servers Python package and communicates over stdio.
Install all three bio-modelling servers:
python -m pip install mcp-biomodelling-servers
Start the installed MaBoSS server:
mcp-maboss-server
Alternatively, run it in an isolated environment:
uvx --from mcp-biomodelling-servers mcp-maboss-server
The server does not need the separate MaBoSS executable. It validates and simulates models with cmaboss, the compiled engine installed with pyMaBoSS, in a child Python process so a long simulation never blocks the server. Loading a model that the engine rejects fails with the engine's message.
See the repository README for the supported Python versions, complete MCP client configuration, source-checkout instructions, and shared runtime behavior.
Every model belongs to a MaBoSS session. Start by calling create_session(), retain the returned session_id, and pass it explicitly when more than one model is active. When session_id is omitted, tools use the active default session.
create_session creates an isolated in-memory session and may attach a human-readable label.list_sessions reports active sessions and whether each has a model or simulation result.list_artifact_sessions discovers session artifacts left by earlier server processes.set_default_session selects the session used by calls that omit session_id.delete_session removes in-memory state and, by default, its artifact files.Generated BND, CFG, CSV, PNG, and handoff files are stored under the server's session-scoped artifacts/ / directory. Use list_generated_files() to obtain their resolved paths instead of guessing them.
For a standalone BNET model, use the following order:
create_session().bnet_to_bnd_and_cfg(bnet_path).build_simulation().get_maboss_nodes() and use only the returned node names.update_maboss_parameters(), get_maboss_initial_state(), and get_maboss_logical_rules().set_maboss_output_nodes(...).run_simulation().get_simulation_result().visualize_network_trajectories().bnet_to_bnd_and_cfg() writes output.bnd and output.cfg into the session artifact directory. With no paths supplied, build_simulation() automatically loads those files. If the server cannot read your BNET file (a host that sandboxes each server), pass its complete content as bnet_text instead of bnet_path; it is stored verbatim in the session artifact directory.
A Boolean network with N visible outputs can produce up to 2^N states.
Always call
set_maboss_output_nodes()beforerun_simulation(). Selecting
only the outputs needed for the scientific question reduces both runtime and
result size.
Call update_maboss_parameters() without a parameters value to inspect all parameters supported by the loaded model. Supply only the values that should change:
{
"parameters": { "sample_count": 10000, "max_time": 100, "time_tick": 0.5, "thread_count": 4 }, "session_id": "SESSION_ID" }
Common parameters include:
| Parameter | Meaning |
|---|---|
sample_count | Number of stochastic trajectories |
max_time | Simulation time horizon |
time_tick | Interval between reported time points |
discrete_time | Discrete-time toggle, 0 or 1 |
thread_count | Number of simulation threads |
The server also accepts backend parameters exposed by the loaded MaBoSS version. Unknown parameter names produce a recoverable tool error.
First call get_maboss_nodes(), then provide a non-empty subset:
{
"output_nodes": ["Apoptosis", "Proliferation"], "session_id": "SESSION_ID" }
Inspect the existing distribution with get_maboss_initial_state() before changing it.
For one node, provide [P(OFF), P(ON)]:
{
"nodes": "DNA_damage", "probDict": [0.2, 0.8], "session_id": "SESSION_ID" }
For multiple nodes, use JSON-native state/probability records. State-vector order must match the order in nodes, each state must contain only 0 or 1, and the probabilities must sum to 1:
{
"nodes": ["DNA_damage", "Growth_signal"], "probDict": [ {"state": [0, 0], "probability": 0.4}, {"state": [1, 0], "probability": 0.6} ], "session_id": "SESSION_ID" }
The listed states do not have to cover every possible combination, but states must be unique and each vector must have the same length as nodes.
get_maboss_logical_rules returns the current Boolean rules, up to 100 nodes unless selected_nodes is given (truncated reports when more exist). A rule_limitation marks nodes whose custom rate expressions mean the rule alone does not describe their switching; inspect those with get_maboss_nodes.change_maboss_rule replaces one node's rule and restores the previous rule if model validation rejects the change.get_maboss_mutations reports mutations currently stored in the model.simulate_mutation runs a mutant copy without changing the session's base simulation.For example:
{
"nodes": ["TP53", "AKT"], "state": ["ON", "OFF"], "session_id": "SESSION_ID" }
Mutation states are ON, OFF, or WT. A single state may be applied to all requested nodes, or a state list may be supplied in node order.
run_simulation() executes the loaded model in a worker thread, stores the pyMaBoSS result in the session, reports MCP progress, and writes a non-empty state-probability table to result.csv.
get_simulation_result() returns both:
The same Markdown result is available through maboss://session/{session_id}/result.
After run_simulation(), call:
{
"session_id": "SESSION_ID", "until": 50 }
on visualize_network_trajectories.
The optional until parameter is the maximum simulation time displayed. It must be a finite number greater than zero. Omit it to plot the full available trajectory.
The tool:
plot_trajectory(until=...);ImageContent block with MIME type image/png;network_trajectory.png in the session artifact directory.An MCP client must support rendering image content blocks to display the plot inline. The saved artifact remains available when a client presents only the textual or structured part of the result.
Prefer import_neko_handoff(manifest_path) when the Boolean model comes from the NeKo MCP server. The tool:
neko-to-maboss manifest and artifact hashes;If the manifest declares no output nodes, call set_maboss_output_nodes() before running or exporting the model.
If this server cannot read NeKo's files (a host that sandboxes each server), pass handoff_bundle, the object returned by NeKo export_handoff_bundle, instead of manifest_path. See Hosts that sandbox each server.
Call export_maboss_handoff(target_cell_type=...) to produce an integrity-protected maboss-to-physicell handoff. It snapshots:
A standalone MaBoSS model must provide biological_context. A model imported from NeKo may inherit that context. The export refuses to overwrite existing handoff artifacts, so choose a new artifact_prefix for every retained handoff.
For a PhysiCell server that cannot read MaBoSS's files, call export_handoff_bundle(manifest_path=...) here and pass the result to import_maboss_handoff(handoff_bundle=...). The bundle also carries the NeKo parent manifest and its files.
Use export_maboss_bnd_cfg() when only standalone MaBoSS files are needed. Use export_maboss_handoff() when PhysiCell needs typed scientific context, integrity metadata, and provenance.
| Category | Tools |
|---|---|
| Sessions | create_session, list_sessions, list_artifact_sessions, set_default_session, delete_session |
| Import and loading | import_neko_handoff, bnet_to_bnd_and_cfg, build_simulation |
| Inspection | get_maboss_nodes, get_maboss_initial_state, get_maboss_logical_rules, get_maboss_mutations |
| Configuration | change_maboss_rule, edit_maboss_readouts, update_maboss_parameters, set_maboss_output_nodes, set_maboss_initial_state |
| Simulation and analysis | run_simulation, simulate_mutation, get_simulation_result, visualize_network_trajectories |
| Export | export_maboss_bnd_cfg, export_maboss_handoff, export_handoff_bundle |
| Artifacts | list_generated_files, clean_generated_files |
The server exposes read-only resources for clients that support MCP resource templates:
| URI | Content |
|---|---|
docs://maboss/agent_manual | Complete agent operating manual |
maboss://session/{session_id}/nodes | Network node names |
maboss://session/{session_id}/parameters | Current parameters |
maboss://session/{session_id}/initial_state | Initial-state distribution |
maboss://session/{session_id}/logical_rules | Boolean rules |
maboss://session/{session_id}/mutations | Current mutations |
maboss://session/{session_id}/result | Latest in-memory state-probability result (use get_simulation_result(run_id=...) for saved runs) |
maboss://session/{session_id}/files | Generated artifact files |
maboss_workflow_prompt exposes the same recommended operating rules as an MCP prompt.
Each successful file-backed run_simulation and simulate_mutation call preserves a unique run_ artifact set before pyMaBoSS releases its temporary directory:
ตัดมาแค่ช่วงต้น อ่านต่อใน repo