Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

Explore

  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Tags index
  • Submit a server
  • Pricing

Learn

  • Guides hub
  • What is MCP?
  • Install guide
  • Troubleshooting
  • Security
  • Blog
  • Blog RSS

Tools

  • All tools
  • Config generator
  • Config validator
  • MCP playground
  • OpenAPI β†’ MCP
  • Badge generator

For agents

  • API docs
  • Trust & traffic
  • llms.txt β†— (opens in a new tab)
  • Catalog JSON β†— (opens in a new tab)
  • Remote MCP β†— (opens in a new tab)

Company

  • About
  • Contact
  • X (@AllMCPs) β†— (opens in a new tab)
  • GitHub β†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on Buildlist
Β© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. 🧬 Biology & Bioinformatics
  3. Blast Scope
B
Health: Not checked yetWe have not completed a health check for this listing yet.Last checked 8/10/2026, 11:47:01 PM

Blast Scope

Enrichment pendingWe haven’t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time β€” check back soon.
View Repository

Contextual blast-radius scoring for shell commands an AI agent is about to run

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
Manual Client & Custom JSON ConfigExpand JSON β–Ύ

Install Config Generator

Choose your client
claude_desktop_config.json
{
  "mcpServers": {
    "blast-scope": {
      "command": "npx",
      "args": [
        "-y",
        "blast-scope"
      ]
    }
  }
}

πŸ’‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

Install Directory Badge Claim listing Alternatives🧬 More in Biology & Bioinformatics

Documentation Overview

Blast Scope

A consequence engine for shell commands. Blast Scope scores what a command would actually do β€” before an AI agent (or you) runs it. It doesn't pattern-match syntax into a blocklist; it figures out the command's real target, observes that target with a safe, read-only probe, and returns a structured risk score with evidence.

The whole point is contextual blast radius. The same command gets a completely different score depending on what it would actually hit:

Dockerfile
COMMAND                            SEVERITY   WHY                                          ADVICE
─────────────────────────────────  ────────   ──────────────────────────────────────────  ───────
rm -rf ./logs                      LOW        0 importers Β· regenerable Β· outside src      proceed
rm -rf ./config                    CRITICAL   8 modules import it Β· high PageRank hub      block
git reset --hard   (clean tree)    LOW        nothing uncommitted to discard               proceed
git reset --hard   (4 dirty files) HIGH       would throw away 4 files of uncommitted work confirm
git push --force   (protected)     CRITICAL   would orphan commits on a protected branch   block
docker volume rm cache  (absent)   LOW        volume doesn't exist β€” nothing to remove     proceed
docker volume rm pgdata (in use)   CRITICAL   holds data Β· in use Β· no image to rebuild    block
pip uninstall flask     (uv.lock)  LOW        regenerable β€” exact version pinned in lock   proceed
DROP TABLE users        (42 rows)  CRITICAL   schema + 42 rows Β· irreversible              block
DELETE FROM logs        (in txn)   HIGH       no WHERE β€” but inside a txn, ROLLBACK-able    confirm

Two commands can be byte-identical and score four bands apart. That gap is the product.

Not a blocklist. Not a replacement for Shellfirm. Not a syscall monitor. It scores structural consequence β€” advisory, never blocking β€” and for the rare critical command it captures an undo snapshot first.


How it works

A command flows through a cheap funnel: almost everything is recognized as non-destructive in microseconds and exits silent. Only a flagged destructive candidate pays for a probe.

Code
  shell command
      β”‚   split chains (&& || ; |) Β· de-alias PowerShell Β· parse flags/targets
      β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  STAGE 1 Β· triage  (near-free regex β€” runs on every command)          β”‚
  β”‚     which class?   git Β· docker Β· pip/uv Β· sql Β· else filesystem       β”‚
  β”‚     destructive?   `git status` β†’ no.   `git reset --hard` β†’ yes ↓     β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                    destructive candidate β”‚   (everything else exits here, silent)
                                          β–Ό
  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
  β”‚  ELIGIBILITY FILTER   safe read-only probe?   AND   undo authorable?   β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
         yes, probe it β”‚                       no probe here / now β”‚
                       β–Ό                                           β–Ό
   STAGE 2 Β· safe probe (read-only)                    heuristic estimate
     git  status Β· reflog Β· rev-list                   from a static per-class
     docker  inspect Β· ps Β· ls                          table β€” and LABELED
     sqlite  SELECT count(*)  [mode=ro]                  "(estimated)" so you
     pip/uv  read lockfiles                              know it wasn't probed
                       β”‚                                           β”‚
                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                              β–Ό
        blast radius  Γ—  reversibility   (combined PER CLASS β€” no global formula)
        filesystem also folds in: dependency-graph centrality + recoverability
                                              β–Ό
              score 0.0–1.0  β†’  severity (low / medium / high / critical)
                                              β–Ό
        PreToolUse hook:  silent (low/med) Β· advise (high) Β· advise + snapshot (critical)

