Skip to main content
Glama
papyruslabs-ai

Seshat

Official

Get Blast Radius

get_blast_radius
Read-onlyIdempotent

Map all transitively affected symbols—upstream callers and downstream callees—with distance from the change point before modifying code to avoid breakage.

Instructions

Before modifying a function, call this to see everything that could break. Returns all transitively affected symbols — both upstream callers and downstream callees — with distance from the change point. Like git log --follow but for runtime impact. Designed for repeated use: as you discover new symbols with other tools, call this again on them to expand your understanding of the affected surface.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectNoProject name (required in multi-project mode). Use list_projects to see available projects.
entity_idsYesArray of entity IDs or names to compute blast radius for

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.20.2

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint, so the safety profile is covered. The description adds behavioral context beyond annotations: it explains the transitive scope, the distance metric returned, and the intended iterative expansion pattern. It does not mention performance or rate limits, but the annotation coverage lowers the burden and the added usage pattern is substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the trigger condition ('Before modifying a function'), then the return scope, then an analogy, then iterative usage. Four sentences, each carrying weight, with no fluff. Slightly longer than minimal but justified by the complex transitive semantics.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Covers when to call, what it returns conceptually, and how to use iteratively. The lack of an output schema means the description should ideally explain the return format more, but it does state 'distance from the change point' and categories of affected symbols. Complete enough for correct invocation, with minor room to specify output shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters are fully documented in the schema. The description explains that the tool computes blast radius for the given entity IDs but does not add format details, batching guidance, or constraints beyond what the schema provides. Baseline 3 is correct when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (get blast radius) and clearly defines the resource as all transitively affected symbols, distinguishing both upstream callers and downstream callees. The analogy 'like git log --follow but for runtime impact' makes the scope concrete and differentiates it from siblings like get_dependencies or get_lineage.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Before modifying a function, call this' and 'Designed for repeated use: as you discover new symbols with other tools, call this again.' This gives both the prime trigger condition and iterative usage guidance, which is rare and valuable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.