Skip to main content
Glama
ProfessioneIT

lsp-mcp-server

lsp_call_hierarchy

Read-onlyIdempotent

Analyze code flow by identifying function callers and callees to understand dependencies and assess refactoring impact.

Instructions

Get the call hierarchy for a function/method - who calls this function (incoming) and what functions this calls (outgoing). Essential for understanding code flow and impact analysis before refactoring.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_pathYesAbsolute path to the source file
lineYesLine number (1-indexed)
columnYesColumn number (1-indexed)
directionNoDirection of call hierarchy: incoming (callers), outgoing (callees), or bothboth
Behavior4/5

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

Annotations already declare readOnlyHint=true, openWorldHint=false, and idempotentHint=true, covering safety and idempotency. The description adds valuable context beyond this by explaining the tool's purpose for 'code flow and impact analysis before refactoring,' which helps the agent understand its behavioral use case, though it doesn't detail rate limits or specific output formats.

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

Conciseness5/5

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

The description is appropriately sized and front-loaded, with two sentences that efficiently convey purpose and usage without waste. Every sentence adds value: the first defines the tool's function, and the second explains its importance, making it easy for an agent to parse quickly.

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?

Given the tool's moderate complexity, rich annotations, and 100% schema coverage, the description is mostly complete. It lacks details on output format or pagination, which is a minor gap since there's no output schema, but it sufficiently covers purpose and context for effective use by an agent.

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 description coverage is 100%, with clear documentation for all parameters including file_path, line, column, and direction with enum values. The description does not add any additional meaning beyond what the schema provides, such as explaining parameter interactions or edge cases, so it meets the baseline for high schema coverage.

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 description clearly states the tool's purpose with specific verbs ('Get the call hierarchy') and resources ('function/method'), distinguishing it from siblings like lsp_find_references or lsp_type_hierarchy by focusing on call relationships rather than references or type hierarchies. It explicitly mentions both incoming and outgoing directions.

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?

The description provides clear context for usage ('Essential for understanding code flow and impact analysis before refactoring'), indicating when this tool is valuable. However, it does not explicitly state when not to use it or name specific alternatives among siblings, such as lsp_find_references for different analysis needs.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ProfessioneIT/lsp-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server