Skip to content
Agentmart
Submit a tool

Kindex

Persistent knowledge graph and MCP server for AI workflows with git-tracked project context.

Connector by wandercom · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 46
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/wandercom-kindex

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Persistent knowledge graph and MCP server for AI workflows with git-tracked project context.

Use cases: knowledge-base, agent-memory

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list, install config and code. Checked Oct 25, 2026.

Runs code on install

Its package runs an install script (such as npm postinstall or setup.py code) as soon as you install it, before any tool is called. Read the script first.

Tools
30 read · 40 write · 3 delete · 2 not yet classified
Secrets
None asked for
Install scripts
Runs code on install
Runs as
Python package

Tools by what they do 75

Read from the source code; the running server may list different tools.

Read 30 · Look things up without changing anything.

  • ask
  • candidate_list
  • candidate_show
  • changelog
  • context
  • coord_list
  • coord_read
  • graph_heal
  • graph_stats
  • kinbase_explain
  • kinbase_status
  • learn
Show 18 more tools
  • list_nodes
  • mask_scan
  • memory
  • mode_export
  • mode_list
  • mode_show
  • remind_check
  • remind_list
  • scope_info
  • search
  • show
  • stale_check
  • status
  • suggest
  • task_get
  • task_list
  • verify
  • watch_list

Write 40 · Create, change, send or run things.

  • add
  • candidate_accept
  • candidate_create
  • candidate_reject
  • coord_attach
  • coord_inject
  • coord_join
  • coord_post
  • coord_start
  • dream
  • edit
  • graph_merge
Show 28 more tools
  • ingest
  • invalidate
  • kinbase_submit
  • kinbase_sync
  • link
  • lock_acquire
  • lock_release
  • mode_activate
  • mode_create
  • mode_import
  • mode_seed
  • remind_create
  • remind_done
  • remind_snooze
  • supersede
  • tag_resume
  • tag_start
  • tag_update
  • task
  • task_add
  • task_cancel
  • task_claim
  • task_done
  • task_execute
  • task_release
  • task_update
  • watch_add
  • watch_resolve

Delete 3 · Delete, drop, revoke or wipe things.

  • candidate_erase
  • candidate_prune
  • coord_end

Not yet classified 2 · We could not tell from the name and description.

  • guarded
  • remind_exec

Network hosts it talks to 10

  • api.linear.app · found in code
  • api.openai.com · found in code
  • api.telegram.org · found in code
  • api.voyageai.com · found in code
  • apple.com · found in code
  • generativelanguage.googleapis.com · found in code
  • github.com · found in code
  • kindex.tools · found in code
  • opencode.ai · found in code
  • wandercom.github.io · found in code

Files it touches

  • ~/.claude
  • /dev/null
  • /dev/null/__binding_escaped__
  • /opt/homebrew/bin
  • /opt/homebrew/bin/alerter
  • /opt/homebrew/bin/kin
  • /tmp/foo
  • /usr/sbin
  • /usr/sbin/sendmail
  • Your home directory (~)
  • ~/.codex
  • ~/.config/muse
  • ~/.config/opencode
  • ~/.cursor
  • ~/.gemini
  • ~/.gemini/antigravity-cli
  • ~/.gemini/config
  • ~/.kindex
  • ~/.local/state/kindex/snapshots
  • ~/.profile
  • ~/src/acme
  • ~/src/acme-tools
  • Any path the agent passes to its tools

