NetLogo MCP
PYPI · NETLOGO-MCP · SCANNED SEP 20
Create, run, and analyze NetLogo agent-based models through natural conversation
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security49
- Malware scan not yet available for this package.Unverified
- No known CVEs affecting this package version or its production dependencies.Pass
- Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it. View diagnostics → Pass
- 4 of 32 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency35
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: no license is declared. See how to fix → Fail
- Actively maintained (last published 105 days ago).Pass
- Publishes a security disclosure policy (SECURITY.md).Pass
Schema Quality & AI Usability82
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 4378 tokens (~156/item across 28 items; 25 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage88
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 59% of tool parameters carry a description.Partial
- Structured output schemas are declared (96% of tools); any adoption earns full credit.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "command" implies "execute" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 27 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the NetLogo MCP server?
NetLogo MCP runs locally as a PyPI package, launched with uvx netlogo-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · netlogo-mcp
claude mcp add razee4315-netlogo-mcp -- uvx netlogo-mcp
{
"mcpServers": {
"razee4315-netlogo-mcp": {
"command": "uvx",
"args": [
"netlogo-mcp"
]
}
}
} {
"servers": {
"razee4315-netlogo-mcp": {
"command": "uvx",
"args": [
"netlogo-mcp"
]
}
}
} codex mcp add razee4315-netlogo-mcp -- uvx netlogo-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"razee4315-netlogo-mcp": {
"type": "local",
"command": [
"uvx",
"netlogo-mcp"
],
"enabled": true
}
}
} openclaw mcp add razee4315-netlogo-mcp --command uvx --arg netlogo-mcp
mcp_servers:
razee4315-netlogo-mcp:
command: "uvx"
args: ["netlogo-mcp"] {
"McpServers": {
"razee4315-netlogo-mcp": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"netlogo-mcp"
]
}
}
} assistant mcp add razee4315-netlogo-mcp -t stdio -c uvx -a netlogo-mcp
{
"mcpServers": {
"razee4315-netlogo-mcp": {
"command": "uvx",
"args": [
"netlogo-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +12
- Malware scan: unverified → pass ▲ security
- Stability: pass → 0.80 functional
- 17 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → pass security
- 16 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- 12 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −3
- Stability: pass → 0.80 functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/netlogo-mcp@1.0.2
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Install scripts 1 script
| Hook | Tier | Command |
|---|---|---|
| build_backend | allowlisted | hatchling.build |
Background: Why install scripts are a supply-chain risk →
Dependencies 32 packages
| Packages resolved | 32 |
|---|---|
| Stale | 4 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
close_model Close Model ~112
Unload the currently loaded model and reset the workspace. Useful when you want to discard pending state (mid-run agents, set parameters, pending plots) and start fresh, or before opening a new model file from disk to make sure cached compilation state isn't carried forward. Note: this does NOT shut down the JVM or NetLogo workspace — only the model. The next `open_model` / `create_model` call will reuse the same JVM (no 30-60s warmup).
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
command Command ~45
Execute a NetLogo command (e.g. 'setup', 'go', 'create-turtles 10').
| Name | Type | Req | Description |
|---|---|---|---|
| netlogo_command | string | yes | The NetLogo command string to execute. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
create_model Create Model ~375
Create a new NetLogo model from code and load it.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | NetLogo model code. Can be just the procedures (globals, breeds, setup, go, etc.) — the .nlogox envelope will be added automatically. Or provide a full .nlogox XML file. |
| widgets | – | – | Optional interface widgets. Each item is an object: {"type": "slider", "variable": "num-sheep", "min": 0, "max": 250, "default": 100, "step": 1, "label"?, "units"?} {"type": "switch", "variable": "s… |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
download_comses_model Download Comses Model ~272
Download and safely extract a COMSES model archive. Standalone "fetch but don't open" tool. Most AI flows should use `open_comses_model` instead — it subsumes this tool and also loads NetLogo models into the workspace. Safety guarantees: - `version="latest"` is resolved to a concrete version BEFORE any cache path is computed. Cache dirs are named by the resolved version. - HEAD request screens oversize archives before streaming. - Stream enforces the byte cap mid-download; overruns abort and delete the partial file. - Zip members are validated against path traversal before extraction. - Uncompressed total is checked against 2 × cap to reject zip bombs. - Extract happens in a temp directory; only a successful extract is moved atomically into the cache. A `.comses_complete` marker is written on success; future calls only trust cached dirs with the marker.
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | Full model UUID (from `search_comses`). |
| max_mb | number | – | Size cap in MB. Pass 0 or omit to use the `COMSES_MAX_DOWNLOAD_MB` env var (default 50 MB). |
| version | string | – | Version string (e.g. "1.2.0") or "latest". |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
export_view Export View ~30
Export the current NetLogo view as a PNG image. Returns the image so Claude can see the model visualization.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
export_world Export World ~52
Export the full world state to a CSV file. Saves all turtle, patch, and link data. Useful for checkpointing a simulation or analyzing the complete state offline. Returns the path to the exported CSV file.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_agent_sample Get Agent Sample ~224
Return a sample of agents with selected variables as a markdown table. Filling the gap between ``get_world_state`` (aggregates only) and hand-crafted ``report`` calls. Picks N random agents from the named breed (or all turtles when ``breed`` is None) and reports the requested per-agent attributes.
| Name | Type | Req | Description |
|---|---|---|---|
| attributes | – | – | Per-agent variables to report. Each entry must also be a valid NetLogo identifier. Defaults to ``who``, ``xcor``, ``ycor``, ``color``, ``heading``. |
| breed | – | – | Agentset name, e.g. ``"sheep"``, ``"wolves"``. ``None`` means ``turtles``. Must be a valid NetLogo identifier — letters, digits, ``-``, ``_``, ``.``, ``?``, ``!`` — same rule as ``set_parameter``. |
| n | integer | – | Number of agents to sample (1-200). When N exceeds the agentset size, every agent is returned. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_comses_model Get Comses Model ~37
Get detailed metadata for a specific CoMSES model.
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | Full UUID from `search_comses` results. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_patch_data Get Patch Data ~219
Get patch data as a 2D grid (useful for heatmaps / spatial analysis).
| Name | Type | Req | Description |
|---|---|---|---|
| attribute | string | yes | The patch variable to report (e.g. 'pcolor', 'grass'). |
| max_cells | integer | – | Upper bound on the number of grid cells returned in full-grid mode. When the world exceeds the cap, rows and columns are evenly downsampled (nearest-neighbor) to fit; the response includes a ``downsa… |
| summary_only | boolean | – | If True, return shape + min/mean/max/std/unique-count instead of the full 2D grid. For a 100×100 world this trims ~10k cells of JSON to ~6 numbers — useful when you just want to know "is this attribu… |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
get_world_state Get World State ~39
Get the current world state: tick count, agent counts, world dimensions. Returns JSON with ticks, turtle/patch/link counts, and world bounds.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_experiments List Experiments ~174
List BehaviorSpace experiments saved inside a NetLogo model file. Reads the `<experiments>` section of a `.nlogox` (or `.nlogo`) without starting a JVM, so it's instant. By default it inspects the model the AI most recently loaded; pass `model_path` to inspect a specific file. Returns JSON: `{"model_path": ..., "experiments": [<spec>...]}` where each spec includes `name`, `repetitions`, `time_limit`, `setup_commands`, `go_commands`, `metrics`, `variables` (with `expanded_size` per variable), and `total_runs`. An empty list means the file has no saved experiments — you can still pass an inline spec to `run_experiment`.
| Name | Type | Req | Description |
|---|---|---|---|
| model_path | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
list_models List Models ~37
List all .nlogo model files in the configured models directory. Returns a JSON array of {name, path, size_kb} objects.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
open_comses_model Open Comses Model ~440
Download (or reuse cache), then open a COMSES model ready to use. This is the **single entry point** most AI flows should call. Behavior: - Resolves `"latest"` to a concrete version BEFORE any cache path is computed. The returned `resolved_version` is what every follow-up `read_comses_files` call MUST pass — never re-pass `"latest"` in the same flow, or you risk inspecting a different cache slot than the model you just loaded. - If the cache for `(identifier, resolved_version)` is already complete (has `.comses_complete`), skips download. - Otherwise, downloads + extracts safely (same logic as `download_comses_model`). - If the model is NetLogo, picks one `.nlogo` / `.nlogox` per Section 4.4 rules (exactly one → use it; else prefer `code/`; else prefer `.nlogox`; else lex-largest relative path — a deterministic tie-breaker, NOT semver-aware). - If NetLogo, loads it into the workspace. - If not NetLogo, returns structured info for manual follow-up. Returns JSON with: - `status`: "loaded_netlogo", "not_runnable_in_netlogo", or "no_netlogo_file". - `resolved_version`: concrete version string (never "latest"). - `identifier`, `title`, `language`, `license`, `cached`. - `extracted_path`: absolute path to cached model directory. - `all_netlogo_files`: list of every NetLogo file found. - `loaded_netlogo_file`: the one selected (if any). - `code_files`: source files by extension. - `odd_doc`: ODD / README path, if any. - `message`: short text for the AI to show the user.
| Name | Type | Req | Description |
|---|---|---|---|
| identifier | string | yes | Full model UUID. |
| max_mb | number | – | Max download size in MB. Pass 0 or omit to use the env default. |
| version | string | – | Version string or "latest". |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
open_model Open Model ~45
Open an existing .nlogo model file.
| Name | Type | Req | Description |
|---|---|---|---|
| path | string | yes | Path to the .nlogo file. Can be absolute, or relative to the configured models directory. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
preview_experiment Preview Experiment ~245
Show the run plan for a BehaviorSpace experiment WITHOUT executing it. Use this before `run_experiment` to verify the parameter combinations, total runs, and rough time estimate. Two modes: - **By name:** pass `experiment_name` (must match a saved experiment in the model file). The other args are ignored. - **Inline:** omit `experiment_name` and pass `metrics` + (optionally) `variables`, `repetitions`, `time_limit`, `setup_commands`, `go_commands`, `stop_condition`. Returns JSON with the resolved spec, `total_runs`, and a coarse `estimated_seconds_lower_bound` derived from `time_limit × total_runs` assuming roughly 1k ticks/s per run (real models are usually slower).
| Name | Type | Req | Description |
|---|---|---|---|
| experiment_name | – | – | – |
| go_commands | string | – | – |
| metrics | – | – | – |
| model_path | – | – | – |
| repetitions | integer | – | – |
| run_metrics_every_step | boolean | – | – |
| sequential_run_order | boolean | – | – |
| setup_commands | string | – | – |
| stop_condition | – | – | – |
| time_limit | integer | – | – |
| variables | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
read_comses_files Read Comses Files ~427
Return text contents of source and documentation files from a downloaded COMSES model. The model MUST already be downloaded by `open_comses_model` or `download_comses_model`. If the cache is absent, this tool returns an error telling the AI to call one of those first. The AI should pass the `resolved_version` it captured from `open_comses_model` — not the literal string `"latest"` — or it risks inspecting a different cache slot than the model it just loaded. When `version="latest"` is passed, this tool calls the COMSES API to resolve it (so it works standalone) and surfaces the concrete version in the `resolved_version` field of the response. Behavior: - Files are UTF-8 decoded with `errors="replace"` so binary junk never aborts the call. Every file that matches `extensions` is returned as a string (may contain replacement characters for non-text bytes). - Files are included in priority order: ODD docs → NetLogo source → other code → other .md/.txt → everything else matching extensions. - Total body is capped at `max_total_bytes` (default 50 KB — sized to fit in a single conversational-LLM tool response). When the cap is hit mid-file, that file is truncated at a line boundary; subsequent files are listed in `omitted_files` with reason `byte_cap_reached`. For larger pulls, pass a higher value explicitly. - Files matching no `extensions` filter are listed in `omitted_files` with reason `extension_not_in_filter`.
| Name | Type | Req | Description |
|---|---|---|---|
| extensions | – | – | List of file suffixes (with dot) to include. Defaults to NetLogo + common ABM languages + .md + .txt. |
| identifier | string | yes | Full model UUID. |
| max_total_bytes | integer | – | Cap on total returned content. |
| version | string | – | Concrete version (preferred) or "latest". Always surfaced back in `resolved_version`. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
report Report ~46
Evaluate a NetLogo reporter expression and return its value.
| Name | Type | Req | Description |
|---|---|---|---|
| reporter | string | yes | A NetLogo reporter expression (e.g. 'count turtles', 'mean [energy] of turtles'). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
run_experiment Run Experiment ~494
Run a BehaviorSpace experiment headlessly and return summarized results. Two ways to specify the experiment: - **By name** — pass `experiment_name` matching a saved experiment in the loaded model (.nlogox `<experiments>` section). All other experiment-shape args are ignored. - **Inline** — omit `experiment_name`. Required: `metrics`. Optional: `variables` (list of `{"name", "values"}` or `{"name", "first", "step", "last"}`), `repetitions`, `time_limit`, `setup_commands`, `go_commands`, `stop_condition`. Variable shapes (Cartesian product of all expanded values is run for each repetition):: [{"name": "density", "values": [50, 60, 70]}, {"name": "growth-rate", "first": 0.1, "step": 0.05, "last": 0.3}] Long-run controls: - `max_total_runs` — refuse to start if `total_runs` exceeds this. - `timeout_seconds` — kill the launcher after this many seconds. Partial results in the table CSV are preserved. - `threads` — parallel runs (0 = let NetLogo decide; default ~75% of CPUs). The launcher runs in a SEPARATE JVM, so the GUI workspace this server is hosting is unaffected. Run before calling this only matters insofar as the model file must be saved on disk (it is, after open_model / create_model / open_comses_model). Returns JSON with: `output_csv`, `runs`, `metrics_summary`, `per_combination`, `duration_seconds`, `command`, `timed_out`. The full per-tick data is in `output_csv` for offline analysis.
| Name | Type | Req | Description |
|---|---|---|---|
| experiment_name | – | – | – |
| go_commands | string | – | – |
| max_total_runs | integer | – | – |
| metrics | – | – | – |
| model_path | – | – | – |
| output_name | – | – | – |
| repetitions | integer | – | – |
| run_metrics_every_step | boolean | – | – |
| sequential_run_order | boolean | – | – |
| setup_commands | string | – | – |
| stop_condition | – | – | – |
| threads | integer | – | – |
| time_limit | integer | – | – |
| timeout_seconds | integer | – | – |
| variables | – | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
run_simulation Run Simulation ~193
Run the simulation for N ticks and collect reporter data each tick.
| Name | Type | Req | Description |
|---|---|---|---|
| go_command | string | – | The go command to use (default: "go"). |
| max_rows | integer | – | If > 0 and the run produces more rows than this, the output is decimated by evenly-spaced sampling (always keeps the final tick). Use to keep a long run's output below the client's context budget wit… |
| reporters | array | yes | List of NetLogo reporter expressions to collect each tick. |
| summary_only | boolean | – | If True, return only min/mean/max/std/final per reporter — much smaller than the full per-tick table. Use this when you don't need the time series, e.g. parameter sweeps that only care about the fina… |
| ticks | integer | yes | Number of ticks to run (1-10000). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
save_model Save Model ~139
Save NetLogo model code to a .nlogox file in the models directory. This saves the model so you can open it in the NetLogo desktop app for live visualization with GUI, sliders, and real-time animation.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | NetLogo model code (procedures only — envelope added automatically). Or provide a full .nlogox XML file. |
| name | string | yes | Filename for the model (without extension). |
| widgets | – | – | Optional interface widgets — same schema as create_model (slider/switch/button/monitor). Slider/switch widgets DEFINE their variable; don't also declare it in `globals [...]`. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
search_comses Search Comses ~63
Search the CoMSES Net computational model library.
| Name | Type | Req | Description |
|---|---|---|---|
| page | integer | – | 1-indexed page number (10 results per page). |
| query | string | – | Free-text search across title, description, authors, tags. Leave empty to browse all models. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
server_info Server Info ~91
Return a snapshot of the running NetLogo MCP server's configuration. Useful as a no-cost health check for the AI / user — returns the server version, configured paths, GUI mode, currently-loaded model, and whether a NetLogo headless launcher is reachable for BehaviorSpace runs. No JVM round-trip; this is a pure config / filesystem inspection so it works even before the workspace is fully initialized.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
set_parameter Set Parameter ~107
Set a NetLogo global variable / slider / switch value.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | Name of the global variable (e.g. 'initial-number-sheep'). Must be a valid NetLogo identifier — letters, digits, and any of ``- _ . ? !`` only. Names with whitespace or shell/NetLogo meta-chara… |
| value | – | yes | The value to set. Numbers, strings, booleans accepted. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
update_model Update Model ~144
Update the currently loaded model's code in place and reload it. Prefer this over create_model when iterating on an existing model: the same .nlogox file is rewritten and reloaded, so the NetLogo window stays on one model and the models directory doesn't grow a new file per iteration.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | New NetLogo procedures — a FULL replacement of the code tab, not a diff. Raw procedures only (no .nlogox XML). |
| widgets | – | – | Optional new interface widgets (same schema as create_model). When omitted, the model's existing widgets are preserved unchanged — sliders keep their positions and values. |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
watch_simulation Watch Simulation ~163
Run the simulation SLOWLY so a human can watch it in the GUI window. Unlike run_simulation (full speed, returns data), this steps `go` once per tick with a pause between steps — use it for demos and teaching when the user wants to see the dynamics unfold live. In headless mode it works but there's nothing to watch; prefer run_simulation there.
| Name | Type | Req | Description |
|---|---|---|---|
| delay_ms | integer | – | Pause between steps in milliseconds (10-2000, default 150). ticks x delay_ms must stay under 120 seconds — chain calls for longer demos. |
| go_command | string | – | The command to run each step (default "go"). |
| ticks | integer | yes | Steps to run (1-2000). |
| Name | Type | Req | Description |
|---|---|---|---|
| result | string | yes | – |
No examples provided.
What is the NetLogo MCP server?
NetLogo MCP is listed in the public MCP registry as io.github.Razee4315/netlogo-mcp. Create, run, and analyze NetLogo agent-based models through natural conversation. This page covers its PyPI package (netlogo-mcp).
Is the NetLogo MCP server safe to use?
NetLogo MCP scores 64 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the NetLogo MCP server expose?
NetLogo MCP exposes 25 tools: open_model, command, report, run_simulation, watch_simulation, and 20 more. Their descriptions and schemas cost roughly 4,213 tokens of context every time the server is loaded.
Is the NetLogo MCP server still maintained?
NetLogo MCP is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.