The eligibility filter is the design boundary. A command class earns a live probe only when both hold: (1) its impact is observable by a strictly side-effect-free read (HTTP-GET sense β€” never mutate state to assess state), and (2) its undo story is well-known enough to encode in a static table. When a probe can't run here and now (no docker daemon, no DB driver, no creds), the tool degrades to a labeled estimate β€” it never guesses silently, and it never blocks.

See docs/heuristics.md for the per-class tables, the exact filesystem formula, and calibration.

The five command classes

ClassDestructive ops it scoresSafe (read-only) probeReversibility signal
Filesystemrm -rf, mv, > truncatedependency graph + git statusgit-tracked? regenerable? secret? precious?
Gitreset --hard, push --force, branch -D, clean -fdxstatus Β· reflog Β· rev-list Β· rev-parse @{u}reflog window Β· remote ahead Β· protected branch
Dockervolume rm, system prune -a, rm -fvolume inspect Β· ps -a Β· volume lsvolume β†’ none Β· container β†’ recreatable from image
pip / uvpip uninstall, uv pip uninstallread lockfile / manifest (no subprocess)lockfile present β†’ fully regenerable
SQLDROP, TRUNCATE, DELETE without WHERESQLite: SELECT count(*) mode=ro; transaction checkinside a transaction? backup posture?

New classes drop in behind one protocol (triage / assess) in src/blast_scope/classes/; each class confines assess to strictly side-effect-free reads.


Status

Calibrated multi-class guardrail with command resolution and a precise dependency graph.

CapabilityModule
Flag/operand-sensitive command model (POSIX and PowerShell)command_effects.py, command_parser.py
Command resolution β€” env/tilde/brace/glob expansion, unset-var hazards, script transparency (sh -c, npm run + pre/post hooks, script files, Makefile targets), read-only $(...) substitutionresolution.py
Dry-run oracles — git clean -n exact lists, reset divergence, checkout clobber preview, find -delete→-print rewrite, sqlite scoped-DELETE counts, rsync --dry-run; oracle targets feed the undo snapshotclasses/git.py, classes/find.py, classes/rsync.py, classes/sql.py
Recoverability classification (git state, secrets, regenerable, precious data)recoverability.py
Dependency graph + weighted PageRank centrality, incremental indexinggraph_resolver.py, centrality.py
Two-axis, evidence-based filesystem scoringrisk_scorer.py
Command-class probes β€” git / docker / pipΒ·uv / SQL, behind one protocolclasses/
Out-of-graph path analyzers (infra / config-by-path) + git baseconsequences.py, vcs.py, infra.py, config_refs.py
PreToolUse hook + tarball snapshot/undohook.py, snapshot.py
Eval harness + labeled corpus + calibrationeval.py, tests/fixtures/eval_corpus.jsonl

Calibration. Two harnesses, both run-it-yourself:

  • In-repo corpus (tests/fixtures/eval_corpus.jsonl, 58 cases spanning every recoverability category, git working-tree state, infra/config, rm -rf .git, a graph-indexed central module, the git/docker/pip/SQL classes, and the resolution layer β€” unset-var collapses, glob/env-var targets, sh -c payloads, npm pre-hooks, opaque wrappers, mass destruction of tracked source) β€” 58/58 exact severity, gate F1 1.00, pinned by tests/test_eval.py with headroom so changes can't silently regress.
  • SABER β€” 716 real coding-agent workspaces. Against ~1725 safe commands, blast-scope's false-positive rate is 0.58%; on its core competency (data_destruction) it catches 82.4% of injected attacks on realistic workspaces β€” on the fast hook path, no graph required, thanks to command resolution (env/glob binding + script transparency). Wrapper transparency also lifts code_tampering from ~0% to 50%. The per-category recall is deliberately uneven, and the table says so: blast-scope scores destructive consequence β€” filesystem/data loss plus git/docker/pip/SQL state. Network exfiltration and persistence are a different threat model, out of scope by design β€” not an unfinished corner. That's the boundary, drawn on purpose. See bench/.
bash
uv run python -m blast_scope.eval                 # in-repo corpus
python bench/saber_eval.py --tasks <saber>/dataset/data/tasks.jsonl   # SABER

