Skip to main content
Glama

query_intersect

Answer a conjunctive query: concepts reachable from EVERY anchor at once (A AND B).

query_ckg walks outward from one concept. This intersects the reachable sets of two or more, which is the shape of most real questions — "the component that satisfies A AND applies to B". Neither anchor alone answers it; the answer lives in the overlap.

Every branch is an exact set of declared edges, so the intersection is exact. A concept appears only if a declared path reaches it from each anchor. A relation missing from the graph produces an empty result, never a guess.

Args: branches: Two or more branches. Either a bare anchor ("TensorRT-LLM"), which takes everything within depth hops, or an anchor plus an explicit relation path using '>' ("TensorRT-LLM > REQUIRES > ENABLES"), where each relation replaces the frontier. '*' matches any relation. Mix both forms freely. depth: Hops for bare-anchor branches, 1-5 (default 2). Ignored for explicit paths. direction: 'out' follows dependencies, 'in' follows them backwards, 'both' (default). mode: 'AND' (default) intersects branches; 'OR' unions them. limit: Max concepts listed, 1-200 (default 40). The true count is always shown.

Returns: Markdown with the query plan and its per-step set sizes, then the answer set with taxonomy tags. Reports which branch was empty when the intersection is empty.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoAND
depthNo
limitNo
branchesYes
directionNoboth

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Added

TDQS

A5/5.0
Behavior5/5

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

With no annotations provided, the description carries the full burden and does so thoroughly. It states that every branch is an exact set of declared edges, so intersection is exact, that a missing relation produces an empty result (never a guess), that the true count is always shown, and that empty branches are reported. These are meaningful behavioral guarantees beyond the basic schema.

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 well-structured and front-loaded with the core purpose, then flows into usage guidance, behavior, and concise parameter explanations. Every sentence adds value, with no fluff or repetition. Despite its length, it is efficiently packed with necessary information.

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?

Given no annotations, no schema descriptions, and a complex branching syntax, the description covers all needed aspects: when to use, parameter semantics, edge cases (empty results), and return format (Markdown with query plan, per-step sizes, and answer set). It is fully sufficient for an agent to invoke the tool correctly.

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

Parameters5/5

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

Schema coverage is 0%, so the description is the only source of parameter meaning. It explains branches syntax in detail (bare anchor vs explicit path with '>', wildcard '*'), depth range (1-5, default 2, ignored for explicit paths), direction ('out', 'in', 'both'), mode ('AND' vs 'OR'), and limit (1-200, default 40, with true count always shown). This far exceeds what the raw schema provides.

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 opens with a specific, actionable purpose: "Answer a conjunctive query: concepts reachable from EVERY anchor at once (A AND B)." It then explicitly contrasts with the sibling tool query_ckg, making it clear this tool handles multi-anchor intersections rather than single-concept traversal.

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?

The description identifies the exact use case: "the shape of most real questions — the component that satisfies A AND applies to B" and notes that "Neither anchor alone answers it; the answer lives in the overlap." It also names the alternative query_ckg, providing explicit guidance on when to use this tool versus that one.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools serve clearly distinct roles: querying, searching, routing, and verification are separate concerns. However, query_ckg and get_prerequisites both return prerequisite information, which could cause an agent to select the wrong tool when a simple prerequisite list is needed. The descriptions do clarify the difference (generic traversal vs. full ordered chain), but some ambiguity remains.

Naming Consistency4/5

The vast majority of tools follow a consistent snake_case verb_noun pattern, such as evaluate_trust_chain, list_concepts, and route_query. The only exception is resolution_path, which is a noun phrase rather than a verb_noun, making it slightly less predictable. This is a minor deviation from an otherwise strong pattern.

Tool Count5/5

With 10 tools, the server has a well-scoped surface area for a knowledge graph that requires discovery, traversal, routing, and audit capabilities. Each tool represents a distinct operation, and there are no redundant or unnecessary entries. This falls comfortably within the ideal range for a domain-specific server.

Completeness5/5

The toolset covers the full read-side lifecycle of the knowledge graph: discovery, traversal, path analysis, routing, and trust verification. It also includes specialized tools for benchmarking and source verification, which are unusual but valuable additions. No obvious critical gaps exist, such as missing search or traversal capabilities.

Resources