Skip to main content
Glama

analyze_dependency

Read-onlyIdempotent

Analyzes which other types a given type references through fields, parent classes, and method return types to assess the impact of modifying that class.

Instructions

分析一个类型引用了哪些其它类型(字段/父类/方法返回类型)。近似,非精确调用图。

referenced_count 是真实总数(不受 limit 影响); referenced_types 最多 100 条并带 referenced_has_more。

用来判断「改这个类会不会牵连很多地方」。

同类名跨程序集时会拒绝并给出候选(与 class_detail 同一规则)。

Args: full_name: 类完整名。 assembly: 同名类消歧用(子串匹配,如 "TeamTapas")。

Input Schema

NameRequiredDescriptionDefault
assemblyNo
full_nameYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

A4.6/5.0
Behavior5/5

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

Beyond the readOnly/idempotent annotations, the description discloses real behavioral traits: it is an approximate graph, referenced_count is the true total independent of limit, referenced_types caps at 100 with a referenced_has_more flag, and ambiguous same-name classes are rejected with disambiguation candidates.

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-loaded purpose, then caveats, then usage rationale, then Args — a logical order with little waste. The bold emphasis and backticks add mild formatting noise but not enough to detract materially.

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

Completeness5/5

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

There is no output schema, and the description compensates by describing the shape of the result (referenced_count, referenced_types with has_more). Combined with the read-only annotations and two clearly documented params, an agent has everything needed to call it correctly.

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

Parameters4/5

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

With 0% schema description coverage the description must carry parameter meaning, and it does: full_name is the fully qualified class name, and assembly disambiguates same-named classes via substring match with a concrete example ('TeamTapas'). Minor gap that full_name itself needs little elaboration.

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?

The opening sentence states a specific verb+resource and even defines what 'references' covers (fields/parent class/method return types), so an agent knows exactly what is being computed. The caveat that it is an approximate dependency view, not an exact call graph, further sharpens the purpose.

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

Usage Guidelines4/5

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

It supplies a clear use case — judging whether changing a class will ripple to many places — and notes that cross-assembly name collisions are rejected with candidates following the same rule as class_detail. It does not explicitly compare against class_hierarchy or find_derived_classes, so it falls short of a full when/when-not decision.

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