Skip to main content
Glama

aiworkhub_source_graph_ensure_started

Idempotent

Idempotently ensure exactly one Source Graph indexing daemon is running for the active repository, without starting duplicate threads or creating a daemon for an uninitialized repo.

Instructions

Idempotently ensure exactly one Source Graph indexing daemon is running for the active repository. Safe to call repeatedly (InitRepo, activation, tab-deserialization, reload) -- never starts a second thread and never fabricates a running daemon for an uninitialized repository.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "aiworkhub_source_graph_ensure_started"
  }
}

Input Schema

NameRequiredDescriptionDefault

No arguments

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare idempotentHint=true and destructiveHint=false, but the description adds non-redundant behavior: it never spawns a second thread and never fabricates a running daemon for an uninitialized repository. It does not say what is returned or thrown when the repository is uninitialized, leaving one behavioral edge implicit.

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?

Two tight sentences, front-loaded with the idempotency guarantee and the single-daemon invariant, with the call-site examples and uninitialized-repo caveat after. No filler or repeated annotation content.

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?

An output schema exists, so return-value explanation is not required, and the safety profile is covered by annotations. The only gap is not stating the failure mode for an uninitialized repository (error vs. status payload), which matters given this tool is invoked automatically during reload and deserialization.

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?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The repository scoping is stated as 'active repository', which is the only semantic an agent needs here and which no parameter encodes.

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 ('ensure started'), the exact resource ('Source Graph indexing daemon'), and the scope ('active repository'). It also states the invariant ('exactly one'), which distinguishes it from siblings like source_graph_stop, source_graph_refresh_now, and source_graph_health without needing to open any schema.

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?

It gives concrete call sites ('InitRepo, activation, tab-deserialization, reload') and states the tool is safe to call repeatedly. It stops short of explicitly naming alternatives it should be preferred over or when not to call it, so it is clear context rather than full routing guidance.

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