Skip to content
Agentmart
Submit a tool

Understanding Graph

Persistent understanding via workflow prompts, typed updates, graph-native code, and supersession.

Connector by emergent-wisdom · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 1
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/emergent-wisdom-understanding-graph

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 understanding via workflow prompts, typed updates, graph-native code, and supersession.

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 26, 2026.

Tools
50 read · 36 write · 4 delete · 21 not yet classified
Secrets
None asked for
Install scripts
None found
Runs as
Node.js package

Tools by what they do 111

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

Read 50 · Look things up without changing anything.

  • check_subtasks
  • doc_get_chain
  • doc_get_children
  • doc_get_concepts
  • doc_get_path
  • doc_get_tree
  • doc_get_unsigned_thinking
  • doc_list_roots
  • doc_read
  • doc_to_concept
  • edge_get_revisions
  • graph_analyze
Show 38 more tools
  • graph_answer
  • graph_centrality
  • graph_context
  • graph_context_region
  • graph_discover
  • graph_discover_grounded
  • graph_discover_grounded_chaos
  • graph_embedding_stats
  • graph_evaluate_variations
  • graph_find_by_reference
  • graph_find_by_trigger
  • graph_global_lookup
  • graph_history
  • graph_list_external
  • graph_lookup_external
  • graph_note
  • graph_path
  • graph_random
  • graph_score
  • graph_search_metadata
  • graph_semantic_gaps
  • graph_semantic_search
  • graph_similar
  • graph_suggest_next
  • graph_validate
  • node_get_metadata
  • node_get_revisions
  • project_list
  • solver_check_locks
  • solver_list
  • solver_queue_status
  • solver_verify_spec
  • source_list
  • source_position
  • source_read
  • theme_check_alignment
  • theme_get_active
  • translate_thinking

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

  • doc_append_thinking
  • doc_create
  • doc_create_passages
  • doc_insert_thinking
  • doc_merge
  • doc_move
  • doc_navigate
  • doc_revise
  • doc_sign_thinking
  • doc_weave
  • edge_update
  • graph_add_concept
Show 24 more tools
  • graph_add_reference
  • graph_batch
  • graph_bulk_replace
  • graph_connect
  • graph_question
  • graph_rename
  • graph_resolve_references
  • graph_revise
  • graph_supersede
  • graph_updates
  • node_set_metadata
  • node_set_trigger
  • solver_complete_task
  • solver_delegate
  • solver_enforce
  • solver_feedback
  • solver_lock
  • solver_spawn
  • solver_unlock
  • submit_result
  • theme_activate
  • theme_create
  • theme_deactivate
  • theme_landing

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

  • graph_archive
  • graph_disconnect
  • graph_purge
  • source_delete

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

  • delegate_task
  • doc_flatten
  • doc_generate
  • doc_generate_all
  • doc_link_concept
  • doc_split
  • doc_watch_start
  • doc_watch_stop
  • graph_backfill_embeddings
  • graph_bisociate
  • graph_chaos
  • graph_decide
Show 9 more tools
  • graph_practice
  • graph_serendipity
  • graph_skeleton
  • graph_thermostat
  • graph_understand
  • project_switch
  • solver_claim_task
  • source_export
  • source_load

Network hosts it talks to 4

  • biomejs.dev · found in code
  • github.com · found in code
  • railway.com · found in code
  • semahash.org · found in code

Files it touches

  • /opt/homebrew/share/dict/words
  • /private/tmp
  • /usr/local/share/dict/words
  • /usr/share/dict/american-english
  • /usr/share/dict/british-english
  • /usr/share/dict/web2
  • /usr/share/dict/words
  • /var/folders
  • Any path the agent passes to its tools

