Indexer Control
synapse_indexer_controlCheck server health, inspect per-repository indexing progress, and trigger re-indexing to resolve pending edges and stale summaries.
Instructions
Controls and inspects the indexing pipeline and server health. High-level actions include:
'health': cheap health probe for transport and runtime readiness. Call this first before anything else — one call tells you the server is alive and which tools are loaded.
'status': returns per-repository indexing phase progress, ETS chunk counts, embedding readiness, unresolved edge counts, and top summary candidates. Pass repo_id for a fast direct lookup of one repository; omit it to see all repositories at once. Status responses are cached for 60 seconds when all indexers are idle (5/10 s during active indexing) — this prevents 50-repo installations from timing out.
'trigger': triggers a re-index of a repository or a specific file/directory.
REPLACES: manual health probing, process monitoring, ad-hoc tool listing. Use this tool instead of these alternatives for better results with 30-60% fewer tokens via automatic compression.
Usage (short): Confirms the server is alive and reports indexing progress per repository. Monitor indexing progress, health state, and trigger indexing manually. Always pass repo_id to status for a fast scoped lookup; omit it only when you need all repos.
Usage (long): Call 'health' first to confirm the server is running, then 'status' with a repo_id to check whether that repository is ready for search. The status response includes:
repos[]: one entry per matching repository, each with phase progress, chunk_count, indexed_files, embeddings_partial, repo_unresolved_edges (edges whose target chunk has not yet been indexed), and needs_summary (top chunks that have been queried but lack a cached summary, ranked by hit_count — use these as summarisation targets).
unresolved_edges: global total across all repos (useful for cross-repo health checks).
repo_id scoping: passing repo_id performs a direct SQLite lookup rather than scanning all registered repositories, making it safe to call at 50+ repo scale.
readiness_guide: shows which tool actions work at the current indexing phase.
include_profile: true adds language/kind chunk distribution breakdown (slower).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | One of quick_pass, deep_dive_1, deep_dive_2, full, or x_repo. x_repo resolves unresolved cross-repo edges without a repo_id. (used in trigger) | full |
| path | No | Absolute or repo-relative path to re-index (used in trigger) | |
| force | No | Force re-index even if checksum unchanged (used in trigger) | |
| action | Yes | The action to perform. | |
| repo_id | No | Target repository identifier (optional for status/trigger) | |
| max_tokens | No | Approximate final response budget in tokens (500-32000, default 4000). | |
| include_profile | No | Include vectorisation and language/kind profile (used in status, slower). | |
| compress_payload | No | Set false to disable lossless response-key compression. | |
| wait_for_ready_ms | No | Optional timeout in ms to wait for the indexer to finish warming up and enter an idle state before executing. Use to ensure stable results. |