Myelin
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MYELIN_DATA_DIR | No | Directory where all data lives. Default: ~/.myelin | |
| MYELIN_LATERAL_K | No | Max results per session/scope (0 = off). Default: 1 | |
| MYELIN_LOG_LEVEL | No | Logging verbosity (structured JSON to stderr). Default: INFO | |
| MYELIN_MULTIPROBE | No | 3-probe retrieval (original + keywords + entity-expanded). Default: true | |
| MYELIN_MAX_MEMORIES | No | Hard memory cap; 0 = unlimited. LRU eviction when exceeded. Default: 0 | |
| MYELIN_CHUNK_MAX_CHARS | No | Max characters per chunk. Default: 1000 | |
| MYELIN_EMBEDDING_MODEL | No | Bi-encoder model. Default: all-MiniLM-L6-v2 | |
| MYELIN_NECORTEX_RERANK | No | Cross-encoder re-ranking. Default: true | |
| MYELIN_NECORTEX_WEIGHT | No | CE/bi-encoder blend (0.0–1.0). Default: 0.6 | |
| MYELIN_DEFAULT_N_RESULTS | No | Results returned per recall. Default: 5 | |
| MYELIN_MIN_CONTENT_LENGTH | No | Minimum chars to pass the input gate. Default: 20 | |
| MYELIN_RECALL_OVER_FACTOR | No | Over-retrieval multiplier for re-ranking headroom. Default: 8 | |
| MYELIN_CHUNK_OVERLAP_CHARS | No | Overlap between text chunks. Default: 200 | |
| MYELIN_CROSS_ENCODER_MODEL | No | Cross-encoder model. Default: ms-marco-MiniLM-L-6-v2 | |
| MYELIN_CONSOLIDATION_INTERVAL | No | Auto-consolidate every N stores (0 = disabled). Default: 50 | |
| MYELIN_DEDUP_SIMILARITY_THRESHOLD | No | Above this = near-duplicate, rejected. Default: 0.95 |
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 |
|---|---|
| storeA | Store a memory with optional context metadata. Args:
content: The information to remember.
project: Cortical region — project name for scoped retrieval.
language: Programming language context.
scope: Engram cluster — domain scope (e.g. "auth", "database").
memory_type: Memory system (episodic/semantic/procedural/prospective).
tags: Comma-separated tags for categorization.
source: Which tool stored this ("copilot", "cursor", etc.).
overwrite: If True and content is a near-duplicate of an existing
memory, replace the old memory instead of rejecting. The
response will include Returns: JSON with memory ID on success, or rejection reason. |
| recallA | Recall memories relevant to a query. Args: query: What to search for (semantic similarity). n_results: Maximum number of results to return. project: Filter to a specific cortical region (project). language: Filter to a specific language. scope: Filter to a specific engram cluster (domain scope). memory_type: Filter by memory system (episodic/semantic/procedural/prospective). reference_date: ISO-8601 date for temporal context (e.g. "2026-04-12"). Defaults to now. agent_id: Namespace identifier — only returns memories stored with the same agent_id. Omit or leave empty to query the global shared namespace. Returns: JSON array of matching memories with scores. |
| forgetB | Remove a specific memory by ID. Args: memory_id: The ID of the memory to remove. Returns: JSON confirmation or error. |
| pin_memoryA | Pin a memory so it is always included in recall results. Pinned memories model the thalamic relay — sustained activation that keeps critical facts always available to the cortex. Args: memory_id: The ID of the memory to pin. priority: 0 = identity/system context, 1 = critical facts. label: Optional human-readable label for this pin. Returns: JSON confirmation. |
| unpin_memoryB | Remove a pinned memory from the thalamic buffer. Args: memory_id: The ID of the memory to unpin. Returns: JSON confirmation or not_found. |
| decay_sweepB | Prune stale memories that haven't been accessed recently. Removes memories exceeding the idle threshold with low access counts. Returns: JSON summary of pruned memories. |
| statusA | Show memory system status. Returns: JSON with memory count and configuration. |
| statsA | KPI dashboard for the memory database. Returns counts by memory type, project, scope, knowledge domain, access health (hot/warm/cold), age distribution, Hebbian link statistics, and a count of decay candidates. Optionally filter to a specific project or agent namespace. Args: project: Restrict results to this project name (empty = all projects). agent_id: Restrict results to this agent namespace (empty = all agents). Returns: JSON with total, entity_count, relationship_count, pinned_count, hebbian stats, by_type, by_project, by_scope, by_region, access, age, decay_candidates, and filter. |
| consolidateA | Replay episodic memories into the semantic network (offline consolidation). Extracts entities from stored memories and builds co-occurrence relationships in the neocortex — like hippocampal replay during sleep. Returns: JSON summary of memories replayed, entities found, and relationships created. |
| ingestA | Bulk-load memories from a file or directory. Supported formats:
Args: path: Absolute or relative path to a file or directory. project: Default project tag (overridden by per-file frontmatter). scope: Default scope tag (overridden by per-file frontmatter). source: Source label for all ingested memories. recursive: Descend into subdirectories (default: true). Returns: JSON summary with stored, skipped, and errors counts. |
| healthA | Lightweight health check — returns ok without initializing stores. Returns: JSON with status and version. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 11 tools
Each tool targets a clearly distinct operation on the memory system: stats for aggregation, store/recall/forget for CRUD, pin/unpin for priority memory, decay_sweep for maintenance, status for system info, consolidate for memory processing, ingest for bulk loading, and health for liveness. There is no ambiguity between tools.
All tool names follow a consistent verb_noun pattern (e.g., pin_memory, decay_sweep, consolidate) with no mixing of casing or conventions. The names are concise and descriptive, making the action and target immediately clear.
With 11 tools, the server covers the full lifecycle of memory management (store, recall, forget, pin, unpin, stats, status, consolidate, decay_sweep, ingest, health) without being bloated. Each tool serves a necessary function, and the count feels well-scoped for a memory database server.
The tool set provides comprehensive coverage: CRUD operations (create through store/recall/forget), pinning for prioritized recall, bulk ingestion, maintenance through decay_sweep, consolidation for semantic learning, and monitoring via stats/status/health. There are no obvious gaps for a memory system.