<!-- GENERATED — do not edit by hand. Source: noezis mcp schema / noezis inspect. Regenerate: make docs-reference. -->
Reference — MCP verbs
61 verbs exposed over JSON-RPC 2.0 (stdio). Each verb is callable by any MCP-capable agent. Grouped by capability tier.
Maturity note. The entity-relations verbs (
noezis_relations,noezis_entity_neighbors,noezis_path_entities,noezis_chains,noezis_triplets,noezis_explain_chain) rely on an experimental named-entity layer that is de-scoped from retrieval: their reliability depends on entity-extraction quality on your corpus. Document retrieval (noezis_search, the tree, decisions) does not depend on this layer.
Read — inspection (no mutation)
noezis_audit_contradictions
Full graph scan to detect the contradictions between passages and active Decisions. Costly on a large corpus — reserve for periodic audits or after ingesting a whole corpus. Returns the tensions grouped by severity (critical/high/low).
When to use — To audit the contradictions in the whole graph. After ingesting a large corpus to see the detected inconsistencies.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
include_resolved |
boolean \ | null | — | Include the already-resolved tensions. Default: false. |
max_results |
integer \ | null | — | Maximum number of tensions returned. Default: 50. |
min_severity |
number \ | null | — | Minimum severity (0.0 = everything). Default: 0.0. |
noezis_briefing
[DEPRECATED — use noeziscontext] State-of-the-world summary: recent ADRs, active tensions, hot topics, codifications, paradigms. Kept as a transitional alias; will be removed at V-next. The state-of-world is now a section of noeziscontext (pushed at the start of the turn).
When to use — Do not use anymore for new code — see noezis_context. Alias maintained for compatibility of the deployed hooks/skills.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string \ | null | — | Filtering by actor — if set, only the elements whose actor matches are surfaced (Decisions, OpEvents, Codifications). Format Principal (user:alice, agent:claude-code/sess-A, …). |
include_resolved_tensions |
boolean \ | null | — | If true, also surfaces the resolved tensions. Default: false (cf. T48-S08). |
max_items_per_section |
integer \ | null | — | Upper bound per section. Server default: 10. Max: 100 (silent clamp on the server side — value observable via BriefingResponse.since_used). |
since |
string \ | null | — | Lower temporal window (inclusive). Server default: now() - 7d. |
noezis_capabilities
Tool discovery by INTENT (ADR-0005): returns the catalog verbs relevant to a natural-language intent, ranked by overlap (name + description + usewhen), with their inputschema for direct call. Dynamic entry point to the long tail of tools (analogous to ToolSearch) — additive, does not replace tools/list. Pure read.
When to use — When you don't know which Noezis tool covers your need, or to find an uncommon advanced verb without browsing the whole catalog.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
intent |
string | yes | Natural-language intent (e.g. "audit the contradictions", "explore the entity graph"). Tokenized for the matching. | |
max_results |
integer \ | null | — | Max number of tools returned. Default 8, cap 30. |
noezis_compare_registers
Compares two knowledge registers and detects the divergences: same concept, contradictory values between the two registers. Pure read — does not modify the graph. Emits a registers_compared OpEvent for the audit. Typically used to verify that the ADRs and the documentation stay consistent.
When to use — To audit the consistency between two registers (e.g.: architectural decisions vs documentation) before a merge or in a periodic audit.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
first_register |
string | yes | Name of the first register to compare (e.g.: "adr"). |
|
include_resolved |
boolean \ | null | — | Include the already-resolved divergences. Default: false. |
max_results |
integer \ | null | — | Maximum number of divergences returned. Default: 100. |
second_register |
string | yes | Name of the second register to compare (e.g.: "doc"). Must be different from the first. |
|
severity_threshold |
number \ | null | — | Only return the divergences with a severity score greater than or equal to this threshold. Value between 0.0 (include everything) and 1.0 (only the direct conflicts). Default: 0.0. |
noezis_context
SINGLE entry point for retrieving the project context. In one bounded call: store health, state-of-world (recent decisions/tensions + last handoff), search results on the query, and agentic skills to apply. The context is normally PUSHED automatically at the start of the turn (UserPromptSubmit hook) — only call this tool yourself if that context was not injected (fallback) or to refresh on a new query. Successor of inquire/briefing.
When to use — As a fallback if the context block was not injected at the start of the turn, or to target a new query. Replaces noezisinquire + noezisbriefing.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
ablation_exclude |
string \ | null | — | Ablation harness (brick D) — component(s) to drop from this single response, comma-separated (decisions,search,skills,handoff, or the sentinel off for the whole envelope). Lets the eval harness sweep every arm against one live daemon. None/absent in normal use. OR-merged with the daemon's NOEZIS_FRONTLOAD_EXCLUDE env (neither shadows the other). |
max_tokens |
integer \ | null | — | Token ceiling of the envelope. None → server default (~1500). |
query |
string \ | null | — | Prompt / topic of the turn. Absent or empty → no search (pure cold-start, only health + state-of-world). Present → search + skills. |
since |
string \ | null | — | Lower bound of the state-of-world window (RFC3339). None → full (cold-start). Provided → delta since this date. It's the caller (hook/CLI) that holds the session marker and passes the last call. |
noezis_doc_audit
Audits a documentary scope on TWO axes: (1) the tensions ALREADY persisted in the graph (Pass3 contradictions, stale sections) filtered by path/topic; (2) de novo detection of doc↔code divergences (code_divergences field) — deterministic scan (without LLM) that confronts the symbols claimed by the doctrine (algos/libs/identifiers) with the real code and flags when the doc asserts X "bare" while the code uses a contradictor Y. Pure read — modifies neither the graph nor the files.
When to use — Before modifying doc, or in an anti-drift audit: see the recorded tensions AND the doc↔code gaps detected on the fly (direct filesystem scan, without prior ingestion).
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
max_results |
integer \ | null | — | Maximum number of results. Default: 30. |
min_severity |
number \ | null | — | Minimum severity (0.0–1.0). Default: 0.3. |
scope |
string | yes | Audit scope: file path, directory, or free topic. Use "*" for the whole documentary graph. |
|
since |
string \ | null | — | Only return the tensions after this date (ISO 8601). |
noezis_doc_briefing
Briefing focused on the documentation: recent modifications, active tensions, potentially stale sections. Extension of noezis_briefing for the doc-maintenance agents. Pure read.
When to use — At the start of a doc-maintenance session — to quickly see what moved, what is in tension, and what could be stale.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string \ | null | — | Filter by actor. |
include_stale |
boolean \ | null | — | If true, include the docs not updated for > 30 days. |
scope |
string \ | null | — | Optional scope: path, directory, or topic. |
since |
string \ | null | — | Temporal window (default: 7 days). ISO 8601. |
noezis_doctor
Health report of the Noezis server: version, embedder mode, node counters (ready/indexing/failed), latest ingestion failures. Call at the start of a session to diagnose the store's state.
When to use — To diagnose the server's state, detect nodes stuck in INDEXING, or see the latest documents rejected by validation pipeline.
No parameters.
noezis_entities
Searches named entities in the graph by text/concept. Returns the entities whose name (raw or canonical) or kind contains the query. Sorted by decreasing confidence.
When to use — To find an entity (person, org, tech, product…) in the graph. Returns the EntityNodes with LID, canonical_name, kind, confidence.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
max_results |
integer \ | null | — | Max number of results (default: 20). |
min_confidence |
number \ | null | — | Minimum confidence (default: 0.5). |
query |
string | yes | Text query (name, alias, concept). |
noezis_explain_chain
Explains a chain of relations between entities with active tensions, aggregated confidence and sources: returns the path + the tensions on the chain + the total weighted confidence. Note: relies on the experimental entity-relations layer (de-scoped from retrieval) — reliability depends on entity-extraction quality.
When to use — After noezispathentities to get the full explanation of a path: tensions, sources, confidence. Usage: multi-hop reasoning.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
from_lid |
string | yes | LID of the start entity. | |
include_tensions |
boolean | — | Include the active tensions on the path. Default: true. | |
max_hops |
integer \ | null | — | Maximum number of hops (default: 4). |
to_lid |
string | yes | LID of the end entity. |
noezis_gaps_report
Report of what the graph CANNOT answer (KL-1): distinct no_match search queries (with count and last occurrence), orphan entities (mentioned in passages but participating in zero typed relation), and Q5 routing misses (native search without noezissearch). Optional filters: since (default now − 14 days), maxmisses, max_entities (default 20, cap 50). Pure read — pull-only, never pushed.
When to use — To decide what to document next: the questions the graph keeps failing to answer and the concepts mentioned everywhere but defined nowhere. The MISS side of the usage telemetry.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
max_entities |
integer \ | null | — | Max orphan entities returned. Default 20, cap 50. |
max_misses |
integer \ | null | — | Max distinct miss queries returned. Default 20, cap 50. |
since |
string \ | null | — | Inclusive lower bound on the telemetry events. Default: now − 14 days. |
noezis_get_paradigms
Returns all the active paradigms for a (subject, predicate): each paradigm = an active Decision of a distinct actor. Lets you see which actors have different views on the same subject without it being a contradiction — it's paradigm coexistence (T75 V2.5).
When to use — To inspect the coexisting paradigms on a subject. E.g.: user:alice says auth=OAuth2, agent:claude says auth=JWT → two paradigms, no conflict.
| Parameter | Type | Required | Description |
|---|---|---|---|
predicate |
string | yes | Predicate (e.g.: "uses"). |
subject |
string | yes | Subject of the decision (e.g.: "auth_backend"). |
noezis_graph_report
Structural report of the graph: over-connected topics, communities, entropy ratio, suggested entry points, plus an entity_health audit (duplicates, type conflicts, garbage — the entity-layer doctor). Mode scope: "recent" (+ since_hours) returns only the recent activity — ideal for cold start. Mode scope: "full" (default) — full report.
When to use — At the start of a session (scope: "recent", since_hours: 24) to see what changed, or once at startup (scope: "full") to map the whole graph.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
scope |
string \ | null | — | Report scope. "full" (default) — full graph report. "recent" — adds a recent_activity section with the OpEvents of the last since_hours hours (default 24h). Useful for a session's cold start: check what changed without re-reading the full report. |
since_hours |
integer \ | null | — | Temporal window for the "recent" mode (hours, default 24). Ignored if scope != "recent". |
noezis_inquire
[DEPRECATED — use noeziscontext] Consults the Noezis graph on a topic and returns the context (results, tensions, paradigms). Kept as a transitional alias; will be removed at V-next. Prefer noeziscontext (store health + state-of-world + search + skills in one bounded call).
When to use — Do not use anymore for new code — see noezis_context. Alias maintained for compatibility of the deployed hooks/configs.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
min_score |
number \ | null | — | Floor score for the results (default: 0.70). |
scope |
array \ | null | — | Scope-restriction LIDs (optional) — searches only in these nodes and their descendants. |
suggested_queries |
array \ | null | — | Queries suggested by the agent for this topic. |
topic |
string | yes | Subject of the next answer — used to target the search. |
noezis_inquire_skip
Explicitly declares that no graph knowledge is relevant for this answer turn. Audit-grade traceability. To use only for the out-of-graph-scope queries (e.g.: 'what time is it?', pure computation). Never use to avoid a search on a documented subject.
When to use — When the question has nothing to do with the indexed documents. Provide an explicit reason.
| Parameter | Type | Required | Description |
|---|---|---|---|
reason |
string | yes | Explicit reason why the graph is not consulted. |
noezis_list_tensions
Lists the graph's tensions with AND filters (since/until, register, status, minseverity). Severity derived from the kind (Direct=1.0, Structural=0.7, Inferential=0.4). Sorted severity DESC, tie-break edgeid lex DESC. Deterministic pagination via max_results (default 50, hard cap 200). Pure read.
When to use — To audit the active or resolved tensions of a register / a period, or sort by severity the conflicts to handle in priority.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
max_results |
integer \ | null | — | Maximum number of tensions returned. Server default: 50. Hard cap: 200 (silent clamp, consistent T47-B01). 0 → typed error invalid_max_results. |
min_severity |
number \ | null | — | Filter by minimum severity, bounded [0, 1]. Severity derived from the kind (A1 proxy). Default: 0.0 (all severities). NaN / Inf / out of bounds → typed error invalid_severity. |
register |
string \ | null | — | Filter by knowledge register (e.g.: "adr", "doc", "personal_schedule"). snake_case format. Unknown register → silent empty list. |
since |
string \ | null | — | Inclusive lower bound on detected_at. Default: none. |
status |
string \ | null | — | Filter by resolution state. Values: "open", "resolved", "all". Server default: "open" (active snapshot, not the history). Strict case, no CSV tolerance; value outside the enum → typed error invalid_status. |
until |
string \ | null | — | Inclusive upper bound on detected_at. Default: none. since > until → typed error invalid_range. |
noezis_list_watched
Lists the currently watched folders. Use to audit the watcher's state.
When to use — To audit the list of folders currently watched by the watcher.
No parameters.
noezis_node_summary
Returns a node's metadata from its identifier. By default, only the short summary is exposed (Document/passage); Decisions expose their full triple. Pass include_content: true to get the content — the FULL TEXT of the Document/passage, including when the source file is gone.
When to use — To read a node whose LID you have (from noezissearch or a navigation). Add includecontent: true for the full text.
| Parameter | Type | Required | Description |
|---|---|---|---|
include_content |
boolean | — | If true, adds the content field to the returned node — the full text (Document/passage/UserProfile). Indispensable to re-read an ingested document whose source file is gone. Default false to keep responses compact; the Decisions already expose their full triple without this flag. |
lid |
string | yes | Unique node identifier (64 hex characters). Obtained via noezis_search, noezis_children, noezis_parent, or any other navigation tool that returns a lid field. |
noezis_op
Inspects a single event of the op-mem journal (OpEvent) from its hex 64 LID. Returns the full event: action, actor, targetlid, detailed metadata (BTreeMap), timestamp, contenthash. Typed refusal if the LID points to another kind (not_an_op_event). Pure read, no generation.
When to use — When you have already seen an OpEvent LID in another response (summary, history) and you want the full detail of a specific event.
| Parameter | Type | Required | Description |
|---|---|---|---|
lid |
string | yes | Hex 64-char LID of the OpEvent to inspect. |
noezis_op_history
Paginated search in the op-mem journal (OpEvent). Optional AND filters: actor (exact Principal), action (open catalog), targetlid (hex 64), since/until (inclusive-inclusive). Sorted DESC by timestamp, tie-break hex LID DESC. Hard cap 200 events per call (silent clamp). The response exposes `totalmatched, truncated, maxresultsused` for the audit. Pure read.
When to use — To audit the action trace (ingest, decided, toolinvoked) of an agent, or detect MCP catalog usage patterns via `action = 'toolinvoked'`.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
action |
string \ | null | — | Exact filter on the OpAction string (open catalog, strict snakecase). E.g.: `toolinvoked, ingested, decided`. |
actor |
string \ | null | — | Exact filter on Principal::as_str() (e.g.: user:alice, agent:claude-code/sess-A). Invalid value → typed error invalid_actor. |
include_metadata |
boolean | — | Include each event's full metadata map in the response (audit / failure-classification use cases — e.g. tool_invoked carries success, latency_ms, outcome_kind). Default false (light summaries). Avoids one noezis_op detail call per event. |
|
max_results |
integer \ | null | — | Maximum number of events returned. Server default: 50. Hard cap: 200 (silent clamp). 0 → error invalid_max_results. |
session_id |
string \ | null | — | Exact filter on the session_id injected into the metadata of the tool_invoked OpEvents (key "session_id"). Format: "mcp-<timestamp_µs>". Obtained via noezis_briefing or inspected in a previous OpEvent. Allows reconstructing the complete history of a session without parsing the transcript. |
since |
string \ | null | — | Inclusive lower bound on timestamp. Default: none. |
target_lid |
string \ | null | — | Exact filter on the target_lid (hex 64). Events with target_lid = None are excluded when this filter is set. |
until |
string \ | null | — | Inclusive upper bound on timestamp. Default: none. since > until → error invalid_range. |
noezis_pending_decisions
Returns the decisions awaiting validation: assertions blocked by conflict detection (kind: decision_blocked) and suggested non-asserted decisions (kind: decision_suggested). Lets the agent catch the weak signals detected but not committed in session. Pure read, sorted DESC by timestamp.
When to use — At the start or end of a session to check whether decisions were blocked or remain to be validated. Complement to noezis_briefing.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string \ | null | — | Optional filter by actor. |
max_results |
integer \ | null | — | Maximum number of results. Default: 50. |
noezis_prefs_list
Lists the behavioural preferences stored for this workspace. Preferences are inferred from friction signals and govern how the agent should respond (tone, format, process). Filter by lifecycle: candidate | active | pinned | dormant.
When to use — To inspect what the workspace has learned about your working style, or before deciding whether to pin/drop a preference.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
lifecycle |
string \ | null | — | Filter by lifecycle: candidate, active, pinned, dormant. Omit for all lifecycles. |
noezis_propose_decision
Dry-run of a Decision: simulates noezisassertdecision without committing. Returns the potential conflicts (conflict detection) and the coexisting paradigms BEFORE laying the decision. Use to check before asserting, especially if you are unsure whether a contradictory decision exists.
When to use — Before noezisassertdecision, to preview the conflicts. Returns would_conflict=true/false without mutating the graph.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor |
string | yes | Proposing actor. |
predicate |
string | yes | Predicate. |
rationale |
string | yes | Rationale (mandatory even in dry-run). |
subject |
string | yes | Subject of the decision to propose. |
value |
string | yes | Value. |
noezis_read_sub_tree
Extraction of a 'semantic bubble' around a topic: searches the topic, then BFS-expands up to a token budget. Returns a complete focused context — ideal to quickly load the context on a concept before reasoning on it. By default each node only exposes its summary; pass includecontent: true for the FULL TEXT (re-read a document/handoff by topic without its LID) — then increase maxtokens, the content counts toward the budget.
When to use — To load a dense context on a subject before reasoning. Provides more context than noezissearch alone. includecontent: true to read the full text and not just the summaries.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
include_content |
boolean \ | null | — | If true, each returned node carries its content (full text) instead of just the truncated summary — useful to re-read documents by topic without knowing their LID. The content counts toward the max_tokens budget (increase it accordingly). Default: false. |
max_depth |
integer \ | null | — | Max expansion depth. Default: 3. |
max_tokens |
integer \ | null | — | Maximum estimated token budget. Default: 4000. |
topic |
string | yes | Start topic or LID. |
noezis_report
On-demand thematic auto-documentation: assembles a human-readable Markdown report about a topic from what the graph already knows — decisions, knowledge passages, entities and contradictions on that topic. Deterministic (no LLM at read time); regenerable; thematic (unlike the chronological handoffs). Pure read.
When to use — To produce a readable synthesis of everything Noezis knows about a subject (knowledge-maintenance, briefing a human, onboarding a topic) — not a navigation, a finished document.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
max_chunks |
integer \ | null | — | Max knowledge passages to surface. Server default: 15. |
min_score |
number \ | null | — | Floor score on the topic search in [0, 1]. Server default: 0.55. |
polish |
boolean \ | null | — | Opt-in narrative polish via the boundary LLM (no-op if none configured; also enabled by NOEZIS_REPORT_POLISH=1). Default: deterministic only. |
topic |
string | yes | Topic to document (free text, semantically searched in the graph). |
noezis_review_queue
Signal-driven review queue (KL-2): (1) non-decision knowledge (insight/preference/method/analysis) whose review window has elapsed (existing Pending lifecycle); (2) permanent decisions flagged by RECENT signals — a newer decision asserted on the same subject inside the window, or recurrent no_match searches mentioning the subject. Never age-based (a decision is superseded, not expired). Pure read.
When to use — To re-validate knowledge: what awaits review and which standing decisions show recent activity suggesting they may be outdated. The front-load shows terse counts; this verb gives the detail.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
max_results |
integer \ | null | — | Max flagged decisions returned. Default 10, cap 50. |
since |
string \ | null | — | Inclusive lower bound for the signals. Default: now − 14 days. |
noezis_search
Semantic search in the Noezis knowledge graph. Returns 3-5 results with lid, score and summary directly included (include_text: true by default — no need for a second call to noezisnodesummary). Set include_text: false for a minimal payload. Prefer this tool over any other for documentary questions.
When to use — To find relevant documents from a natural-language question. Returns the text directly — no extra call needed to read the content.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
community_id |
integer \ | null | — | R6 (search-ux) — restrict results to the members of a topic clustering community (id read from noezis_graph_report, deterministic per snapshot). Applies to the SEMANTIC leg only. None → no restriction. |
explain |
boolean | — | Include matched_on in each result — indicates on which surface the node was selected ("semantic" for tree navigation nodes, "metadata" for non-geometric V2 nodes). Default: false. Useful to diagnose why a result appeared. |
|
include_text |
boolean | — | Include the text summary (summary) in each result. Default: true — avoids a second call to noezis_node_summary. Set to false if only the LID is needed (minimal payload). |
|
max_hops |
integer \ | null | — | Maximum tree navigation depth (server default: 3-4 depending on config). |
max_results |
integer \ | null | — | Maximum number of nodes returned (post-tree navigation truncation). |
min_score |
number \ | null | — | Floor score (inclusive) applied after tree navigation — f32 in [0, 1]. Enables adaptive exploration: broad with 0.3, targeted with 0.85. |
mode |
string \ | null | — | Search leg(s): "semantic" (default — tree navigation on embeddings), "lexical" (BM25 on the passages + decisions text — exact tokens, symbols, identifiers; does not touch the embedder), or "hybrid" (both in parallel — sections by signal + corroborated by vote, never a combined score). Raw BM25 scores, incommensurable with the cosine scores (decision lexical_index_b_fusion_arbitration). |
path_prefix |
string \ | null | — | R5 (search-ux) — restrict results to nodes whose provenance document's source_path starts with this prefix (e.g. "DOCS/", "crates/noezis-mcp"). Applies to the SEMANTIC leg only — the lexical leg is unaffected. None → no restriction. |
query |
string | yes | Natural-language question — re-encoded on the server side, never returned as-is. | |
scope |
object | — | Scope. Default: both (local + cloud in dual-track). |
|
simulations |
integer \ | null | — | Number of tree navigation simulations (server default: ~100). |
timeout_ms |
integer \ | null | — | Timeout in milliseconds for the full tree navigation call. If exceeded, returns a JSON-RPC error kind: "timeout". Default: no timeout (usual behavior). Recommended: 5000 ms for the agents with a real-time constraint. |
noezis_since
Event cursor: everything that changed since an instant T — finished async jobs (ingest/recluster, done/failed), asserted decisions (including by other agents), detected tensions. Returns new_cursor to re-pass on the next call. Pure read, bounded.
When to use — At the start of a turn to catch up on what happened since the previous turn (job launched async, decision by another agent), without polling verb by verb.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
max_items |
integer \ | null | — | Item ceiling per section. Server default: 20, cap 100. |
since |
string | yes | RFC 3339 cursor (typically the new_cursor of the previous call). |
noezis_status
Store indexation status: percentage of ready nodes, counters by state (ready/pending/indexing/failed), breakdown by node type, embedder mode. Call at the start of a session to check whether the corpus is well indexed before running searches.
When to use — Before a search, to check that documents are indexed (indexationpct > 0). Distinct from noezisdoctor (health/errors). With job_id: tracks an async ingestion job.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
job_id |
string \ | null | — | R-MCP-07 — identifier of an async job (obtained via noezis_ingest(async: true) or noezis_recluster(async: true)). If provided, the call targets this job. |
noezis_task_list
Lists Task nodes in the work ledger, optionally filtered by scope and/or status (open, claimed, in_progress, done, blocked).
When to use — To see pending or active tasks in a given workspace. Also surfaced automatically via open_tasks in the front-load context.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
scope |
string \ | null | — | Filter by scope (exact match). Omit for all scopes. |
status |
string \ | null | — | Filter by status (open, claimed, in_progress, done, blocked). |
noezis_tools_summary
Aggregates the MCP catalog usage: for each tool, from the tool_invoked OpEvents, computes invocationcount, latencyp50ms, latencyp99ms, successrate and lastinvokedat. Optional filters: since/until (timestamp), session_id. Sorted by count DESC (tie-break name). Hard cap 200 tools (clamp). Pure read — no mutation.
When to use — To audit which tools are actually used, how often, with which latencies/success rates — detect the little-adopted or slow tools. Aggregated complement of noezis_op_history(action='tool_invoked').
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
max_results |
integer \ | null | — | Max number of distinct tools returned. Default 50, cap 200, 0 → error. |
session_id |
string \ | null | — | Exact filter on the session_id of the tool_invoked OpEvents. |
since |
string \ | null | — | Inclusive lower bound on timestamp. Default: none. |
until |
string \ | null | — | Inclusive upper bound on timestamp. since > until → invalid_range. |
noezis_triplets
Returns all SPO triplets (Subject-Predicate-Object) in the graph. Optional filters: predicate label (e.g. "uses"), subject/object name substring, minimum confidence. Sorted by decreasing confidence.
When to use — To query all relations of a given type across the graph (e.g. all 'uses' relations, all relations touching a given tech). Complement to noezis_relations (per-entity) with global scope.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
limit |
integer \ | null | — | Maximum number of results (default: 100). |
min_confidence |
number \ | null | — | Minimum confidence per triplet (default: 0.0). |
object_query |
string \ | null | — | Substring match on the object entity name (optional). |
predicate |
string \ | null | — | Filter by predicate label, e.g. "uses", "owned_by" (case-insensitive, optional). |
subject_query |
string \ | null | — | Substring match on the subject entity name (optional). |
Navigation — graph traversal
noezis_chains
All N-hop chains from an entity. Optional predicate filter. Depth filtering mandatory for depth > 2 (combinatorial explosion guard).
When to use — To explore all the N-hop connections from an entity, with or without a predicate filter.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
depth |
integer \ | null | — | Maximum depth (default: 2, max: 4). |
lid |
string | yes | LID of the start entity. Accepts entity_lid as an alias (same agent-guess tolerance as noezis_relations). |
|
max_chains |
integer \ | null | — | Max number of chains (default: 20). |
min_confidence |
number \ | null | — | Minimum confidence per edge (default: 0.4). |
predicate_filter |
integer \ | null | — | Filter by predicate_id. Mandatory if depth > 2. |
noezis_children
Lists ALL the structural children of a node (exhaustive, not sampled). Use when you want to explore the full decomposition of a document or aggregate.
When to use — To go one level down in the hierarchy from a known LID.
| Parameter | Type | Required | Description |
|---|---|---|---|
lid |
string | yes | Unique node identifier (64 hex characters). Obtained via noezis_search, noezis_children, noezis_parent, or any other navigation tool that returns a lid field. |
noezis_community
All members of the topic clustering community containing the node. Use for an exhaustive panorama of a detected theme.
When to use — To get an exhaustive panorama of a thematic zone of the graph.
| Parameter | Type | Required | Description |
|---|---|---|---|
lid |
string | yes | Unique node identifier (64 hex characters). Obtained via noezis_search, noezis_children, noezis_parent, or any other navigation tool that returns a lid field. |
noezis_entity_neighbors
Returns the 1-hop neighboring entities via the typed relations. For each neighbor: the entity + the relation (predicate, confidence). Use after noezis_entities to explore the relations graph.
When to use — To explore the entities directly linked to a known entity.
| Parameter | Type | Required | Description |
|---|---|---|---|
lid |
string | yes | Unique node identifier (64 hex characters). Obtained via noezis_search, noezis_children, noezis_parent, or any other navigation tool that returns a lid field. |
noezis_explore_tree
Unified topological navigation: returns in one call the parent, the structural children, and the siblings (topic clustering neighbors) of a node. Replaces 2-3 separate calls (noezisparent + noezischildren + noezis_siblings). Ideal to quickly explore the neighborhood of a known LID.
When to use — To explore the immediate neighborhood of a known node in a single call. More efficient than 3 separate parent/children/siblings calls.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
depth |
integer \ | null | — | Maximum depth (1 = parent + children + immediate siblings). Default: 1. Max: 3. |
include_siblings |
boolean | — | Include the node's siblings (topic clustering neighbors). Default: true. | |
lid |
string | yes | Root LID of the exploration. |
noezis_parent
Returns the direct structural parent of a node, or null for a root. Use to go up the hierarchy one level at a time.
When to use — To go up one level and get the enclosing context of a node.
| Parameter | Type | Required | Description |
|---|---|---|---|
lid |
string | yes | Unique node identifier (64 hex characters). Obtained via noezis_search, noezis_children, noezis_parent, or any other navigation tool that returns a lid field. |
noezis_path_between
A* path between two LIDs in the graph. Returns null if disconnected or max_hops reached. Use to explain how two documents are linked.
When to use — To explain how two nodes (known LIDs) are linked in the graph.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
from_lid |
string | yes | LID of the start node (64 hex characters) — obtained via noezis_search or a navigation tool. |
|
max_hops |
integer \ | null | — | Maximum number of hops allowed. Recommended server default. |
to_lid |
string | yes | LID of the end node (64 hex characters) — obtained via noezis_search or a navigation tool. |
noezis_path_entities
A* path between two entities in the relations graph. Returns the shortest relation path (by weighted confidence). Note: the entity-relations layer is experimental and de-scoped from retrieval — result reliability depends on entity-extraction quality on your corpus.
When to use — To find how two entities are connected. E.g.: TechCorp → uses → Neo4j → has_flaw → CVE-XYZ.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
from_lid |
string | yes | LID of the start entity. | |
max_hops |
integer \ | null | — | Maximum number of hops (default: 4). |
min_confidence |
number \ | null | — | Minimum confidence per edge (default: 0.3). |
predicate_filter |
integer \ | null | — | Filter by predicate_id (u64, optional). |
to_lid |
string | yes | LID of the end entity. |
noezis_relations
Returns an entity's typed relations — outgoing, incoming, or bidirectional. Optional filter by predicate_id.
When to use — To see all of an entity's relations (who uses it, what it is linked to, what it affects).
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
direction |
string \ | null | — | Direction: "outgoing", "incoming", or "both". Default: "both". |
lid |
string | yes | LID of the entity. Accepts entity_lid as an alias — measured 2026-06-09: agents naturally guess entity_lid for an entity verb (2 of the 3 noezis_relations failures were exactly that). |
|
predicate_id |
integer \ | null | — | Filter by predicate_id (u64, optional). |
noezis_siblings
Neighbors of the node in its topic clustering community (semantic proximity). Use to discover thematically close documents without re-running a search.
When to use — To discover a node's immediate thematic neighbors (without a new search).
| Parameter | Type | Required | Description |
|---|---|---|---|
lid |
string | yes | Unique node identifier (64 hex characters). Obtained via noezis_search, noezis_children, noezis_parent, or any other navigation tool that returns a lid field. |
Write — mutations
noezis_assert_decision
Records a durable decision (ADR) in the graph. Blocks and returns a conflict if a contradictory decision already exists on the same subject — the agent must decide before continuing. Idempotent: re-asserting an identical decision returns kind: "duplicate".
When to use — To trace a durable architectural decision. Reserved for structuring choices that must be remembered across sessions.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string \ | null | — | Actor identifier — validated via Principal::new. If absent, default = MCP session principal (agent:mcp/<session_id>) — reduces friction ("missing actor" failures measured via noezis_tools_summary). |
kind |
string \ | null | — | Semantic kind of this node. - "decision" (default) — strict conflict detection block, permanent ADR. - "insight" — technical analysis; conflict detection warn-only, reviewed after 2 sessions. - "preference" — workspace/user working preference; reviewed after 3 sessions. - "method" — validated approach or workflow; reviewed after 4 sessions. - "analysis" — exploratory design (no conflict detection); reviewed after 2 sessions. Non-decision kinds enter a Pending review lifecycle and are surfaced by session-review for confirmation or purge. |
predicate |
string | yes | Predicate (e.g.: "uses"). Non-empty, ≤ 128 characters. |
|
rationale |
string | yes | Explicit rationale — never auto-generated (T39 anti-pattern). Non-empty after trim, ≤ 65536 characters. | |
review_after_sessions |
integer \ | null | — | Override the default review window (sessions). None = use kind default. |
subject |
string | yes | Subject of the decision (e.g.: "auth_backend"). Non-empty, ≤ 256 characters. |
|
value |
string | yes | Value (e.g.: "OAuth2"). Non-empty, ≤ 4096 characters. |
noezis_capture_decision
Normalizes a statement into a triple (subject, predicate, value) and asserts it directly. Two modes: (1) arrow — statement = 'store_backend → surrealdb'; (2) explicit — provide subject + value (the statement serves as rationale). dry_run: true returns the normalized triple without commit. Non-blocking on contradiction: returns kind: "blocked" with the conflicting LID. Idempotent.
When to use — When the agent wants to capture a decision from a natural-language sentence or an arrow format, without manually building the SPV triple.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string \ | null | — | Actor identifier. If absent, default = MCP session principal (agent:mcp/<session_id>) — reduces friction ("missing actor" failures measured via noezis_tools_summary). |
dry_run |
boolean | — | true → returns the normalized triple without asserting it. Default: false. |
|
idempotency_key |
string \ | null | — | R-MCP-12 (generalized, redesign 2026-06-06) — idempotency key: a retry after timeout replays the cached result (the underlying assert is already deduplicated by the conflict detection pre-check, but the replay avoids a misleading duplicate). |
predicate |
string \ | null | — | Predicate. Default: "is". |
rationale |
string \ | null | — | Explicit rationale. If absent, statement is used. |
statement |
string | yes | Natural-language text or "subject → value". Serves as rationale if subject and value are provided explicitly. |
|
subject |
string \ | null | — | Explicit subject (snake_case). If absent, extracted from the statement. |
value |
string \ | null | — | Explicit value. If absent, extracted from the statement. |
noezis_codify_corpus
Applies the batch codification on a set of already-indexed documents (without re-ingesting them). Three perimeters: explicit list, thematic community, or documents ingested since a date. Use dry_run: true to simulate without modifying the graph.
When to use — After adding or modifying a knowledge register, to update the codifications on the existing documents.
| Parameter | Type | Required | Description | ||
|---|---|---|---|---|---|
actor |
string \ | null | — | Optional Principal — MCP default agent:mcp-anonymous. |
|
dry_run |
boolean \ | null | — | If true, pure simulation (no mutation, no OpEvent). Server default: false. |
|
force_recodify |
boolean \ | null | — | If true, overwrites the existing codifications for (chunk_source, register, slot) and cascade-purges the linked Tensions (INV_N11 preserved). Server default: false. |
|
idempotency_key |
string \ | null | — | R-MCP-12 — explicit idempotency key (replays the cached result). | |
max_documents |
integer \ | null | — | Server ceiling (default 1000, hard cap 10000, 0 rejected as invalid_max_documents). |
|
scope |
object | yes | Codification perimeter — oneOf with 3 tagged variants (`kind = "documents" |
"community" | "since"`). |
timeout_ms |
integer \ | null | — | Timeout in milliseconds for this operation (can be long on a large corpus). Default: no timeout. Recommended: 30000 ms for corpora > 500 documents. |
noezis_consolidate_knowledge
Merges or links nodes identified as similar/redundant. 'merge' strategy: creates a new aggregated node with the merged summary. 'link' strategy: lays Inferred edges between the nodes (less destructive). Emits an OpEvent for traceability. Use sparingly.
When to use — After detecting duplicated or overly fragmented nodes. Prefer 'link' if unsure — 'merge' is irreversible.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string \ | null | — | Actor. Default: agent:mcp-anonymous. |
dry_run |
boolean | — | R-MCP-04 — true → preview { dry_run: true, would_affect, affected_lids } without consolidating nor emitting an OpEvent. Default: false. |
|
idempotency_key |
string \ | null | — | R-MCP-12 — explicit idempotency key (replays the cached result). |
lids |
array | yes | LIDs of the nodes to consolidate. | |
rationale |
string | yes | Justification of the consolidation. | |
strategy |
string | yes | Strategy: "merge" (summary fusion) or "link" (Inferred edge). |
noezis_doc_update
Updates a section or a documentation file on disk, re-ingests the file into the graph, and emits a doc_updated OpEvent for traceability. Can target a specific H2/H3 section or the whole file. Composed: write + ingest + OpEvent in a single atomic operation.
When to use — To update a doc file (.md, .rs, etc.) and trace why this change was made. Use before proposing a direct edit so the graph stays in sync with the repo.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string \ | null | — | Actor. Default: agent:noezis. |
content |
string | yes | New Markdown content for the section (or the whole file). | |
dry_run |
boolean | — | R-MCP-04 — true → preview { dry_run: true, would_affect } without writing the file, re-ingesting nor emitting an OpEvent. Default: false. |
|
evidence_lids |
array \ | null | — | LIDs of the nodes that justify this change (optional). |
idempotency_key |
string \ | null | — | R-MCP-12 — explicit idempotency key (replays the cached result). |
path |
string | yes | Absolute path of the file to modify. | |
rationale |
string | yes | Justification of the modification — why this change. | |
section |
string \ | null | — | Title of the H2/H3 section to replace. null = replace the whole file. |
noezis_ingest
Ingests a document into the graph. Source: exactly ONE of the fields text, path or url. The deterministic validation pipeline pipeline validates 5/5 or rolls back. Use to memorize a text, a local file or (V2) a URL.
When to use — To add a new document (text or local file) to the graph, after checking for absence.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
async |
boolean | — | R-MCP-07 — launches the ingestion in a background task and returns immediately { job_id, status: "indexing" }. Track via noezis_status(job_id). Default: true (ingestion is heavy — Pass3 + SLM relations — and must not hold the JSON-RPC connection; decision ingest_async_default_mcp). Pass async: false for a synchronous commit that directly returns the LID + the outcome. |
|
dry_run |
boolean | — | R-MCP-04 — true → does not mutate the store: returns a preview { dry_run: true, would_affect, estimated } (size, source). No OpEvent emitted. Default: false. |
|
idempotency_key |
string \ | null | — | R-MCP-12 — explicit idempotency key. If provided and already seen, the cached result is replayed (idempotent_replay: true) without re-ingesting. Complements the deduplication by content hash. |
path |
string \ | null | — | Path on the local filesystem. |
summary |
string \ | null | — | Explicit summary — otherwise generated by the pipeline. |
text |
string \ | null | — | Raw UTF-8 text. |
url |
string \ | null | — | HTTP(S) URL — reserved for V2, currently triggers an Unsupported error. |
noezis_ingest_batch
Ingests up to 50 documents in a single MCP call. Each item is identical to an individual noezis_ingest call (text or path). The items are processed in parallel on the server side. Indispensable to bootstrap a corpus without multiplying round-trips.
When to use — To ingest N texts or files in a single tool call. Use when you have a list of documents to index (N > 1).
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
idempotency_key |
string \ | null | — | R-MCP-12 (generalized, redesign 2026-06-06) — idempotency key at the whole-batch level: if already seen, replays the cached result without re-ingesting any item. Complements the dedup by content hash. |
items |
array | yes | List of items to ingest. Each item must provide exactly one of the fields text or path. Maximum 50 items per call. |
noezis_prefs_drop
Drops a preference (moves it to Dormant). The preference is preserved for audit but is no longer injected at front-load.
When to use — When the user wants to remove a preference that was inferred incorrectly.
| Parameter | Type | Required | Description |
|---|---|---|---|
pref_id |
string | yes | Full hex LID of the preference to drop. |
noezis_prefs_pin
Pins a preference — prevents the autonomous loop from reverting it to Dormant. Use for preferences you explicitly want to lock in.
When to use — When the user explicitly wants to lock in a preference that was promoted automatically.
| Parameter | Type | Required | Description |
|---|---|---|---|
pref_id |
string | yes | Full hex LID of the preference to pin. |
noezis_purge_node
PERMANENTLY deletes a node from the graph by its LID (+ its child passages if it is a Document; the edges are cascaded). Emits a purged OpEvent. Refuses the protected founding documents (CLAUDE.md, CONTEXT.md, ROADMAP.md, etc.). Usage: clean up a test pollution or an erroneous node. Irreversible — no dry-run.
When to use — To remove a parasitic node (test transcript, erroneous doc) without re-indexing the whole store or stopping the daemon.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
idempotency_key |
string \ | null | — | R-MCP-12 (generalized, redesign 2026-06-06) — idempotency key: a retry after timeout replays the cached result instead of failing as unknown_lid on an already-purged node. |
lid |
string | yes | Hex LID (64 chars) of the node to delete. If it is a Document, its structural child passages are deleted too (edge cascade included). |
noezis_recluster
Rebuilds the store's hierarchical tree: clusters all the Ready passages by topic clustering and materializes multi-level AggregateNodes (topic centers = mean of the children), with inter-aggregate Proximity edges and community summaries (SLM naming if the model is present, otherwise a deterministic label). GLOBAL and idempotent pass: first purges the aggregates of the previous run. Costly — to launch after a large ingestion, not on each addition. ASYNC by default: returns { jobid, status } immediately; track via noezisstatus({ job_id }).
When to use — After a substantial ingestion, to (re)build the hierarchical navigation tree over the whole store.
| Parameter | Type | Required | Description |
|---|---|---|---|
async |
boolean | — | R-MCP-07 (generalized, redesign 2026-06-06) — launches the recluster in a background task and returns immediately { job_id, status: "indexing" }. Track via noezis_status(job_id). Default: true — recluster is the longest verb of the catalog (full topic clustering + network SLM naming) and exceeds the MCP client timeouts on a large store. Pass async: false for a synchronous call that directly returns the counters (aggregates_created, levels, …). |
noezis_resolve_tension
Resolves a detected tension (EdgeKind::Tension) with a mandatory rationale and a canonical resolution code: accepteda | acceptedb | merged | deferred | invalidated. Mutates the resolution None → Some() and emits an idempotent TENSIONRESOLVED OpEvent. Idempotent: a second call with an identical (tensionlid, resolutioncode) returns kind: "already_resolved" without a new OpEvent. If the tension is already resolved with another code → kind: "conflicting_resolution" (JSON-RPC success, typed business refusal). Typed errors in INVALIDPARAMS: invalidlid, unknowntension, notatension, invalidresolutioncode, emptyrationale, invalid_actor.
When to use — To close an active tension after human review — typically after listing the tensions via noezislisttensions.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string \ | null | — | Principal identifier. Default agent:mcp-anonymous if omitted. |
dry_run |
boolean | — | R-MCP-04 — true → preview { dry_run: true, would_affect } without mutating the tension's resolution nor emitting an OpEvent. Default: false. |
|
idempotency_key |
string \ | null | — | R-MCP-12 — explicit idempotency key (replays the cached result). |
rationale |
string | yes | Human justification — never auto-generated. | |
resolution_code |
string | yes | Resolution code (closed catalog, strict case). | |
tension_lid |
string | yes | Hex (64) LID of the tension to resolve. |
noezis_retract_decision
Retracts a decision: sets it to the reversible Retracted state with a mandatory reason, withdrawing it from every live surface (front-load, search, review queue, contradiction audit). Unlike supersede, no replacement is needed. The audit is preserved (the node survives until store gc); the retracted key no longer blocks a fresh assertion. Idempotent on an already-retracted decision.
When to use — To cancel a mistaken or obsolete ADR that has NO replacement (wrong repo/subject, abandoned choice). If a newer decision replaces it, use noezis_supersede instead. Always provide an explicit reason (never auto-generated).
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string | yes | Who performs this action. Format: user:alice or agent:claude-code/session-xyz. |
|
decision_lid |
string | yes | LID of the decision to retract. Obtained via noezis_search, noezis_briefing or the front-load. The decision is set to the reversible Retracted state and withdrawn from every live surface; it no longer blocks a fresh assertion on its (subject, predicate). |
|
dry_run |
boolean | — | R-MCP-04 — true → preview without changing the decision's state nor emitting an OpEvent. Default: false. |
|
idempotency_key |
string \ | null | — | R-MCP-12 — explicit idempotency key (replays the cached result). |
reason |
string | yes | Why this decision is retracted — never generated automatically, always written by the human or the responsible agent. Mandatory (audit). |
noezis_subscribe_node
Subscribes to the STALE/UPDATED events of a LID. The server will then emit notifications/noezis/stale JSON-RPC notifications. Use to stay notified that an indexed document changed.
When to use — To be notified when a given node becomes stale or is updated.
| Parameter | Type | Required | Description |
|---|---|---|---|
lid |
string | yes | LID to watch (hex 64). |
noezis_supersede
Marks a decision as superseded (replaced) by another. Creates the deprecation link and traces the event in the journal. Idempotent. Refuses if the decision to deprecate is already replaced by a third one — then returns the conflict for arbitration.
When to use — To retract an existing ADR in favor of a more recent decision. Always provide an explicit justification (never auto-generated).
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string | yes | Who performs this action. Format: user:alice or agent:claude-code/session-xyz. |
|
deprecated_decision_lid |
string | yes | LID of the decision to deprecate (the old one). Obtained via noezis_search or noezis_briefing. |
|
dry_run |
boolean | — | R-MCP-04 — true → preview { dry_run: true, would_create, affected_lids } without laying the SUPERSEDED_BY link nor emitting an OpEvent. Default: false. |
|
idempotency_key |
string \ | null | — | R-MCP-12 — explicit idempotency key (replays the cached result). |
rationale |
string | yes | Why this decision replaces the old one — never generated automatically, always written by the human or the responsible agent. | |
replacement_decision_lid |
string | yes | LID of the decision that replaces it (the new one). Must exist in the graph and be different from deprecated_decision_lid. |
noezis_task_claim
Atomically claims an open Task (compare-and-set). Sets status to 'claimed' and records holder + optional TTL. Returns claimed=false if the task was already taken.
When to use — Before starting work on a task, to prevent two agents from working on the same item concurrently.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
actor |
string \ | null | — | Actor claiming the task. Defaults to "agent". |
task_id |
string | yes | Full hex LID of the task to claim. | |
ttl_sec |
integer \ | null | — | Lease duration in seconds (default 3600). |
noezis_task_create
Creates a new Task node in the shared work ledger (A2). Tasks represent units of work shared across sessions and agents. Scope = logical workspace (e.g. repo name, branch, or session id).
When to use — To record a new task or work item that spans sessions or needs to be picked up by another agent.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
notes |
string \ | null | — | Optional free-form notes. |
scope |
string | yes | Logical scope — e.g. branch name, feature area, session id. | |
title |
string | yes | Short title (≤ 160 chars). |
noezis_task_update
Updates the status (and optionally notes) of a Task. Valid transitions: open → claimed → in_progress → done | blocked.
When to use — To mark a task as in_progress, done, or blocked after claiming it.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
notes |
string \ | null | — | Optional notes to append. |
status |
string | yes | New status: in_progress, done, blocked, or open (unclaim). |
|
task_id |
string | yes | Full hex LID of the task to update. |
noezis_watch_folder
Main entry point to initialize or sync a repo. Call with the repo's root path to (1) immediately ingest all the existing files in a batch and (2) watch for future modifications via incremental SUPERSEDEDBY re-ingestion. This is the first call to make in a not-yet-indexed repo — a single call suffices, no need to ingest the files one by one. ASYNC by default: returns { jobid, status } immediately; track via noezisstatus({ jobid }).
When to use — To initialize a repo's index (first call) or resynchronize after an interruption. Prefer this tool over noezis_ingest repeated on each file.
| Parameter | Type | Required | Description | |
|---|---|---|---|---|
async |
boolean | — | R-MCP-07 — true → the folder's initial ingest runs in a background task; returns immediately { job_id, status: "indexing" }. Default: true (aligned on ingest/recluster, redesign 2026-06-06: the initial ingest of a folder is by construction heavier than a single ingest). Pass async: false for a synchronous call. |
|
idempotency_key |
string \ | null | — | R-MCP-12 — explicit idempotency key (replays the cached result). |
path |
string | yes | Absolute path of a folder (recursive). |