Tools (111)

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

  • check_subtasks

    Check status of sub-tasks you delegated. Returns pending/completed status.

  • delegate_task

    Delegate a sub-task to another agent. Use this when the task is too complex to handle atomically. You become an orchestrator.

  • doc_append_thinking

    SYNTHETIC_READER MODE ONLY: Append a reconstructed Reader/CMP pretraining thinking block at the END of the document chain - NO SPLITTING. TEMPORAL INTEGRITY: This tool limits a synthetic block to source content available at its reconstruction boundary. Unlike doc_insert_thinking (which splits), this appends to the current end of the chain. WORKFLOW (Append-based synthetic production): 1. source_read creates an exact content node at the end 2. Typed, non-thinking evidence captures the useful understanding state 3. The synthetic producer reconstructs a grounded pretraining block via doc_append…

  • doc_create

    Create one coherent, addressable document/artifact unit. For a file root set isDocRoot=true. In graph-native code, use independently understandable/movable responsibilities such as functions, classes, types, tests, or logical blocks. In graph-native prose, parts/chapters/scenes are usually containers and their child leaves are passages one could plausibly move, replace, compare, or revise without rewriting neighbors—often a beat, exchange, revelation, paragraph, or small paragraph cluster. Boundaries are semantic, not quotas; prefer meaningful ordered children over depositing an entire finishe…

  • doc_create_passages

    Batch-only: atomically create one prose container plus ordered, independently revisable child passages. Use this when a scene, chapter, or movement is coherent as a whole but a future writer may need to move, replace, compare, annotate, or revise one passage while preserving its neighbors. The container may preserve a narrative role as graph metadata; paragraph and sentence child titles remain semantic graph labels and do not render as manuscript headings. Inspiration provenance is optional and should be recorded only when graph material genuinely shaped a passage. Boundaries are semantic, nev…

  • doc_flatten

    Flatten a document tree into a linear sequence for rendering. Uses depth-first traversal.

  • doc_generate

    Generate a file from a document root and resurface compact open attention linked to its units before the projection is tested. Outputs to the project generated/ folder.

  • doc_generate_all

    Generate files for all document roots in the project. Outputs to the project generated/ folder.

  • doc_get_chain

    Get the sequence of nodes starting from a given node (via next edges).

  • doc_get_children

    Get the child nodes of a document node (via contains edges).

  • doc_get_concepts

    Get the concepts that a document node expresses (via expresses edges).

  • doc_get_path

    Get the path from a document root to a specific node in the document tree.

  • doc_get_tree

    Get the document tree structure starting from a root node. Use brief=true for compact outline (just titles and hierarchy), or omit for full content.

  • doc_get_unsigned_thinking

    SYNTHETIC_READER MODE ONLY: Get synthetic Reader/CMP pretraining thinking blocks that are missing signatures from specified agents. Use this to find reconstructed blocks that need review before synthetic production continues.

  • doc_insert_thinking

    SYNTHETIC_READER MODE ONLY: Insert a reconstructed Reader/CMP pretraining thinking block by splitting an existing content node at a character position. Use this after typed evidence nodes already exist to reconstruct a synthetic inner-voice training block at a precise source boundary without rewriting the source. The source text is split at the specified position, and the synthetic block is inserted between the halves. This is a pretraining artifact, not an ordinary reading annotation or a claim to expose private chain-of-thought. CRITICAL INVARIANT: You MUST provide 'synthesizes_nodes'. Thi…

