LocalNest MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MCP_MODE | No | Communication mode for the MCP server. | stdio |
| PROJECT_ROOTS | No | Environment variable for project roots. High priority configuration. | |
| LOCALNEST_CONFIG | No | Path to the LocalNest configuration file. | ~/.localnest/config/localnest.config.json |
| LOCALNEST_DB_PATH | No | SQLite database path. | ~/.localnest/data/localnest.db |
| LOCALNEST_EMBED_DIMS | No | Embedding vector dimensions. | 384 |
| LOCALNEST_INDEX_PATH | No | JSON index path. | ~/.localnest/data/localnest.index.json |
| LOCALNEST_EMBED_MODEL | No | Embedding model name. | Xenova/all-MiniLM-L6-v2 |
| LOCALNEST_INDEX_BACKEND | No | Index backend to use: 'sqlite-vec' or 'json'. | sqlite-vec |
| LOCALNEST_EMBED_PROVIDER | No | Embedding backend provider. | xenova |
| LOCALNEST_MEMORY_BACKEND | No | Memory backend: 'auto', 'node-sqlite', or 'sqlite3'. | auto |
| LOCALNEST_MEMORY_DB_PATH | No | SQLite memory database path. | ~/.localnest/data/localnest.memory.db |
| LOCALNEST_MEMORY_ENABLED | No | Enable local memory subsystem. | false |
| LOCALNEST_RERANKER_MODEL | No | Cross-encoder reranker model name. | Xenova/ms-marco-MiniLM-L-6-v2 |
| LOCALNEST_UPDATE_PACKAGE | No | npm package name to check/update. | localnest-mcp |
| LOCALNEST_EMBED_CACHE_DIR | No | Embedding model cache path. | ~/.localnest/cache |
| LOCALNEST_VECTOR_MAX_FILES | No | Max files per index run. | 20000 |
| LOCALNEST_VECTOR_MAX_TERMS | No | Max terms per chunk. | 80 |
| LOCALNEST_RERANKER_PROVIDER | No | Reranker backend provider. | xenova |
| LOCALNEST_RERANKER_CACHE_DIR | No | Reranker model cache path. | ~/.localnest/cache |
| LOCALNEST_VECTOR_CHUNK_LINES | No | Lines per index chunk. | 60 |
| LOCALNEST_MEMORY_AUTO_CAPTURE | No | Allow background event ingest to promote memories automatically. | false |
| LOCALNEST_MEMORY_CONSENT_DONE | No | Indicates setup memory consent was already collected. | false |
| LOCALNEST_SQLITE_VEC_EXTENSION | No | Optional custom native extension path for sqlite-vec. If unset, no native extension load is attempted. | |
| LOCALNEST_VECTOR_CHUNK_OVERLAP | No | Overlap between chunks. | 15 |
| LOCALNEST_UPDATE_CHECK_INTERVAL_MINUTES | No | Refresh interval for npm update checks. | 120 |
| LOCALNEST_UPDATE_FAILURE_BACKOFF_MINUTES | No | Retry interval when npm check fails. | 15 |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| localnest_server_statusB | Return runtime status and active configuration summary for this MCP server. |
| localnest_healthB | Return a compact runtime health summary for fast smoke checks. |
| localnest_usage_guideA | Return concise best-practice guidance for users and AI agents using this MCP. |
| localnest_helpC | Get task-scoped tool guidance. Describe what you want to do and receive a tailored list of tools, workflow steps, and tips. |
| localnest_update_statusA | Check npm for the latest localnest-mcp version on the selected channel (cached, default every 120 minutes). |
| localnest_update_selfA | Update localnest-mcp globally via npm and sync bundled skill. Supports stable, beta, or explicit version targets. Requires explicit user approval. |
| localnest_task_contextC | [QUICK_REHYDRATION] Bundle runtime status, memory state, and relevant recall for a non-trivial task in one call. |
| localnest_memory_statusA | Return local memory feature status, consent state, and backend compatibility. |
| localnest_memory_recallC | Recall the most relevant local memories for a task or query. Use item_format=compact to drop content/metadata (~50% fewer tokens) or lite to return only id+title (~85% fewer tokens). |
| localnest_capture_outcomeA | [COMPLETE_MISSION] One-call mission summary capture. Use this after completing a task, fixing a bug, or making a major architectural decision to persist the "Winner" state for future agents. |
| localnest_agent_primeA | [MANDATORY_START] The single most important tool for task initialization. Rehydrates project context, recalled memories, KG entities, relevant files, recent changes, and suggested actions in one call. Always call this BEFORE deeper research. |
| localnest_whats_newA | Cross-session delta: new memories, KG triples, file changes, and commits since a given timestamp or last session. |
| localnest_teachA | Teach the agent a durable behavior rule. Stores a high-importance feedback memory that auto-surfaces in agent_prime when future tasks match the instruction domain. Use this to set persistent preferences, coding standards, or workflow rules that should apply across sessions. Teach memories can be listed (kind=feedback), updated, or deleted via existing memory CRUD tools. |
| localnest_memory_listB | List stored memories with optional scope, kind, nest, branch, and tag filters. Use item_format=compact to drop content/metadata (~50% fewer tokens) or lite to return only id+title (~85% fewer tokens). |
| localnest_memory_getA | Fetch one stored memory with revision history. |
| localnest_memory_storeC | Store a durable local memory entry. |
| localnest_memory_updateB | Update a stored memory entry and append a revision. |
| localnest_memory_deleteA | Delete a stored memory entry and all of its revisions. |
| localnest_memory_delete_batchA | Delete up to 100 memory entries in a single call. Returns the count of deleted entries and per-row errors for IDs that were not found or failed. |
| localnest_memory_capture_eventC | Ingest a background work event and auto-promote meaningful events into durable memory. |
| localnest_memory_eventsB | List recently captured memory events and whether they were promoted into durable memory. |
| localnest_memory_suggest_relationsA | Find semantically similar memory entries that could be linked to a given memory. Uses dense embeddings (all-MiniLM-L6-v2) when available, falls back to token overlap. Returns candidates ranked by similarity without creating any relations — use localnest_memory_add_relation to confirm. |
| localnest_memory_add_relationA | Link two memory entries with a named relation. Use to build a traversable knowledge graph (e.g. "depends_on", "contradicts", "supersedes", "related"). |
| localnest_memory_remove_relationC | Remove a relation between two memory entries. |
| localnest_memory_relatedA | Return all memory entries linked to a given memory ID, traversing the knowledge graph one hop in both directions. |
| localnest_memory_store_batchA | Store up to 100 memory entries in a single atomic transaction. Deduplicates via fingerprint and optional semantic similarity. Returns created/duplicate counts and per-row validation errors. |
| localnest_list_rootsB | List configured local roots available to this MCP server. |
| localnest_list_projectsA | List first-level project directories under a root. |
| localnest_project_treeC | Return a compact tree of files/directories for a project path. |
| localnest_read_fileA | Read a bounded chunk of a file with line numbers. |
| localnest_file_changedB | Report that a file was edited and receive proactive hints about high-importance memories linked to it. Memories with importance >= 70 that reference the file are flagged with suggest_update=true, indicating the memory may need updating to reflect the file change. |
| localnest_summarize_projectC | Return a high-level summary of a project directory. |
| localnest_index_statusB | Return local semantic index status and metadata. |
| localnest_embed_statusA | Return active embedding backend/model status and vector-search readiness. |
| localnest_index_projectC | Build or refresh semantic index for a project or across all roots. |
| localnest_search_filesA | [FAST_DISCOVERY] Search file paths and names matching a query. Use this first when looking for a module, feature, or component by name (e.g. "sso", "payment", "auth"). |
| localnest_search_codeA | [EXACT_MATCH] Search text across files under a project/root and return matching lines. Best for exact symbol names, imports, or known identifiers. |
| localnest_search_hybridB | [DEEP_ANALYSIS] Run lexical + semantic retrieval and return RRF-ranked results. Best for queries where concepts and context matter as much as exact keywords. |
| localnest_get_symbolC | [SYMBOL_INDEX] Look up symbol definitions/exports by name using fast regex search. |
| localnest_find_usagesC | [USAGE_ANALYSIS] Find call sites and import usages of a symbol by name. |
| localnest_kg_add_entityB | Create or update an entity in the knowledge graph. Entity IDs are auto-generated as normalized slugs (lowercase, underscored). |
| localnest_kg_add_tripleB | Add a subject-predicate-object triple to the knowledge graph. Entities are auto-created on first reference. Detects contradictions (same subject+predicate with different valid object) and warns without blocking. |
| localnest_kg_add_entities_batchA | Create up to 500 entities in a single transactional batch. Returns created/duplicate counts and per-row errors. Use response_format "verbose" to get back an ids[] array. |
| localnest_kg_add_triples_batchA | Add up to 500 triples in a single transactional batch. Entities auto-created on first reference. Deduplicates against active triples. |
| localnest_kg_queryA | Query all relationships for an entity in the knowledge graph with optional direction filtering (outgoing, incoming, or both). |
| localnest_kg_invalidateA | Set valid_to on a triple to mark it as no longer current. The triple remains in history but is excluded from current-state queries. |
| localnest_kg_as_ofA | Query triples for an entity at a specific point in time. mode="event" (default) returns facts whose valid_from/valid_to bracket the date (event-time axis). mode="transaction" returns every triple LocalNest knew at that time via recorded_at, regardless of valid_to (transaction-time axis). |
| localnest_kg_timelineA | Get a chronological timeline of all triples for an entity, including invalidated facts. Ordered by valid_from date ascending. |
| localnest_kg_statsA | Get knowledge graph statistics: total entity count, total triple count, active triple count, and breakdown by predicate type. |
| localnest_kg_backfill_linksA | Retroactively scan existing memories and create KG triples linking them to matching entities. Processes memories in batches. Use limit/offset for pagination. |
| localnest_nest_listA | List all nests (top-level memory domains) with their memory entry counts. |
| localnest_nest_branchesA | List all branches (topics) within a specific nest with their memory entry counts. |
| localnest_nest_treeB | Get the full taxonomy tree: all nests, their branches, and memory counts at each level. |
| localnest_graph_traverseB | Traverse the knowledge graph from a starting entity with configurable max hops (default 2). Uses recursive CTEs with cycle prevention. Returns discovered entities with path information. |
| localnest_graph_bridgesA | Discover cross-nest bridges (default) or cross-branch bridges within a nest. Use mode="cross-branch" with a nest to find entities that span different branches within that nest. |
| localnest_diary_writeA | Write a private diary entry for an agent. Diary entries are isolated and only visible to the owning agent. |
| localnest_diary_readA | Read recent diary entries for a specific agent. Only returns entries belonging to the requesting agent. |
| localnest_ingest_markdownA | Ingest a Markdown conversation export into memory entries and knowledge graph triples. Pass the full text content directly — file reading is handled by the CLI, not MCP tools. |
| localnest_ingest_jsonA | Ingest a JSON conversation export (array of {role, content, timestamp?} objects) into memory entries and knowledge graph triples. Pass the full JSON text directly. |
| localnest_memory_check_duplicateA | Check whether content is a semantic duplicate of an existing memory entry. Uses embedding cosine similarity with configurable threshold (default 0.92). Returns the matching entry when a duplicate is found. |
| localnest_hooks_statsA | Returns hook system statistics: whether hooks are enabled, total registered listener count, and a breakdown of listener counts per event type. |
| localnest_hooks_list_eventsA | Returns all valid hook event names that listeners can subscribe to. Covers memory lifecycle (store, update, delete, recall), knowledge graph operations (addEntity, addTriple, invalidate), graph traversal, diary, ingestion, dedup, taxonomy, and catch-all wildcards. |
| localnest_kg_delete_entityA | Delete a knowledge graph entity by ID. Cascades: also deletes all triples where the entity is subject or object. |
| localnest_kg_delete_entities_batchA | Delete up to 100 knowledge graph entities in one call. Cascades: also deletes all triples where each entity is subject or object. Returns count of deleted entities and removed triples. |
| localnest_kg_delete_triples_batchA | Hard-delete up to 100 knowledge graph triples by ID. Unlike invalidate (which sets valid_to), this permanently removes the triples. |
| localnest_project_backfillA | Scan a directory for projects and create seed memory entries for those with zero existing memories. Detects package.json, Cargo.toml, go.mod, pyproject.toml, pom.xml, build.gradle, and .git. Use dry_run=true to preview without writing. |
| localnest_findA | Search across memory entries, code chunks, and knowledge graph triples in a single call. Results are re-ranked across all sources using normalized scores. Each item includes a source field ("memory", "code", or "triple"). Use the sources parameter to limit which backends are queried. |
| localnest_auditA | Run a comprehensive self-audit of LocalNest health. Returns memory coverage by project, KG density metrics (entities, triples, orphans, duplicates, connected components), unpopulated nests, broken bridges, stale memories, a 0-100 health score, and actionable suggestions. Call once to get a full integrity dashboard. |
| localnest_find_callersA | Find every call site of a function or method across indexed files. Returns file path, line number, and surrounding context for each call. Requires the project to be indexed first via localnest_index_project. |
| localnest_find_definitionA | Jump to the declaration location(s) of a symbol across TypeScript, JavaScript, Python, Go, and Rust files. Returns file path, line range, and declaration text. Requires the project to be indexed first via localnest_index_project. |
| localnest_find_implementationsA | Find every class, struct, or object that implements a given interface or trait. Supports TypeScript implements, Python class inheritance, Rust impl-for, and Go struct patterns. Requires the project to be indexed first via localnest_index_project. |
| localnest_rename_previewA | Preview every location that would change when renaming a symbol. Does NOT modify any files -- returns a dry-run list of changes grouped by file. Requires the project to be indexed first via localnest_index_project. |
| localnest_backupA | Create a point-in-time backup of the LocalNest memory database using SQLite VACUUM INTO. The backup is a clean, compacted SQLite file verified with PRAGMA integrity_check. If destination is omitted, the backup is written to {memoryDbDir}/backups/{timestamp}.db. |
| localnest_restoreA | Restore the LocalNest memory database from a backup file. Verifies backup integrity before replacing the live database. IMPORTANT: The MCP server must be restarted after restore for changes to take effect. |
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
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/wmt-mobile/localnest'
If you have feedback or need assistance with the MCP directory API, please join our Discord server