Skip to main content
Glama

Query aictrl project context

query_context
Read-only

Read project context in exactly six domains: code, system (architecture, data model, APIs, roadmap), issues, backlog (epics and tasks), agent skills, and stack layers. Most actions read stored, indexed context such as the knowledge graph. Two reads reach GitHub live: issues/read returns the current GitHub issue and latest comments (issues/context, list and overlap use stored issue context), and code/read can fetch file content from repositories connected to the organization. Use backlog list/get actions to find existing epic and task IDs before calling update_backlog. Read-only: it does not create, change, or delete backlog, workflow, or GitHub data. Not for workflow runs or task executions: use list_workflow_runs to discover runs, get_workflow_run for a known run ID, and get_task_execution for an execution ID returned by start_task.

Input Schema

NameRequiredDescriptionDefault
queryNoPrimary search term, file path, symbol, or ID (e.g., "UserService", "EPIC-123", "coding-standards"). For domain=skills with action=load, the primary form is the human-readable skill name returned by list/recommend (e.g., "writing-gherkin"); a skill UUID is still accepted and loads by ID.
actionYesQuery type. Valid actions depend on the domain; actions are NOT shared across domains. Valid actions per domain — code: search, context, impact, callers, deps, plan, traverse, skeleton, edge_query, batch_context, read, co_changes, churn, authors, recent_prs_for_file, pr_history_for_subsystem, subsystem, layer, neighbourhood, pr_context; system: entity, model, enum, lineage, api, architecture, subsystem, roadmap, feature; issues: context, list, overlap, prs_for_issue, read; backlog: list, get, list_epics, get_epic, list_tasks, get_task; skills: list, recommend, list_files, load; stack: list_layers, list_agents, get_layer. "list" is supported only by: issues, backlog, skills; "get" is supported only by: backlog. Any other domain/action pair returns invalid_action. Notes: issues/context reads stored KG, issues/read reads the live GitHub issue and latest comments (params.repoFullName + params.issueNumber); backlog list defaults to epics (params.type="tasks" + epic_id for tasks), backlog get takes query=ID and auto-detects epic vs task.
domainYesThe area of the project to explore.
paramsNoAdditional filters or options like depth, limit, type, or start_line.
versionNoAPI version (default: v1)
organization_idYesAICtrl organization ID returned by list_organizations.

Output Schema

NameRequiredDescriptionDefault
nextNo
resultYes
coverageNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / action / description
      Previous value: -"Query type. Universal actions (work across domains): list, get. Domain-specific actions — code: search, context, impact, callers, deps, plan, traverse, skeleton, batch_context, read, co_changes, churn, authors; system: entity, model, enum, lineage, api, architecture, roadmap, feature; issues: context (stored KG), read (authenticated live GitHub issue and latest comments; params.repoFullName + params.issueNumber), list, overlap; backlog: list (default: epics; params.type=\"tasks\" + epic_id for tasks), get (query=ID, auto-detects epic vs task), list_epics, get_epic, list_tasks, get_task; skills: list, recommend, list_files, load; stack: list_layers, list_agents, get_layer."New value: +"Query type. Valid actions depend on the domain; actions are NOT shared across domains. Valid actions per domain — code: search, context, impact, callers, deps, plan, traverse, skeleton, edge_query, batch_context, read, co_changes, churn, authors, recent_prs_for_file, pr_history_for_subsystem, subsystem, layer, neighbourhood, pr_context; system: entity, model, enum, lineage, api, architecture, subsystem, roadmap, feature; issues: context, list, overlap, prs_for_issue, read; backlog: list, get, list_epics, get_epic, list_tasks, get_task; skills: list, recommend, list_files, load; stack: list_layers, list_agents, get_layer. \"list\" is supported only by: issues, backlog, skills; \"get\" is supported only by: backlog. Any other domain/action pair returns invalid_action. Notes: issues/context reads stored KG, issues/read reads the live GitHub issue and latest comments (params.repoFullName + params.issueNumber); backlog list defaults to epics (params.type=\"tasks\" + epic_id for tasks), backlog get takes query=ID and auto-detects epic vs task."
  2. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and destructiveHint, and the description reinforces this without contradiction while adding behavior the annotations cannot express: most reads hit stored indexed knowledge-graph context, but issues/read and code/read reach GitHub live. It also discloses the invalid_action fallback behavior for unsupported domain/action pairs.

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?

It is front-loaded with the six-domain scope before the live-read and exclusion details, and every sentence carries routing or scoping information. It is dense and long, but for a tool with 20+ valid actions per domain the density is justified rather than padding.

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?

An output schema exists, so return values need not be described, and the description fills the remaining gaps for a broad multi-action tool: domain coverage, live vs stored semantics, the per-domain action grammar, and sibling routing. There is nothing an agent would need to call it correctly that is missing.

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 coverage is 100%, so the baseline is 3, but the description adds cross-parameter meaning beyond the schema: issues/read requires params.repoFullName plus params.issueNumber, backlog list defaults to epics and needs params.type="tasks" with epic_id for tasks, and backlog get takes query=ID with auto-detection. These relationships are only partly captured in the schema text.

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 names a specific verb and resource ('Read project context') and enumerates the exactly six domains the tool covers, with brief parenthetical scope for each. It clearly distinguishes itself from siblings by stating it is not for workflow runs or task executions and naming the three tools that are.

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?

It gives explicit routing rules: use list_workflow_runs to discover runs, get_workflow_run for a known run ID, get_task_execution for an execution ID from start_task, and use backlog list/get to find IDs before update_backlog. It also distinguishes stored vs live reads so the agent can pick issues/context versus issues/read.

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.