wadachi
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| BRAIN_DIR | No | Directory for brain storage (default ~/.wadachi; legacy ~/.engram also supported) | ~/.wadachi |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| store_memoryA | Store knowledge in the Brain for future sessions. Args: content: The information to remember (markdown supported). title: Short descriptive title for this memory. project: Project name (use 'global' for cross-project knowledge). tags: Keywords for easier retrieval (e.g. ["python", "fastapi", "auth"]). category: One of: architecture, bugfix, config, pattern, context, reference, note. |
| recallA | Search the Brain semantically. Use this to find relevant memories before starting work. Args: query: Natural language query describing what you're looking for. project: Scope search to a specific project (None = search all). limit: Maximum number of results to return. neighbors: Attach each result's strongest graph neighbours (1 hop, typed) — graph-aware recall: what's CONNECTED surfaces even if not textually similar. |
| get_memoryA | Retrieve the full content of a specific memory by its ID. Args: memory_id: The numeric ID of the memory to retrieve. |
| list_memoriesA | List all memories in the Brain, optionally filtered. Args: project: Filter by project name. category: Filter by category (architecture, bugfix, config, pattern, context, reference, note). |
| update_memoryA | Update an existing memory's content or tags. Args: memory_id: The numeric ID of the memory to update. content: New content (replaces existing). Pass None to keep current content. tags: New tags (replaces existing). Pass None to keep current tags. |
| delete_memoryA | Permanently delete a memory from the Brain. Args: memory_id: The numeric ID of the memory to delete. |
| store_decisionA | Log a decision for future reference. Invaluable for understanding past choices. Args: decision: What was decided. rationale: Why this choice was made. alternatives: What other options were considered and why they were rejected. context: Surrounding context that influenced the decision. project: Project this decision belongs to. |
| list_decisionsB | List recent decisions, optionally filtered by project. Args: project: Filter by project name. limit: Maximum number of decisions to return. |
| register_projectA | Register a project so the Brain can auto-detect it from the working directory. Args: name: Short project identifier (e.g. 'feynotes', 'laplacebo'). description: What this project is about. paths: Filesystem paths associated with this project (for auto-detection). |
| list_projectsA | List all registered projects. |
| get_contextA | Auto-inject relevant context at the start of a session. Call this FIRST. Detects the current project from cwd, then returns a COMPACT overview (~300-600 tokens): memory/decision pointers with ids, what needs review, stats. Drill into anything with expand_memory(ids=[...]). Args: cwd: Current working directory (for project auto-detection). task_description: Brief description of what you're about to do (improves relevance). limit: Max memories to include. max_tokens: Token budget for the dense format — truncated by relevance, not by age. format: "dense" (default, compact markdown) or "json" (full previews, verbose). |
| expand_memoryA | Drill-down dal contesto compatto: il contenuto COMPLETO di una o più memorie. Args: ids: Gli id (max 10) presi dai puntatori #id di get_context/recall. |
| brain_statusB | Check Brain health and statistics. |
| recall_associativeA | Spreading-activation recall over the memory graph (HippoRAG-style). Unlike Args: query: Natural language query. project: Scope to a project (None = whole brain). limit: Number of results. |
| related_memoriesA | Show the memories most strongly linked to a given one (typed neighbours). Args: memory_id: The memory to expand from. limit: Max neighbours to return. |
| memory_graphA | Overview of the brain as a graph: hubs, orphans, components, a Mermaid diagram of the citation backbone, and (if built) the Graphify entity graph with communities, god-nodes and surprising connections. Args: project: Scope to a project (None = whole brain). focus_id: If set, the Mermaid diagram is centred on this memory. include_entities: Include the Graphify entity-graph summary. |
| rebuild_entity_graphA | (Re)build the Graphify entity knowledge graph over the brain. Runs extraction via the local |
| memory_historyA | Show prior versions of a memory (preserved on every update — non-destructive). Args: memory_id: The memory whose edit history to retrieve. |
| review_beliefsA | Scan the brain for memories that have likely gone stale and need review: superseded by a newer memory, past a temporal deadline, conditional/provisional, or already flagged. Read-only — it suggests, never deletes. Confirm with flag_stale. Args: project: Scope to a project (None = whole brain). |
| set_beliefA | Update a memory's belief envelope. None args keep the current value. Args: memory_id: The memory. confidence: 0..1 how sure we are. status: active | stale | retired. valid_until: ISO date after which the claim expires. review_reason: why the status/confidence changed. superseded_by: id of the memory that replaced this one. |
| flag_staleA | Mark a memory as stale: kept and recoverable, but annotated in recall. Args: memory_id: The memory to flag. reason: Why it's stale. superseded_by: id of the memory that replaced it, if any. |
| reflectA | Think across memories: surface cross-project analogies and non-obvious
connections that recall cannot reach (reuses the Graphify graph — no extra LLM
cost). Candidates are saved as Args: project: Scope to a project (None = whole brain). limit: Max candidates. store_them: Persist candidates as proposed insights. |
| list_insightsA | List reflection insights, optionally by status (proposed | accepted | rejected). |
| accept_insightA | Accept an insight: mark it accepted and promote it to a real memory linked to its source memories. Args: insight_id: The insight to accept. project: Project for the promoted memory. |
| reject_insightA | Reject an insight (kept on record, marked rejected). Args: insight_id: The insight to reject. |
| whyA | Interrogate decision provenance: WHY are things the way they are? Ask "why do we use X and not Y?" — returns the matching decision(s) with rationale, the rejected alternatives, the context, plus the memories that cite each decision (its evidence in the graph) and what supersedes what. Args: question: The "why" question, natural language. project: Scope to a project (None = whole brain). limit: Max decisions to explain. |
| as_ofA | Time-travel: what did the brain believe at a given date? Memories that existed then, with their content AS IT WAS (reconstructed from the non-destructive version history), and which of them were already superseded or expired at that date. Args: date: ISO date ("2026-03-01") — the point in time to reconstruct. query: Optional filter — only memories relevant to this (searched today, content returned as of the date). project: Scope to a project. limit: Max memories. |
| sleepA | The brain's "sleep": walk the graph and PROPOSE housekeeping (read-only). Like consolidation during sleep: finds dense communities whose memories are near-duplicates (→ merge candidates), leaves never recalled and fading (→ decay candidates for flag_stale), and disconnected orphans. Nothing is changed — you (or your agent) act with merge_memories / flag_stale. Args: project: Scope to a project (None = whole brain). min_similarity: Cosine threshold for merge candidates inside a community. |
| consolidateA | Propose groups of redundant/overlapping memories to merge (READ-ONLY). Finds clusters of highly-similar memories. Nothing is modified: review the groups, write a synthesis yourself, then call merge_memories(...) — the sources get marked superseded (never deleted, always recoverable). Args: project: Scope to a project (None = whole brain). threshold: Cosine similarity above which two memories are considered redundant. max_groups: Max candidate groups to return. |
| merge_memoriesA | Merge redundant memories: store the synthesis as a NEW memory and mark the sources superseded (kept and recoverable — never deleted). Args: source_ids: The memories being consolidated (≥2). title: Title of the merged memory. content: The synthesis you wrote (the sources' provenance is appended automatically). project: Project for the merged memory. tags: Tags for the merged memory. |
| review_proceduresA | Find recurring-incident clusters and propose always-on rules for review. Read-only — never edits your operating instructions. Args: project: Scope to a project (None = whole brain). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/EliaCinti/wadachi'
If you have feedback or need assistance with the MCP directory API, please join our Discord server