Installation

The fastest path for any MCP client is zero-install via uvx (no clone, no venv):

bash
uvx blast-scope        # runs the MCP server on stdio

Claude Code users β€” one line wires up both the MCP tools and the advisory hook:

bash
/plugin marketplace add Atharva-Jayappa/blast-scope
/plugin install blast-scope

For development, or to pin a checkout:

bash
git clone https://github.com/Atharva-Jayappa/blast-scope.git
cd blast-scope && uv sync --all-extras

Usage

As an MCP server

Add to your MCP client config (e.g. Claude Code settings.json):

config.json
{
  "mcpServers": {
    "blast-scope": { "command": "uvx", "args": ["blast-scope"], "type": "stdio" }
  }
}

Tools exposed:

ToolPurpose
assess_command(command, cwd?, project_root?)Score a (possibly chained) command. Returns score, severity, rationale, evidence, recoverability, affected nodes, and a per-segment chain breakdown.
index_project(project_root)Force a dependency-graph rebuild (auto-built on first use otherwise).
list_snapshots(project_root)List undo snapshots, newest first.
restore_snapshot(snapshot_id, project_root)Undo a risky command by restoring its snapshot.

As a hook (tiered advice + auto-snapshot)

Intercept Bash commands before they run β€” advisory, never blocking. Volume scales with stakes: silent on low/medium, advise on high, advise + snapshot on critical. The snapshot skips what's already recoverable (git-clean, regenerable) and warns rather than tars anything over a hard size cap, so the undo net stays fast and trustworthy.

The hooks also keep the dependency graph alive on their own β€” no MCP call needed: SessionStart cold-builds it in a detached background process, and every PreToolUse refreshes it incrementally before scoring (a ~20 ms stat sweep when nothing changed), so verdicts track the current tree even after a burst of agent edits. Add to .claude/settings.json:

config.json
{
  "hooks": {
    "SessionStart": [
      { "hooks": [{ "type": "command", "command": "python -m blast_scope.hook" }] }
    ],
    "PreToolUse": [
      { "matcher": "Bash",
        "hooks": [{ "type": "command", "command": "python -m blast_scope.hook" }] }
    ]
  }
}

Full details and the undo flow: docs/hook.md.


Example output

A filesystem command, scored against the dependency graph:

jsonc
// assess_command("rm -rf ./config", project_root="/proj")
{
  "score": 0.93,
  "severity": "critical",
  "recommendation": "block",
  "recoverability": "untracked",
  "rationale": "rm targets config. 8 direct importer(s), 14 total affected. not git-tracked. recursive deletion. CRITICAL risk.",
  "evidence": [
    "8 importer(s), 14 affected node(s)",
    "high centrality (PageRank 0.91) β€” a hub other code routes through",
    "untracked β€” not in git history",
    "recursive β€” applies to every file underneath"
  ],
  "affected_nodes": [ /* ... */ ],
  "chain": [ /* per-segment breakdown */ ]
}

A command class that couldn't probe β€” note the labeled estimate (no Postgres driver, server possibly remote, so the tool refuses to guess silently):

jsonc
// assess_command('psql -c "DROP TABLE users"')
{
  "score": 0.9,
  "severity": "critical",
  "recommendation": "block",
  "evidence": [
    "drops users β€” its schema and all rows, irreversible (estimated β€” no read-only probe for postgres)"
  ]
}
// the same DROP against a local SQLite file probes for real:
//   "drops users β€” its schema and 42 row(s), irreversible"   (estimated: false)

Development

bash
uv sync --all-extras
uv run pytest -q              # full suite
uv run python -m blast_scope.eval   # scoring accuracy report

Project structure

