You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add documentation and examples for batch_search, batch_symbol_graph, and batch_graph_query (max 10 queries per batch, ~75% token savings) and expand symbol_graph to include subclasses/base_classes. Clarify graph_query availability (Memgraph-backed, available to SaaS users) and its query types (impact, transitive callers/callees, cycles, dependencies, etc.) and add include_paths/depth options and examples. Update index management to state SaaS indexing is automatic (qdrant_index*, qdrant_prune not available in SaaS), add qdrant_list and embedding_pipeline_stats, and mark qdrant_index/root/prune as self-hosted only. Update best-practice guidance and MCP tool-selection to recommend search as the default, document batch usage and parallel call patterns, and adjust various examples and reference tables accordingly.
Returns `{ok, batch_results: [result_set_0, ...], count, elapsed_ms}`. Max 10 searches per batch. Shared params (`collection`, `limit`, `language`, etc.) apply to all searches unless overridden per-search. Use when you have 2+ independent code searches; use individual `search` calls when you need intent routing or searches depend on each other.
50
71
51
72
**repo_search** - Direct code search (full control):
Query types: `callers`, `callees`, `definition`, `importers`. Use `depth=2` for multi-hop. Falls back to semantic search if no graph hits. Results include ~500-char source snippets.
65
-
66
-
**graph_query** (OPTIONAL -- only if NEO4J_GRAPH=1 or MEMGRAPH_GRAPH=1):
67
-
Extra query types: `transitive_callers`, `transitive_callees`, `impact`, `dependencies`, `cycles`. If not in your tool list, use `symbol_graph` instead.
87
+
Query types: `callers`, `callees`, `definition`, `importers`, `subclasses`, `base_classes`. Use `depth=2` for multi-hop. Falls back to semantic search if no graph hits. Results include ~500-char source snippets.
68
88
69
89
**context_answer** - LLM-generated explanation with citations:
70
90
```json
71
91
{"query": "How does the caching layer work?", "budget_tokens": 2000}
72
92
```
73
93
94
+
**graph_query** - Advanced graph traversals and impact analysis (available to all SaaS users):
Query types: `callers`, `callees`, `transitive_callers`, `transitive_callees`, `impact`, `dependencies`, `definition`, `cycles`. Use `include_paths=true` for full traversal paths. Memgraph-backed; `symbol_graph` (Qdrant-backed) is always available as fallback.
101
+
102
+
**batch_symbol_graph** - Run N independent symbol_graph queries in one call (~75% token savings):
Returns `{ok, batch_results: [result_set_0, ...], count, elapsed_ms}`. Max 10 queries per batch. Each query must have a `symbol` key. Shared params (`collection`, `language`, `under`, `repo`, `limit`, `depth`) apply to all unless overridden per-query.
114
+
115
+
**batch_graph_query** - Run N independent graph_query queries in one call (~75% token savings):
|`batch_search`| N searches in one call |`{"searches": [{"query": "auth"}, {"query": "cache"}]}`|
160
+
|`batch_symbol_graph`| N symbol_graph queries in one call |`{"queries": [{"symbol": "auth", "query_type": "callers"}, {"symbol": "Cache", "query_type": "definition"}]}`|
161
+
|`batch_graph_query`| N graph_query queries in one call |`{"queries": [{"symbol": "User", "query_type": "impact"}, {"symbol": "auth", "query_type": "cycles"}]}`|
104
162
105
163
## Index Management
106
164
107
-
-`qdrant_index_root` - Index workspace (run first!)
165
+
> **SaaS mode:** Indexing is handled automatically by the VS Code extension upload service. `qdrant_index_root`, `qdrant_index`, and `qdrant_prune` are **not available** in SaaS. All search, symbol graph, memory, and session tools work normally.
166
+
167
+
**Available in all modes:**
108
168
-`qdrant_status` - Check index health
109
-
-`qdrant_prune` - Remove deleted files
169
+
-`qdrant_list` - List all collections
170
+
-`set_session_defaults` - Set collection, output_format, compact, limit
-`qdrant_prune` - Remove stale entries from deleted files
110
177
111
178
## Best Practices
112
179
113
180
1.**ALWAYS start with `search`** - It is your PRIMARY tool. Auto-routes to the best specialized tool. Only fall back to specific tools when you need params `search` doesn't expose.
114
181
2.**NEVER use grep/cat/find for code exploration** - Use MCP tools instead. Only acceptable use: confirming exact literal strings.
115
-
3.**Start with `symbol_graph`** for all relationship queries - always available, no Neo4j needed
182
+
3.**Start with `symbol_graph`** for relationship queries - always available. Use `graph_query` for advanced traversals: impact analysis, circular dependencies, transitive callers/callees (available to all SaaS users)
116
183
4.**Use multi-query** for complex searches: pass 2-3 variations as a list
117
184
5.**Two-phase search**: Discovery (`limit=3, compact=true`) → Deep dive (`limit=8, include_snippet=true`)
118
-
6.**Fire parallel calls** - Multiple independent `search`, `repo_search`, `symbol_graph` in one message
185
+
6.**Fire parallel calls** - Multiple independent `search`, `repo_search`, `symbol_graph` in one message. Or use batch tools (`batch_search`, `batch_symbol_graph`, `batch_graph_query`) to run N queries in a single invocation with ~75% token savings
|`include_paths`| bool | Shared include traversal paths |
161
+
|`output_format`| string | "json" or "toon" |
162
+
163
+
**Returns:**`{ok, batch_results: [result_set_0, ...], count, elapsed_ms}`. Max 10 queries per batch.
164
+
96
165
## Memory Tools
97
166
98
167
**memory_store**
@@ -118,9 +187,16 @@ Structural code pattern matching. May not be enabled in all deployments.
118
187
119
188
## Index Management
120
189
121
-
**qdrant_index_root** - `{"recreate": true}` to drop existing data
122
-
**qdrant_index** - `{"subdir": "src/"}` for partial index
123
-
**qdrant_prune** - Remove stale entries
124
-
**qdrant_status** - Check health
125
-
**set_session_defaults** - Set collection, output_format, compact, limit
190
+
> **SaaS mode:** Indexing is handled automatically by the VS Code extension upload service. `qdrant_index_root`, `qdrant_index`, and `qdrant_prune` are **not available** in SaaS. All search, symbol graph, memory, and session tools work normally.
191
+
192
+
**Available in all modes:**
193
+
-**qdrant_status** - Check health
194
+
-**qdrant_list** - List all collections (alias for `qdrant_status(list_all=True)`)
195
+
-**set_session_defaults** - Set collection, output_format, compact, limit
0 commit comments