Skip to main content
Glama

dfs_search

Read-onlyIdempotent

Traverse a graph depth-first from a start node to find a path, return visit order and reachable count, and detect cycles.

Instructions

Depth-first search on a graph. Finds a path, visit order, reachable count, and detects cycles.

Input Schema

NameRequiredDescriptionDefault
edgesYesArray of edges
startYesStart node
targetNoOptional target node
directedNoWhether the graph is directed (default true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.1.11

TDQS

B3.3/5.0
Behavior3/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 useful result semantics by saying it returns a path, visit order, reachable count, and cycle detection, but it does not explain how target or directed flags affect behavior or what the return structure looks like.

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 two short sentences with no wasted words. It front-loads the algorithm and follows with the output summary, making it easy to scan.

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

Completeness3/5

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

Given rich annotations and full schema coverage, the description covers the core purpose and output categories. However, with no output schema, it could be more complete about how the optional target affects the path result and how the cycle-detection output is represented.

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%, so every parameter is already documented in the input schema. The description does not add any parameter-specific meaning beyond the schema, which is acceptable at baseline 3 when the schema does the heavy lifting.

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

Purpose4/5

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

The description names a specific algorithm and resource ("Depth-first search on a graph") and lists the outputs it produces ("path, visit order, reachable count, and detects cycles"). It is clear what the tool does, but it does not explicitly distinguish itself from siblings like bfs_search or graph_analyze.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use DFS versus BFS, Dijkstra, or graph_analyze. The only implied usage is that it operates on graphs, which is evident from the tool name and schema; no alternatives, prerequisites, or exclusions are named.

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

Deploy Server

Other Tools