Code
blast-scope/
β”œβ”€β”€ src/blast_scope/
β”‚   β”œβ”€β”€ server.py            # MCP server + tools (assess, index, snapshots)
β”‚   β”œβ”€β”€ command_parser.py    # shell β†’ structured intent (POSIX + PowerShell)
β”‚   β”œβ”€β”€ command_effects.py   # command/flag/operand β†’ intent + weight
β”‚   β”œβ”€β”€ recoverability.py    # path β†’ how recoverable if destroyed
β”‚   β”œβ”€β”€ graph_resolver.py    # paths β†’ dependency-graph impact (+ PageRank)
β”‚   β”œβ”€β”€ centrality.py        # pure-Python weighted PageRank
β”‚   β”œβ”€β”€ risk_scorer.py       # signals β†’ score + severity + evidence
β”‚   β”œβ”€β”€ classes/             # command-class probes behind one protocol
β”‚   β”‚   β”œβ”€β”€ __init__.py      #   Candidate Β· ConsequenceClass Β· registry
β”‚   β”‚   β”œβ”€β”€ git.py           #   reflog / upstream-divergence / protected branch
β”‚   β”‚   β”œβ”€β”€ docker.py        #   volume / container / system-prune probes
β”‚   β”‚   β”œβ”€β”€ packages.py      #   pipΒ·uv uninstall vs. lockfile presence
β”‚   β”‚   └── sql.py           #   DROP/TRUNCATE/DELETE β€” SQLite probe + estimates
β”‚   β”œβ”€β”€ consequences.py      # coordinator: class probes + path analyzers
β”‚   β”œβ”€β”€ vcs.py / infra.py / config_refs.py   # git base + path analyzers
β”‚   β”œβ”€β”€ hook.py              # PreToolUse advisory hook
β”‚   β”œβ”€β”€ snapshot.py          # tarball snapshot / restore / list
β”‚   β”œβ”€β”€ eval.py              # evaluation harness + metrics
β”‚   └── vendor/crg/          # vendored from code-review-graph (MIT)
β”œβ”€β”€ tests/                   # 298 tests incl. eval regression guard
β”‚   └── fixtures/eval_corpus.jsonl   # labeled calibration corpus
└── docs/
    β”œβ”€β”€ heuristics.md        # scoring model + per-class tables + calibration
    └── hook.md              # hook registration + undo

Roadmap

  • Lift recall on the destruction classes (glob targets over tracked files, find-based deletion variants) β€” the SABER per-category table is the worklist.
  • Optional live probes for Postgres/MySQL (in-process, read-only) once a driver policy is settled β€” today those engines degrade to labeled estimates.
  • PowerShell-shell awareness in the hook path (the MCP tool already supports it).
  • Optional richer interception modes beyond advisory.

See CLAUDE.md for the full spec, contracts, and design rules.


License

Apache 2.0 (versions ≀ 0.3.1 were MIT). The vendored code-review-graph sources remain MIT under their upstream notice β€” see NOTICE.

Related MCP Servers

View all in Biology & Bioinformatics View all alternatives
  • HealthChain logoHealthChain

    Typed, validated FHIR tools for healthcare AI agents β€” build, read, validate, and code FHIR resources from a patient bundle, with terminology lookup and machine-readable validation reports built for fix-and-retry. pip install healthchain[mcp]

    🧬 Biology & Bioinformatics3 views
    Compare vs HealthChain β†’
  • H
    Hormonaly Clinical Intelligence

    24 tools for evidence-graded clinical queries, hormones, peptides, longevity & drug interactions.

    🧬 Biology & Bioinformatics0 views
    Compare vs Hormonaly Clinical Intelligence β†’
  • H
    Healthcare Fhir Mcp

    Healthcare Fhir tools for AI agents. Capabilities: search patients, get patient, search cond...

    🧬 Biology & Bioinformatics0 views
    Compare vs Healthcare Fhir Mcp β†’
  • M
    Mdr Medical Device Mcp

    EU MDR (Reg 2017/745) and IVDR (Reg 2017/746) compliance for medical device + IVD manufacturers...

    🧬 Biology & Bioinformatics0 views
    Compare vs Mdr Medical Device Mcp β†’

Frequently Asked Questions about Blast Scope

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "blast-scope": { "command": "npx", "args": ["-y", "blast-scope"] } }

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewBlast Scope AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/blast-scope?style=directory)](https://allmcps.com/mcp/blast-scope)
HTML Embed
<a href="https://allmcps.com/mcp/blast-scope"><img src="https://allmcps.com/api/badge/blast-scope?style=directory" alt="Blast Scope on AllMCPs" /></a>

Technical Specs & Signals

Category🧬Biology & Bioinformatics
More technical detailsExpand β–Ύ
TransportSTDIO
RuntimeNode.js
0/5 checks healthy over the last 6h
Views0
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
27Quality signal: Emerging Β· 27/100How this signal is calculated β–Ύ
Server availabilityNot measured

Not scored for repo-hosted servers β€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership8/20
Documentation & tools11/30
Adoption & activity1/15
Community engagement0/10

A guidance signal from public completeness & health data β€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

β˜… Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Free dofollow backlink: after claiming, verify your product site and place a dofollow AllMCPs badge β€” we recheck it stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in 🧬 Biology & Bioinformatics β†’Alternatives to Blast Scope β†’Install in Claude DesktopInstall in CursorInstall in VS Code