Show 96 more tools
  • doc_link_concept

    Link a document node to a concept it expresses. Creates an "expresses" edge.

  • doc_list_roots

    List all document root nodes in the current project.

  • doc_merge

    Atomically merge consecutive leaf document siblings under one parent. The node IDs must be distinct and supplied in their current reading order. The first node survives in place with combined content; the remaining nodes and their structural edges are archived. The parent receives one rebuilt contains/next topology, and each external non-structural relationship is preserved at most once on the survivor. This narrow operation rejects document roots, nodes with child subtrees, different parents, gaps/reversed order, and malformed document structure rather than inventing a hierarchy. Use doc_mo…

  • doc_move

    BATCH-ONLY: Move one non-root document node, preserving its complete subtree, content, and revision history. Use only as an operation inside graph_batch so contains/next rewiring is atomic and the batch commit records its origin. parentId defaults to the current parent. afterId is the previous sibling under the destination parent; omit afterId to move the node to the first position. The destination may be another valid document parent, including a parent under another document root. In code, this is how a function, class, test, or other responsibility moves to the module that should own it; …

  • doc_navigate

    Get navigation context for a document node: where you are (path to root), what's around you (siblings), and what's below (children). Use this to orient yourself within a document before reading or editing.

  • doc_read

    Read exact document content starting from any node. Pass a document root to read the whole document, or an exact passage/function/test node to inspect that unit. A root read without pagination is unbounded and intended only for small documents. For a bounded end-to-end reread, pass offset and limit, then continue with pagination.nextOffset until hasMore is false. Returns content, structure, and compact open attention. Add showRevisions: true for edit history and showProvenance: true for the recorded purpose, origin commit, and typed rationale relations that answer why this unit exists or chang…

  • doc_revise

    Update content when the whole leaf remains one coherent unit. If only one of several independently revisable functions, beats, images, or exchanges is changing, split or create addressable children and revise the exact unit instead of repeatedly replacing the whole leaf. The required why records this local edit in revision history. If a discovered insight, question, or tension should influence other passages or future work, make doc_revise and graph_note about this exact passage sibling operations inside graph_batch; if it is purely local, revision history is enough. WARNING: use "nodeId" (NOT…

  • doc_sign_thinking

    SYNTHETIC_READER MODE ONLY: Sign a synthetic Reader/CMP pretraining thinking block, optionally adding a role-specific review. Within synthetic Reader/CMP production, configured reviewers can sign reconstructed blocks before the producer advances. Signing records that the block is faithful to its typed evidence and chronological source boundary; it is not an ordinary reading action or a request for private chain-of-thought. Each agent can add their unique contribution: - Connector: patterns found, long-range connections - Skeptic: caveats, tensions, questions raised - Synthesizer: integration…

  • doc_split

    Batch-only: split a leaf into ordered, independently addressable units when one responsibility or creative center has become several. This is a semantic restructuring action, never a size or node quota. Split by headers or zero-based line boundaries and optionally choose the child level. The original remains an empty container, prior content stays in revision history, and graph_batch supplies atomic rollback plus an origin commit.

  • doc_to_concept

    Convert a document node to an ordinary concept node. Clears content, level, isDocRoot and optionally moves content to understanding. Reserved synthetic Reader/CMP thinking blocks must instead use the dedicated tools in TOOL_MODE="synthetic_reader".

  • doc_watch_start

    Start watching a document for changes. The file will auto-update when document nodes change.

  • doc_watch_stop

    Stop watching a document for changes.

  • doc_weave

    Create one local prose unit whose actual creative source includes specific graph material, preserving that influence with typed provenance. Choose targets returned by graph_understand, graph_semantic_search, or focused context because an image, tension, question, promise, or distant association genuinely changes the passage. The graph should provoke rather than prescribe. If no graph material catches, use doc_create and do not force a connection. Provide a concise why for how each chosen target shaped the prose. doc_weave records each document-unit → graph-material connection as inspired_by:…

  • edge_get_revisions

    Get the revision history for an edge. Shows how the relationship between concepts evolved.

  • edge_update

    Update an edge's type or explanation. Use to change edge types (e.g., relates→contains) or update descriptions.

  • graph_add_concept

    Add a new concept node to the understanding graph. AUTOMATIC DUPLICATE DETECTION: This tool automatically checks for similar existing concepts before creating: - >80% similarity: BLOCKS creation - extend existing concept instead - 60-80% similarity: WARNS but creates - consider linking - <60% similarity: Creates normally If blocked, you'll receive the existing concept ID and suggestions for how to extend it instead. WHEN TO USE: - An encounter changes what is understood or what becomes salient: a surprise, hesitation, attraction, alternative, question, hypothesis, prediction, consequenc…

  • graph_add_reference

    Add a reference to an existing node. Can be an external URL OR a cross-project reference to a node in another project.

  • graph_analyze

    Analyze graph structure to find gaps, cycles, bridges, and open questions.

  • graph_answer

    Answer a previously asked question. Creates a new concept with the answer and connects it to the question.

  • graph_archive

    Archive (soft-delete) a node. The node is hidden from default context but preserved in history. Use for orphan nodes, outdated concepts, or cleanup.

  • graph_backfill_embeddings

    Generate embeddings for all nodes that don't have them. Run this to enable semantic search on existing nodes.

  • graph_batch

    Execute multiple graph operations as an ATOMIC COMMIT. The entire batch is wrapped in a SQLite transaction. If any operation fails, the entire batch is rolled back as if it never ran — there is no half-state to clean up. This is the system's "Atomic Commit" primitive from the paper: it lets you branch and revert cognitive states cleanly. The required commit_message becomes the Origin Story attached to every node and edge created in the batch. Future agents reading those nodes see the intent that created them, not just the content. The commit stream is the provenance trail of how externalized…

  • graph_bisociate

    Optional Bisociation Engine: use spreading activation and information-gain signals to surface concrete concept pairs that may support an unexpected connection. Supply seed_nodes to spread from the current focus, or omit them for graph-wide mixed sampling. The candidates are provocations for model judgment, not claims that a connection exists.

  • graph_bulk_replace

    Find and replace text across all nodes in the graph. Useful for renaming characters, locations, or concepts. Supports single replacement or batch replacements. Use preview mode first to see what will change.

  • graph_centrality

    Get advanced centrality measures: PageRank (importance via link structure), Betweenness (bridges between clusters), Degree (connection count). Use to find the most important concepts.

  • graph_chaos

    ANI (Axiomatic Noise Injection): Corrupt text with chaos seeds to force a divergent reinterpretation. WHAT IT DOES: 1. Takes your text (or random node content) 2. Replaces words independently at a configurable probability (25% by default) 3. Returns corrupted text + "Physics What-If" prompt WORKFLOW: 1. graph_chaos({ text: "Your concept description" }) 2. Read the "prompt" field from result 3. CRITICAL: Start a BLIND agent or isolated model context using ONLY the prompt - Agent must NOT see original text - This tests the Inverse Hallucination method by asking the model to invent logic …

  • graph_connect

    Create edge between nodes. COGNITIVE PURPOSE: Edges are thinking scaffolds, not metadata. Only create an edge if it helps future agents reason better. Ask: "When thinking about X, should I also consider Y?" If yes, explain WHY in the why field. Good edges: "this tension led to that insight", "this question was answered here", "this pattern repeats there" Bad edges: "both about topic X" (too vague), "for completeness" (doesn't aid thinking) WARNING: edge type param is "type" (NOT "edgeType" - graph_disconnect uses edgeType).

  • graph_context

    Get the current understanding graph as XML context. For large graphs (50+ nodes), returns a compact view with overview of important concepts and region summaries. Use graph_context_region to drill into specific regions.

  • graph_context_region

    Get full details for a specific region/cluster of concepts. Use after graph_context to drill into regions of interest.

  • graph_decide

    BATCH-ONLY: Create a durable decision node that captures a choice, connects to every option with valid typed edges, and records what was chosen and why. Use as a graph_batch operation so the node, option edges, and commit land atomically.

  • graph_disconnect

    Remove/archive edge between nodes. WARNING: edge type param is "edgeType" (NOT "type" - graph_connect uses type). Edges are soft-deleted (active=0).

  • graph_discover

    HIGH-DIVERGENCE, UNGROUNDED ANI (Axiomatic Noise Injection). Use when the live work genuinely benefits from high-divergence exploration, whether chosen directly or offered by a creativity-enabled suggestion roll. For ordinary connection-finding, prefer graph_discover_grounded: it first asks for a defensible bridge and allows "no connection" as an answer. WHAT IT DOES: 1. Selects random nodes from graph 2. Corrupts their synthesis with chaos seeds (dictionary words) 3. Returns a prompt for sense-making WORKFLOW: 1. Call graph_discover({ nodes: 2, cold: true }) 2. Read the returned "prompt" f…

  • graph_discover_grounded

    DEFAULT serendipity workflow: 1) Pick random nodes and optional edges whose endpoints are among them, 2) Find a defensible connection or explicitly report none, 3) optionally perturb the grounded bridge, 4) integrate only what survives scrutiny. Prefer this over ungrounded graph_discover for understanding work.

  • graph_discover_grounded_chaos

    Phase 3 of grounded serendipity: Takes the genuine bridge you found and injects chaos to push it into unexplored territory. Call this AFTER graph_discover_grounded once you have articulated the real connection. Requires a host-installed newline-delimited dictionary; set UG_ANI_DICTIONARY_PATH when no standard system word list exists.

  • graph_embedding_stats

    Get statistics about embedding coverage in the graph.

  • graph_evaluate_variations

    Experimentally rank candidate texts by a Novelty Score: the harmonic mean of semantic divergence from the supplied original context and caller-assessed coherence. Returns candidates best-to-worst with per-candidate scores; it does not measure truth or validate the winner. Originally designed as the selection phase of the ANI serendipity pipeline (see graph_chaos / graph_discover).

  • graph_find_by_reference

    Find nodes that reference a specific URL or external resource. Useful for finding all nodes that cite a paper or website.

  • graph_find_by_trigger

    Find all nodes with a specific trigger type. Useful for finding all questions, tensions, serendipities, etc. Use unresolvedOnly=true to find open predictions (no validates/invalidates) or unanswered questions (no answers edge).

  • graph_global_lookup

    Find a node by ID across ALL projects. Searches every project database to locate the node. Use when you have a node ID but do not know which project it belongs to.

  • graph_history

    Read the recent activity and commit feeds for the current project: who created/revised which nodes and edges, with commit messages and agent attribution in chronological order. Returns one XML packet so structure is preserved when other agents quote from it. Use it when recent collaboration or activity could affect the current task; it is not a required session-opening ritual.

  • graph_list_external

    List nodes from a different project without switching. Use this to browse available references in other projects.

  • graph_lookup_external

    Look up a node from a different project without switching. Use this to resolve cross-project references.

  • graph_note

    Capture each substantive, user-visible change in understanding while working with an artifact, source, or prior graph material. This is the low-friction, batch-only path for new interpretations, questions, tensions, alternatives, predictions, surprises, and evaluations that record corrections that change attention or action before they become polished conclusions. It creates an ordinary typed concept and a learned_from edge to the exact visible graph node that occasioned it. Use it inside the same graph_batch as nearby work so the note is prospective or contemporaneous, not a rationale filed …

  • graph_path

    Find the shortest path between two concepts. Shows how they connect through the graph.

  • graph_practice

    Report how this graph has been WORKED, as distinct from how it is shaped: whether it is re-entered or only written to, whether artifact units carry links to the understanding that shaped them, whether practices present early have since decayed, whether existing predictions were later scored, and whether anything has been overturned. Absent node types are omitted rather than presented as missing work. graph_analyze and graph_score answer whether a graph is well formed and cannot answer whether it is doing anything — a graph nobody re-enters scores exactly like one that changes someone's mind. E…

  • graph_purge

    ADMIN: Permanently delete nodes/edges (not just archive). Use for test data cleanup only. Two-step: preview first, then confirm.

  • graph_question

    Create a question node representing something you want to explore or understand better.

  • graph_random

    Sample concrete graph elements for divergent exploration. Use the returned nodes as provocations: judge how, or whether, they matter to the live task. No defensible connection is valid. force:true enables the stronger local Physics What-If experiment; ordinary work should normally keep force:false.

  • graph_rename

    Rename a node (update its text/name). Use this to change character names, place names, concept names, etc. Documents using soft references ({{char:id}}) will automatically resolve to the new name on regeneration.

  • graph_resolve_references

    Resolve all cross-project references in a node. Given a node ID, fetches the full content of any referenced nodes from other projects.

  • graph_revise

    Update concept understanding with EPISTEMIC JOURNEY tracking. This tool captures HOW your understanding developed, not just WHAT changed. The before/after/pivot fields create a learning trail for future agents. EPISTEMIC JOURNEY (recommended for significant revisions): - before: What you believed before ("I thought X because...") - after: What you now believe ("Now I see Y because...") - pivot: The key insight that caused the shift ("The realization was...") These fields are stored in revision history, making understanding evolution visible. WARNING: use "node" (NOT "nodeId"). Updates "und…

  • graph_score

    Calculate a structural diagnostic for ordinary graph state: chronological references, supersession, question resolution, edge specificity, connectivity, and explanations. Reserved Reader/CMP artifacts are excluded. This score is a proxy, not evidence of semantic quality.

  • graph_search_metadata

    Search nodes by metadata field values. Metadata is flexible JSON stored on nodes for module-specific data.

  • graph_semantic_gaps

    Find potential missing connections - node pairs that are semantically similar but not connected. Uses embeddings when available, falls back to keyword matching.

  • graph_semantic_search

    Search nodes by semantic similarity to a query. Uses embeddings to find conceptually related nodes even if they don't share keywords. Returns region_id for each result to enable efficient context loading via graph_context_region.

  • graph_serendipity

    BATCH-ONLY: Record a serendipitous synthesis, anchor it to every source element with typed learned_from edges, and get a Novelty Score verdict. Use as a graph_batch operation so the node, edges, and commit land atomically. WHEN TO USE: After graph_discover or graph_chaos produces an insight worth keeping. WHAT IT DOES: 1. Creates a serendipity node with your synthesis 2. Calculates Novelty Score (S_N) = Harmonic Mean of Divergence × Coherence 3. Returns an advisory label: ACCEPT (S_N ≥ 0.35) | RETRY (regenerate) | UNSCORED (no embeddings) The score does not validate the synthesis and never …

  • graph_similar

    Find nodes structurally similar to a given node (share neighbors). Use this to discover related concepts you might want to connect.

  • graph_skeleton

    Ultra-minimal graph overview (~150 tokens) of the CURRENTLY ACTIVE project. Shows regions with sizes, hub nodes, and recent activity. Use for initial orientation before drilling into regions. To inspect a different project, call project_switch first — graph_skeleton always reports on whatever project is active at call time.

  • graph_suggest_next

    OPTIONAL UNDERSTANDING AID. Call when a substantive graph-backed task reaches a choice point where graph-specific pointers could deepen or diversify understanding, recover neglected material, test the current view, or make a useful connection newly visible. Direct use of graph_understand, graph_batch, and other graph tools is equally valid and loses no capability. This endpoint rolls several graph-state-, task-, and workflow-weighted concrete possibilities. Every option carries an epistemic stance—balanced, deepen, resist, connect, disrupt, revisit, or test—that can shape the next graph_unders…

  • graph_supersede

    Replace a wrong or incomplete concept with a fundamentally better understanding. Creates a supersession edge to preserve evolution history.

  • graph_thermostat

    Optional entropy-style graph-state pulse. Use it when deciding whether the current graph would benefit from convergence, ordinary continuation, or a more divergent creativity tool. It is advisory, not a governor; graph_suggest_next can turn the broad pressure into concrete weighted options.

  • graph_understand

    CONTEXTUAL RE-ENTRY TOOL. Usually enter Understanding mode through this tool directly. In ordinary modes, a separately advertised graph_suggest_next is an optional aid when a choice point would benefit from concrete provocations. Call this when a route or fresh encounter could be changed by prior graph state. It composes a read-only, graph-conditioned prompt for the concrete task instead of leaving continuation only in transient chat or a final artifact. Unlike ordinary retrieval, this surfaces a relevant prior, graph material that resists it, evidence links, and exact typed relations. The pro…

  • graph_updates

    Get graph changes (nodes, edges, errors) since a specific timestamp. Use this to maintain state without reloading the full context. Returns new nodes, edges, and YOUR recent actions (success/failure).

  • graph_validate

    BATCH-ONLY: Record an authored validation judgment after a serendipity has survived scrutiny or testing. This stores status and rationale; it does not independently prove the claim. Use as a graph_batch operation so the revision and commit land atomically.

  • node_get_metadata

    Get metadata from a node.

  • node_get_revisions

    Get the revision history for a node. Shows how understanding evolved over time, who changed what, and why.

  • node_set_metadata

    Set arbitrary metadata on a node. Merges with existing metadata. Use for module-specific data (e.g., narrative-engine coordinates, thought_fluid translations). Creates a commit if commit_message is provided.

  • node_set_trigger

    Change a node's trigger type. Use to reclassify nodes (e.g., foundation→analysis, foundation→tension).

  • project_list

    List all available projects.

  • project_switch

    Switch to a different project, creating it if it does not exist yet. The project becomes the active target for all subsequent graph mutations and queries. Pass the project you want to use; the matching directory + SQLite database are loaded (or created) on demand. Set goal to describe the project purpose (shown in the UI).

  • solver_check_locks

    Check what resources are currently locked.

  • solver_claim_task

    Worker Mode: Check the queue for pending tasks. If found, returns the Agent Persona + Task. Reclaimed parent tasks include exact terminal child handoffs so the integration owner can inspect and acknowledge their evidence.

  • solver_complete_task

    Submit the results of a task and mark it as complete or failed.

  • solver_delegate

    Post a task to the queue for a specific Solver. The task will be picked up by a worker calling solver_claim_task. Supports recursive decomposition via parent_task_id.

  • solver_enforce

    Post-exploration PURE stabilization check for a candidate intended to become reusable analysis, a decision, or a generalized synthesis. Apply it after open exploration, not as a gate on raw surprises, questions, or hypotheses. For each gate, you MUST argue both sides (steelman success AND failure) before deciding. Returns Traffic Light (RED/YELLOW/GREEN). Decision Rule: stabilize for reuse only when no gate is RED - GREEN: Gate convincingly satisfied; eligible for stabilization - YELLOW: Plausible but under-specified; targeted rework is needed before stabilization - RED: Gate fails materially…

  • solver_feedback

    Send feedback to a solver about a rejected task. Enables learning from rejection. The solver receives this feedback in future tasks.

  • solver_list

    List all registered Solvers in the Parliament.

  • solver_lock

    Cooperative subtree-partition lock for parallel cognition. Records "agent X is working on resource R (or the subtree rooted at R) until time T" in a shared table. The intended use is to PARTITION the graph among cooperating agents — Agent A locks the "Economics" subtree, Agent B locks the "Ethics" subtree, and they refactor in parallel without colliding. Use scope="subtree" to atomically lock the root plus every node reachable through active "contains" edges; semantic edges do not expand the lease. Cooperating agents query solver_check_locks before mutating to honor each other's claims. Honest…

  • solver_queue_status

    Get the status of the task queue: pending, processing, completed counts.

  • solver_spawn

    Register a new specialized Solver (agent) in the Parliament. The manifest defines the agent persona and strict behavior rules.

  • solver_unlock

    Release advisory locks you hold on resources. See solver_lock for the cooperative-vs-mutex caveat.

  • solver_verify_spec

    Verify a result against an AcceptSpec. Returns pass/fail with detailed breakdown.

  • source_delete

    Delete a text source (does not delete committed graph nodes).

  • source_export

    Export a completed source reading. In an ordinary mode, the export is the exact source with reserved synthetic Reader/CMP blocks excluded and unavailable. TOOL_MODE="synthetic_reader" may include those blocks in chronological position. Preserves original source content and does not request private chain-of-thought.

  • source_list

    List all text sources in the current project.

  • source_load

    Stage a text source for chronological reading when sequence matters: books, papers, articles, transcripts, or similar texts. The source body is stored in SQLite but NOT returned by this call; encounter it portion by portion with source_read. For a filePath, do not inspect or sample the file first. This is not the graph-native coding workflow: code belongs in ordered document nodes, with generated files used only as executable projections. Accepts content directly or a filePath within UG_SOURCE_ROOT (the server working directory by default).

  • source_position

    Get the current reading progress for a text source. Hidden cursor IDs are never returned. In every ordinary mode, reserved synthetic Reader/CMP blocks are excluded and unavailable. TOOL_MODE="synthetic_reader" may read and export them.

  • source_read

    Read the next portion of a text source and AUTO-CREATE a content node. The content is automatically committed to the graph as a document node - perfect replication from source, no manual copying needed. ORDINARY READING WORKFLOW: 1. source_read → exact encountered content is appended to the source chain 2. Stop at a natural, self-selected boundary when something will help later continuation 3. If warranted, use graph_batch to preserve rich non-"thinking" typed testimony and connect it to the exact content node with learned_from 4. Continue with source_read; never use unread material or gener…

  • submit_result

    Submit the final result of your task. Call this when done.

  • theme_activate

    Mark a theme as entering its activation zone. Call when narrative reaches the startId. Returns density check and active theme list.

  • theme_check_alignment

    Validate if prose aligns with active themes. Call after generating significant prose to ensure ideas are being transmitted.

  • theme_create

    Create a theme node defining an idea to transmit through the narrative. Themes have scope (story/arc/scene/moment), activation zones (where they become active), and landing points (pause moments where ideas land).

  • theme_deactivate

    Mark a theme as leaving its activation zone. Call at endId or when theme is complete.

  • theme_get_active

    Get all currently active themes and their intensities. Use before generating prose to know what ideas should be expressed.

  • theme_landing

    Mark a pause point where an idea lands. Call at peakId. This signals the narrative should slow down to let the idea sink in.

  • translate_thinking

    SYNTHETIC_READER MODE ONLY: Translate a synthetic Reader/CMP pretraining thinking block by expanding its concept references into fluid prose. TRANSLATOR-ONLY TOOL: This is the ONLY tool the translator should use to mark thinking as translated. It enforces that only THINKING nodes (trigger="thinking") can be marked as translated. WORKFLOW: 1. Find untranslated thinking: graph_find_by_trigger({ trigger: "thinking", missingMetadata: "translated" }) 2. Read the thinking node's prose 3. Look up each referenced concept (n_xxx) to get its full understanding 4. Write the expanded thought_fluid (all …

Signals

Stars
1
Forks
0
Open issues
0
Last commit
Oct 15, 2026 (14 days ago)
Last release
Oct 15, 2026 (14 days ago)

From GitHub (fetched Oct 24, 2026).

Details

Registry name
io.github.emergent-wisdom/understanding-graph
Version
0.1.32
Auth
No auth
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 25, 2026

More from emergent-wisdom

Cite this page

Understanding Graph MCP server. Agent Mart. https://agentmart.dev/connectors/emergent-wisdom-understanding-graph (last updated 2026-10-25)