Skip to main content
Glama
Pharaoh-so

Pharaoh - Your AI breaks things it can't see

query_dependencies

Read-only

Trace dependency paths between two modules to identify connections, detect circular dependencies, and reveal shared dependencies before refactoring or modifying code.

Instructions

Trace how two modules are connected BEFORE splitting, merging, or decoupling them.

CALL THIS WHEN: • You're refactoring and need to know if two modules depend on each other • You suspect a circular dependency and want to confirm it • You're planning to extract shared code and need to see what both modules use • You need to understand why changing module A affects module B

RETURNS: Forward and reverse dependency paths between the two modules, circular dependency detection with warnings, and all shared dependencies (modules both depend on).

EXAMPLES: • "Do slack and crons have a circular dependency?" • "What's the dependency path from auth to db?" • "What do the api and workers modules have in common?" • "Why does changing utils break the notifications module?"

WHY NOT JUST READ FILES: Import statements show direct dependencies but miss transitive paths (A→B→C→D). This traces the full module graph and reveals indirect connections, circular dependencies, and shared dependencies invisible from file-level inspection.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

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

Annotations declare readOnlyHint=true. Description adds graph traversal behavior (reveals 'transitive paths', 'indirect connections', 'full module graph'), return value structure ('Forward and reverse dependency paths', 'circular dependency detection', 'shared dependencies'), and safety context (analysis operation with warnings). Does not mention rate limits or performance constraints.

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?

Well-structured with clear headers (CALL THIS WHEN, RETURNS, EXAMPLES, WHY NOT JUST READ FILES). Front-loaded with core purpose in first sentence. Slightly verbose but every section adds distinct value; examples are concrete and help clarify intent.

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?

No output schema exists, so description adequately explains return values (dependency paths, circular detection, shared dependencies). Covers purpose, usage contexts, return format, and differentiators from siblings. Absence of parameter documentation is appropriate given 0-param schema.

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?

Schema contains 0 parameters. Per rubric, 0 params = baseline 4. Description conceptually references 'two modules' but does not contradict the schema (no parameter section claimed); this describes the conceptual scope of the analysis rather than specific input fields.

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?

Opening sentence uses specific action verb 'Trace' with clear resource 'modules' and scope 'how two modules are connected'. Distinguishes from file-reading and general mapping tools via 'BEFORE splitting, merging, or decoupling' qualifier and the 'WHY NOT JUST READ FILES' section explaining transitive graph analysis vs direct imports.

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?

Contains explicit 'CALL THIS WHEN:' section with 4 specific refactoring scenarios (circular dependencies, extraction planning, change impact analysis). Includes 'WHY NOT JUST READ FILES' section that explicitly contrasts with manual inspection alternative, explaining transitive paths vs direct imports.

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/Pharaoh-so/pharaoh'

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