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
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"maboss": {
"command": "uvx",
"args": [
"mcp-biomodelling-servers"
]
}
}
}ターミナルでこれを実行します
claude mcp add maboss -- uvx mcp-biomodelling-serversプロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"maboss": {
"command": "uvx",
"args": [
"mcp-biomodelling-servers"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"maboss": {
"type": "stdio",
"command": "uvx",
"args": [
"mcp-biomodelling-servers"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント marcorusc で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(2.5.2)がレジストリに届いたのは9 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Reelsaw
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
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.
Drive a self-hosted Reelsaw: turn long videos into vertical clips, edit, re-render and export them.
作者のリポジトリから書かれたとおりにコピーしたものです。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:
冒頭だけを表示しています。続きはリポジトリで読めます