Tools (75)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • add

    Add a knowledge node to the graph. `search` first: when a matching node already exists, change it with `edit` or `supersede` instead of adding a duplicate. Choose the right node_type — it determines how the node behaves: - concept: facts, patterns, key files, domain terms (default, most common) - decision: "we chose X over Y because..." — architectural choices with rationale - question: open problems to investigate later — gets surfaced until answered - task: actionable work — prefer `task_add` instead (supports priority/due/linking) - skill: demonstrated ability with evidence - constraint: h…

  • ask

    Ask a question of the knowledge graph. Returns the evidence `kin ask` answers from: the matching nodes in full, dated and oldest first, with today's date and the standing directives, in graph-local sections whose refs show and edit accept, within `kin ask`'s budget. Counting, listing and ordering questions search deeper and say when the evidence may be incomplete. With answer=True and an LLM configured, it also drafts the answer the way `kin ask` does (planned searches, answering rules), within the LLM budget; otherwise it makes no model call. Args: question: Natural language question. …

  • candidate_accept

    Accept a fresh candidate with asserted reviewer and verification method. Promotes the candidate to a durable node. Refused when the token is stale, the candidate is expired or already accepted/rejected, its payload carries credentials, a durable node already has its title, or a proposed `contradicts` edge conflicts with verified knowledge. Use this only after reviewing the payload from `candidate_show`. Args: candidate_id: Exact capture-candidate ID. review_token: The `review_token` from a current `candidate_show`. reviewed_by: Asserted reviewer identifier (audit text, not …

  • candidate_create

    Stage one bounded automatic capture for review without promoting knowledge. Args: title: Candidate title (at most 500 characters). content: Candidate content (at most 4,000 characters). source_digest: SHA-256 digest of the source material. node_type: Allowed Kindex node type; defaults to concept. domains: Optional domain labels. connections: Optional proposed edges. ttl_days: Optional positive candidate lifetime in days.

  • candidate_erase

    Erase a candidate or minimized review receipt by exact ID. Deletes the row outright, whatever its status; the activity log keeps only the ID and prior status. A promoted node is not affected. Returns `erased: false` when no such ID exists. Args: candidate_id: Exact capture-candidate ID.

  • candidate_list

    List quarantined automatic-capture receipts without payload fields. Args: status: Optional pending/conflicted/accepted/rejected/expired filter. limit: Maximum receipts to return.

  • candidate_prune

    Expire due pending/conflicted candidates; never promotes knowledge.

  • candidate_reject

    Reject and minimize a live capture candidate. Args: candidate_id: Exact capture-candidate ID. reviewed_by: Asserted reviewer identifier. disposition_code: Bounded machine disposition code.

  • candidate_show

    Show the exact untrusted candidate payload plus its freshness token. Read this before `candidate_accept`, which needs the returned `review_token`. The token proves snapshot freshness only: it goes stale when the candidate or the graph state it was checked against changes. It is not caller authentication, authorization, or proof of reviewer identity. Args: candidate_id: Exact capture-candidate ID (from `candidate_list`).

  • changelog

    Show recent changes to the knowledge graph. Args: since: ISO date/timestamp to look back from (e.g. '2026-02-20'). days: Look back N days from now (default 7, ignored if 'since' is set). graph: auto (both allowed stores), project, or global.

  • context

    Get a formatted context block for injection into conversation. Args: topic: Topic to search for (auto-detects from cwd if empty). level: Context tier (full, abridged, summarized, executive, index), or evidence: the matching nodes in full, dated and oldest first, with the standing directives (what `ask` returns; default 4,000 tokens). max_tokens: Token budget (overrides level with auto-selection if set; with level=evidence, the evidence budget). trusted_only: Admit only current, explicitly verified, non-contradicted knowledge. False preserves ord…

  • coord_attach

    Attach a graph node to a conversation as a shared resource. Attached resources surface in members' contexts when locked, so agents see who holds what. Args: name: Conversation ID or name. node_id: Node ID or title to attach.

  • coord_end

    End a coordination conversation and clear transient messages. Only the conversation's creator or members may end it while it is live. Args: conversation: Conversation ID or name. summary: Optional retained summary. agent: Ending agent name (default: resolved agent id).

  • coord_inject

    Manage standing inject messages on a coordination conversation. Inject messages are pushed into member agents' session context by the prime/prompt hooks until cleared or expired. Only the conversation's creator or members may set or clear them, and only the creator may clear another agent's message. Args: name: Conversation ID or name. action: set, clear, or list. text: Message text (for set). to: Optional target agent (for set); broadcast when empty. message_id: Specific inject message id to clear (0 = clear all you may). agent: Acting agent name (default: resolved a…

  • coord_join

    Join a coordination conversation as a member. Members get read cursors (unread tracking) and receive standing inject messages in their session context. Idempotent. Args: name: Conversation ID or name. agent: Joining agent name (default: resolved agent id).

Show 60 more tools
  • coord_list

    List coordination conversations. Args: status: active, ended, or all. task_id: Optional related task ID filter.

  • coord_post

    Post a message to a coordination conversation. Args: conversation: Conversation ID or name. agent: Posting agent name (default: resolved agent id). message: Message body. to: Optional target agent — message is delivered (unread counts, injection) only to them; broadcast when empty.

  • coord_read

    Read messages from a coordination conversation. Without since_id, reads from the agent's member cursor and advances it (unread tracking). Args: conversation: Conversation ID or name. since_id: Only return messages with a higher id (0 for all); leaves the read cursor unchanged. limit: Maximum messages to return. agent: Reading agent name (default: resolved agent id).

  • coord_start

    Start a short-lived coordination conversation. Args: name: Conversation name. task_id: Optional related task ID. agent: Agent creating the conversation (default: resolved agent id). ttl_minutes: Conversation TTL. Expired conversations are cleaned up.

  • dream

    Run knowledge consolidation (dream cycle). Performs memory consolidation: fuzzy deduplication, suggestion auto-application, and bounded domain-link proposals for review. Like sleep consolidating memory — replay, strengthen, prune. Args: mode: 'lightweight' (fast, <5s) or 'full' (non-LLM). The LLM 'deep' mode spends on model calls and runs only from a shell (`kin dream --deep`), not from a tool call. dry_run: If True, report what would happen without making changes.

  • edit

    Edit a node in place (policy-aware). Accepts a node ID or exact title. Edit classes by node type: - editable (concept, document, artifact, skill, person, project, question): every field below is allowed - additive (decision, constraint, directive, checkpoint, watch): history matters — only append and expires; use `supersede` to replace - managed (task, session, coordination): refused — use the dedicated task/session/coordination tools Args: node_id: Node ID or exact title. title: Replace the title. content: Replace the content. append: Append a dated addendum block to t…

  • graph_heal

    Diagnose each allowed graph independently without modifying it.

  • graph_merge

    Merge two nodes that represent the same concept. Moves all edges from the source node to the target node, then archives the source. Use when you find duplicate or near-duplicate nodes. Policy-aware like `edit`: managed types (task, session, coordination) are always refused — their tooling owns them. Additive types (decision, constraint, directive, checkpoint, watch) are refused unless force=True — prefer `supersede` so history survives. A foreign advisory lock on either node blocks the merge unless force=True. Args: source_id: Node to merge FROM (will be archived). target_id: Node t…

  • graph_stats

    Get source-separated graph analytics for auto, project, or global.

  • guarded
  • ingest

    Ingest knowledge from external sources. Args: source: Adapter name (github, linear, files, commits, projects, sessions) or 'all'. limit: Maximum items to ingest per adapter (0 = each adapter's own default; code is unlimited, network/LLM adapters cap at 50). repo: GitHub owner/repo for github adapter (e.g. 'jmcentire/kindex'). since: ISO date — only ingest items after this date.

  • invalidate

    Set a node's exclusive valid-time end without deleting it. A foreign advisory lock on the node refuses the change unless force=True. The activity log names this server's agent identity as the actor; the caller's `invalidated_by` is kept beside it as an assertion. Args: node_id: Durable node ID or exact title. invalidated_by: Asserted invalidating actor. disposition_code: Bounded machine invalidation reason. invalid_at: Optional timezone-aware RFC 3339 exclusive end time. force: Override a foreign advisory lock.

  • kinbase_explain

    Explain why one Kinbase logical key currently reads as it does. USE THIS: when company direction and the repository disagree, to see the reducer steps, the rejected events, and the evidence that would change the answer. Read-only, exact-key, and it never submits a question; generating a whole task brief is `kinbase project`, a planner step, because that one writes. Args: repo: Path to the certified repository asking. logical_key: The exact key to explain, e.g. `symbol:class:Db`. decision: The decision the answer is being read for.

  • kinbase_status

    Report a repository's Kinbase certification, trusted facts and Unknowns. USE THIS: before relying on company direction in a repository, to see whether Company was reachable at all. A withheld snapshot degrades the projection to repository evidence without failing, so a repository that lost Company and one that never had direction read alike until this is asked. Not purely a read: Kinbase closes apologies whose deadline has passed before it reports, which is a signed write it performs on every `status`. Nothing here records the asking, and what it writes is bounded by what is already overdue …

  • kinbase_submit

    Submit explicit text as AI-generated repository evidence to native Kinbase. This stages one observation through `kinbase ingest kindex`. It does not run separate bulk corpus admission, ratify authority, or submit a question to a human queue. Native ingestion may derive and admit facts; the native receipt reports that outcome. A question node is AI evidence, not a native `questions ask`. Text is limited to 16 KiB; recognized credentials are refused. Identical retries reuse the source artifact. A timeout may have submitted successfully and is reported as unknown, not as evidence of no change.

  • kinbase_sync

    Refresh signed Kinbase evidence; raw verifies bytes, reduced retains governance snapshots. The source events are never modified. Reduced covers local event keys and invokes exact-key explain, never project (which may submit questions). The `kinbase` executable is the one on PATH: a tool caller does not name what runs. A reduced sync that would outlast KINBASE_SYNC_BUDGET_S is refused; the CLI has no such bound.

  • learn

    Extract knowledge from text and add it to the graph. USE THIS: after reading long files, articles, command outputs, or completing complex multi-step tasks. Summarize what happened and pass the text here for automatic concept extraction and linking. Extracts with the configured LLM when one is available (it reads the first 4,000 characters) and with keyword matching otherwise. Creates up to 10 concept nodes: low-information ones are rejected, and a concept whose title already exists reuses that node. When it creates any, it grounds them to a new source node holding the first 500 characters of…

  • link

    Create an edge between two nodes. Links are the graph's primary value. Choose the right relationship type: - relates_to: general connection (default) - depends_on: A requires B to function - implements: A is a concrete realization of B - contradicts: A and B are in tension - blocks: A prevents progress on B - answers: A resolves question B - supersedes: A replaces B - context_of: A provides background for B - spawned_from: A was derived from B - exemplifies: A is an example of B Args: node_a: Source node ID or title. node_b: Target node ID or title. relationship: Edge type (see a…

  • list_nodes

    List nodes in the knowledge graph with optional filters. Args: node_type: Filter by type (concept, decision, skill, person, project, etc.). status: Filter by status (active, archived, deprecated). audience: Filter by audience (private, team, org, public). tags: Filter by tags (comma-separated, AND logic — node must have all). limit: Maximum number of nodes to return. graph: auto (both allowed stores), project, or global.

  • lock_acquire

    Acquire an advisory lock on a node for the current agent. Locks are advisory: they signal "I am working on this" to other agents (edit refusal, collab context). Expired locks never block anyone. Args: node_id: Node ID or title to lock. ttl_minutes: Lock TTL. Re-acquiring refreshes it. note: Why the node is locked. force: Take over a foreign unexpired lock.

  • lock_release

    Release an advisory lock held on a node. Args: node_id: Node ID or title to unlock. force: Clear a lock held by another agent.

  • mask_scan

    Find (or mask) known secret values already stored in the graph. Requires ``secret_mask`` in the user's ~/.config/kindex/kin.yaml (env files such as ~/.profile whose values are secrets). New writes are masked as ``$NAME`` automatically; this reports rows written before, by key name and location, never values. Args: apply: Rewrite the matches as ``$NAME`` after a recovery snapshot (the snapshot keeps the old values; the report names it).

  • memory

    Search this repository's Kindex memory or capture evidence for later review. action=search: full-text search on up to 16 words (3+ characters) taken from text; returns up to 5 matching non-task nodes (id, title, first 500 characters) plus up to 10 open durable tasks, as evidence rather than instructions. Personal memory is not searched. action=capture: stores text (at least 20 characters; truncated near 3,900) as a quarantined capture candidate and returns its candidate_id. Nothing becomes durable knowledge, a directive or a permission until someone reviews and accepts it.

  • mode_activate

    Activate a conversation mode. Returns the priming artifact to inject. Modes are state inductions, not instructions. They shift how you think, not what you think about. Based on research showing induced understanding outperforms direct instruction by 5.4x. Built-in modes: collaborate, code, create, research, chat. Custom modes can be created with mode_create. Args: name: Mode name (e.g. 'collaborate', 'code', 'create'). session_context: Optional prior session context to resume from.

  • mode_create

    Create a custom conversation mode from a primer, boundary, and permissions. A primer is a state induction (~80 words) that establishes how to think. A boundary defines what quality means for this mode. Permissions state what's explicitly allowed (tangents, pushback, etc). Args: name: Mode name (short, lowercase, no spaces). primer: The mode-setting passage. Under 80 words. Not instructions. boundary: 2-3 sentences defining output quality for this mode. permissions: What's explicitly permitted to keep the conversation alive. description: Optional one-line description. …

  • mode_export

    Export a mode as a portable, PII-free artifact (JSON). Args: name: Mode name to export.

  • mode_import

    Import a mode from a portable artifact (JSON string). Args: artifact_json: JSON string of the mode artifact.

  • mode_list

    List available conversation modes (built-in and custom).

  • mode_seed

    Seed the default conversation modes into the graph. Idempotent.

  • mode_show

    Show details of a conversation mode including its primer, boundary, and permissions. Args: name: Mode name.

  • remind_check

    Check for due reminders and fire notifications. Runs the reminder check cycle: finds due reminders, sends notifications, handles auto-snooze for stale fired reminders.

  • remind_create

    Create a reminder with natural language time parsing. Args: text: What to be reminded about. when: When to fire: 'in 30 minutes', 'tomorrow at 3pm', 'every weekday at 9am'. priority: Priority level (low, normal, high, urgent). channels: Comma-separated notification channels (system, slack, email, claude). action: Shell command to execute when the reminder fires (optional). instructions: Natural language instructions for Claude to follow when due (optional). conversation_id: Optional chat/session id for scoped hook injection. scope: Reminder visibility for hook …

  • remind_done

    Mark a reminder as completed. Args: id: Reminder ID.

  • remind_exec

    Manually trigger a reminder's action. Args: id: Reminder ID.

  • remind_list

    List reminders with optional filters. Args: status: Filter by status (active, snoozed, fired, all). priority: Filter by priority (low, normal, high, urgent).

  • remind_snooze

    Snooze a reminder. Args: id: Reminder ID. duration: Snooze duration (e.g. '15m', '1h'). Uses config default if empty.

  • scope_info

    Report this server's fixed repository, graph and permitted Kinbase operations.

  • search

    Search the knowledge graph with hybrid FTS5 + graph traversal. USE THIS: before starting work on a topic, before adding nodes (to avoid duplicates), and whenever you need context about a concept. Each graph supplies its native hybrid ranking. When both project and configured global graphs contribute, equal-weight RRF interleaves those lists by rank, without comparing their locally normalized scores. The merged rank score is not calibrated cross-graph relevance. Results carry qualified graph IDs for safe follow-on writes. Args: query: Search query text. top_k: Maximum results to retu…

  • show

    Show full details of a node including edges and provenance. Args: node_id: Node ID or title to look up. resolve_sources: Inspect durable evidence with read-only SQLite opens. Saved references never authorize writes or bypass session scopes.

  • stale_check

    Re-hash referent-bound nodes; demote stale ones from trusted recall. R0 staleness sweep: every active node carrying a file-scope referent is re-hashed against its recorded content digest. A mismatch (or missing file) records a demotion marker — the node drops out of trusted_only recall, shows " [stale-referent]" in search/context output, and becomes a re-verification candidate. Content is never deleted or rewritten. A fresh re-hash clears a previously recorded marker. Args: base_dir: Resolve relative referent paths against this directory (default: the server's cwd — prefer absolu…

  • status

    Get per-graph health and statistics for the selected read scope.

  • suggest

    Show pending bridge opportunity suggestions. These are potential connections between concepts that Kindex detected but hasn't confirmed yet. Args: limit: Maximum suggestions to show. graph: auto (both allowed stores), project, or global.

  • supersede

    Replace a node with a fresh one, preserving history. Accepts ID or title. Creates a new node (same type/tags/audience/intent), links it with a `supersedes` edge, marks the old node status='superseded', and migrates its retrieval pheromone. Use this instead of `edit` for additive types (decision, constraint, directive, checkpoint, watch) when the content must change rather than grow. Args: node_id: Node ID or exact title of the node to replace. new_text: Full replacement text (becomes title + content). expires: Optional expiry date for the new node (YYYY-MM-DD). reason: Why th…

  • tag_resume

    Resume a session tag — get full context for continuing work. Args: name: Tag name to resume (shows active/paused tags if empty). tokens: Exact UTF-8 byte budget for the resume block. The argument name is retained for compatibility; provider-token guarantees require a direct library caller to supply that provider's exact counter.

  • tag_start

    Start a new session tag for tracking work context. Args: name: Human-readable tag name (e.g. 'auth-refactor'). description: What this session is about. focus: Current focus area. remaining: Comma-separated list of remaining items.

  • tag_update

    Update, segment, pause, or end a session tag. Args: name: Required tag name from tag_start or tag_resume. Concurrent agents can have active tags in the same project, so omission is unsafe. focus: New focus area (used for update and segment actions). description: Updated description. remaining: Replace remaining items (comma-separated). add_remaining: Add items to remaining (comma-separated). done: Remove items from remaining (comma-separated). summary: Summary for segment/pause/end actions. action: One of: update, segment, pause, end.

  • task

    Kindex durable repo task service: tasks live in this worktree's .kin/local store and survive compaction and new sessions (the native Task/TodoWrite tools route here too). get and list read (list takes status, limit, cursor). create, update, complete, cancel, claim, release and reconcile write and need args.operation_id: resending an ID with the same arguments returns the committed result (replayed: true) instead of applying it twice, and reusing it with different arguments is refused. Pass expected_version on update/complete/cancel/claim/release to refuse the write if the task changed; another…

  • task_add

    Add a task to the knowledge graph. Tasks are graph-connected -- link them to concepts, projects, or other nodes so they surface contextually when you're working in related areas. Use link_to to connect tasks to existing graph nodes by ID or title. Args: text: Task title/description. priority: 1=urgent 2=high 3=normal 4=low 5=someday. due: Optional due date ('tomorrow', '2026-03-15', 'in 3 days'). scope: 'global' (always visible) or 'contextual' (surfaces by proximity). link_to: Comma-separated node IDs or titles to link this task to. effort: Optional effort estimate (…

  • task_cancel

    Cancel a task without deleting its durable record or history.

  • task_claim

    Claim a task for an agent with an expiry. Args: id: Task node ID. agent: Agent/sub-agent name claiming the task (default: resolved agent id). ttl_minutes: Claim TTL. Expired claims can be taken over. note: Optional claim note. force: Override an existing unexpired claim.

  • task_done

    Mark a task as completed. Args: id: Task node ID. agent: Agent completing it (default: resolved agent id). Another agent's live claim refuses the change unless force is true. force: Complete even though another agent holds a live claim.

  • task_execute

    Scoped typed task operation for host adapters, including durable retries. Mutations require arguments.operation_id; update accepts expected_version. Operations: create/get/list/update/complete/cancel/claim/release/reconcile. Explicit project/session scope comes from the caller, never the MCP cwd.

  • task_get

    Get a complete structured durable task by its exact graph ID.

  • task_list

    List tasks, optionally filtered. With an implicitly selected project graph, also includes relevant tasks from the configured global graph and returns qualified IDs. Args: status: Filter: open, in_progress, done, all. Default: open. scope: Filter: global, contextual, or empty for both. priority: Max priority level to show (1-5). Empty for all. project_path: Optional explicit project filter. limit: Maximum number of matching tasks to return. graph: auto (selected project plus relevant outer tasks), project (selected store only), or global (configured outer store…

  • task_release

    Release a task claim. Args: id: Task node ID. agent: Agent name. Required to match the claim unless force is true. force: Release even if the agent does not match.

  • task_update

    Update task fields; omitted fields stay unchanged. Empty due clears it. expected_version provides compare-and-swap protection against concurrent edits. A status change that ends another agent's live claim is refused unless force is true; agent defaults to the resolved agent id. Use task_execute for explicit host scope and durable operation replay.

  • verify

    Assert node verification and an optional half-open valid interval. Verified, current, non-contradicted nodes are what `trusted_only=True` search and context admit. Reviewer identity is asserted audit text within the local trust boundary; this tool does not authenticate it. Args: node_id: Node ID, graph-qualified reference, or exact title. verified_by: Asserted verifier identifier (at most 128 characters). prov_method: How the node was verified, as short audit text (at most 128 characters). verified_at: Optional RFC 3339 verification time (default: now). valid_at: …

  • watch_add

    Create a watch node for something needing periodic attention. Watches surface in every session's context. Use for: - Flaky tests, unstable APIs, known tech debt - Pending decisions, things to revisit - Anything Claude should keep an eye on Args: text: What to watch (becomes the node title). owner: Who owns this watch (person or team). expires: When this watch expires (YYYY-MM-DD). Auto-archived after expiry. link_to: Comma-separated node IDs/titles to link this watch to. graph: project (selected graph) or global (configured outer graph). source_refs: Comma-separated g…

  • watch_list

    List watch nodes. Args: status: Filter by status: active (default), archived, all. graph: auto (both allowed stores), project, or global.

  • watch_resolve

    Resolve/archive a watch node. Args: id: Watch node ID. reason: Why this watch is being resolved.

Compare and alternatives

    Featured in

    Signals

    Stars
    46
    Forks
    9
    Open issues
    0
    Contributors
    10
    Weekly downloads
    423
    Last commit
    Oct 20, 2026 (8 days ago)
    Last release
    Oct 14, 2026 (14 days ago)
    Last package publish
    Oct 14, 2026 (14 days ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.wandercom/kindex
    Version
    0.49.0
    Auth
    No auth
    Packages
    pypi kindex
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    Same server elsewhere

    Copies of this server published by others; search shows only one of them.

    More from wandercom

    Cite this page

    Kindex MCP server. Agent Mart. https://agentmart.dev/connectors/wandercom-kindex (last updated 2026-10-24)