Skip to main content
Glama


✨ What is Neuron?

Neuron is a local-first MCP server that gives large language models long-term, associative memory. Point any MCP client at it (Claude, Cursor, OpenCode, VS Code, ChatGPT via a bridge, and more) and across every conversation Neuron builds a concept graph:

  • every meaningful turn stores keywords with 384-dim vector embeddings and typed semantic links, organized into topic contexts with inheritance from parents;

  • retrieval is associative, not just keyword matching — spreading activation, salience & recency ranking, and cross-context "drift" surface the right memory even without an exact hit;

  • it runs local-first (one .db file, no daemon, no network) and can optionally back a shared team memory on Turso Cloud where several people write into the same brain at once.

In one line: stop re-explaining context to your AI every session. Neuron remembers.


Related MCP server: Memory MCP

🌟 Highlights

Feature

What it means for you

🧩

Associative memory

Hebbian link reinforcement, spreading activation, salience/recency ranking — memories that fire together wire together.

🌐

Any MCP client

Claude Desktop/Code, Cursor, OpenCode, VS Code, Windsurf, Zed, Cline/Roocode, Continue, Cody, Amazon Q — plus ChatGPT via an HTTP bridge.

💾

Local-first, zero setup

Embedded libSQL with native vector_distance_cos(). One file. No server, no port, no cloud required.

👥

Shared team brain (optional)

Flip on Turso Cloud and everyone writes into one graph — atomic, concurrent, no one's save clobbers another's.

🎯

Quality at the door

A curation gate drops filler, folds duplicates and canonicalizes links, so the graph stays clean instead of bloating.

📖

Episodic facts

Nodes carry short "what actually happened" facts, surfaced back into context on the next turn.

🕰️

Time-travel visualizer

A self-contained interactive HTML graph — replay your memory growing turn by turn, filter by domain, inspect every node & link.

🩺

Batteries-included tooling

Cross-platform CLI (neuron register / doctor), a Tkinter visual hub (neuron gui), and a full test suite.


🧠 How it works

Neuron runs a simple two-step loop around every substantial turn:

        ┌─────────────────────────────────────────────────────────┐
        │  1. pre_turn(topic, keywords)                           │
        │     → loads the relevant slice of memory BEFORE you reply │
        └─────────────────────────────────────────────────────────┘
                              │  the model answers, now informed
                              ▼
        ┌─────────────────────────────────────────────────────────┐
        │  2. store_turn(keywords, links, facts…)                 │
        │     → saves what's NEW as concepts + typed links         │
        └─────────────────────────────────────────────────────────┘

Under the hood each concept is a node (keyword + embedding + salience + domain), each relationship a typed link (cause-effect, analogy, evolution, contrast, deepening, instance-of). Links that keep co-activating get reinforced; idle tangential ones get pruned; concepts you stop touching fade to dormant. Retrieval blends vector similarity, graph traversal and salience — so the model recalls what matters, not only what literally matches.


⚡ Quickstart

The installer sets up Gray Matter + Neuron in a single venv, registers the gateway in your MCP clients, and creates a Desktop shortcut to the control center.

Platform

Action

Windows

Double-click install.cmd (or .\install.ps1 from a terminal)

macOS

Double-click install.command (or sh install.sh from a terminal)

Linux

sh install.sh from a terminal

No Python? The installer bootstraps it (winget on Windows, brew/apt on Linux/macOS). Pre-built pyturso wheels are bundled — no C/Rust compiler needed.

Option B — pip (source checkout)

git clone https://github.com/recla93/Neuron.git
cd Neuron
pip install -e ".[dev]"        # editable install with test deps
pip install "neuron[cloud]"    # optional: Turso Cloud support

Option C — Standalone MCP (no gateway)

If you prefer Neuron without Gray Matter:

// ~/.config/opencode/opencode.json  (or your client's MCP config)
{
  "mcp": {
    "neuron": { "command": ["python", "-m", "neuron"], "type": "local" }
  }
}

Or register across all clients at once:

neuron register                # registers in Claude Desktop, Cursor, VS Code, etc.
neuron doctor                  # verify registrations, fix stale entries

📖 Full instructions, the manual path and troubleshooting live in INSTALL.md.


🔌 Mounting in an MCP client

🧠 Recommended: the Gray Matter gateway. Neuron ships alongside Gray Matter, an orchestrator that registers one server in your clients and runs Neuron (and NeuRAG) as warm managed workers — plus a combined gray_matter_pulse, context cache and cross-store bridges. One command does everything (register, hooks, plugins, manifest): gray-matter install. AI agents: follow INSTALL-AI.md. The table below is the standalone path.

Neuron is a local stdio MCP server — your client launches it as a subprocess. "Mounting" just means registering that launch command; on Windows the installer can do it for you.

Client

How to mount

Notes

Claude Desktop, Cursor, OpenCode

auto-registered by install.ps1 (or neuron register)

restart the client

Claude Code, VS Code, Zed, Windsurf, Cline/Roocode, Continue, Cody, Amazon Q

add the launch command (python -m neuron)

local stdio

ChatGPT / OpenAI

via an HTTP bridge — see the Bridge guide

Developer Mode, paid plans

Ready-made JSON snippets for every client live in clients/. Example — OpenCode (~/.config/opencode/opencode.json):

{
  "mcp": {
    "neuron": { "command": ["python", "-m", "neuron"], "type": "local" }
  }
}

💾 Storage: local, or shared on Turso Cloud

Neuron resolves its storage tier automatically, in this order:

  1. Turso Cloud — when TURSO_DATABASE_URL + TURSO_AUTH_TOKEN are set. Memory is shared across machines and people; vector_distance_cos() runs server-side.

  2. Local pyturso — embedded libSQL, native vector search, one local file (the default).

  3. stdlib sqlite3 — last-resort fallback, Python-side cosine similarity.

One connection layer serves all three, so working solo vs. as a team is just a connection string — no code changes. Turn on the cloud in one step:

pip install "neuron[cloud]"
python scripts/connect_turso.py     # prompts, live-tests the connection, saves to .env

👥 Running a whole team on one brain? See the Team guide.


🕰️ Graph Visualizer

Neuron ships an interactive, self-contained HTML visualizer — launch it from neuron manage (option 4, Graph visualizer) or python scripts/generate_graph_html.py. It reads through Neuron's own engine (so it sees the cloud too) and gives you:

salience-sized, domain-colored nodes · Hebbian-thickened edges · drift-link styling · dormant fading · neighborhood highlight · search · domain/type filters · an insights panel (hubs, most-salient, dormant, strongest synapses, cross-context bridges) · a Replay slider that animates your memory growing turn by turn · and an Obsidian-style 🎨 appearance editor.


🧰 MCP tools

Tool

Description

neuron_pre_turn(topic, keywords)

PRE shortcut — status + compact context in one call

neuron_store_turn(...)

Save a turn: keywords, links, entities, tags, an episodic fact

neuron_confirm(keywords)

Boost salience of nodes that influenced the response

neuron_get_context(topic, ...)

Related nodes/links; format=compact for injection; inherits from parents

Tool

Description

neuron_status / neuron_summary

Graph state · top nodes and recent links

neuron_vector_search(keywords)

Semantic vector search (no link traversal)

neuron_find_candidates(keywords)

Find similar existing keywords before storing (dedup)

neuron_merge(canonical, aliases)

Absorb duplicate nodes into one

neuron_extract(text) / neuron_auto(text)

Standalone extraction · extract-and-save in one call

neuron_switch_context / neuron_list_contexts

Switch / list domain contexts (e.g. java/spring)

neuron_forgotten / neuron_prune

Concepts idle for N turns · force-prune expired links

neuron_export / neuron_reset

Export the graph as JSON · clear it


🏗️ Architecture

neuron/
├── src/neuron/
│   ├── server.py        # MCP server: ~22 tools, handshakes, skill delivery
│   ├── models.py        # Dataclasses: Node, Link, Graph
│   ├── db.py            # 3-tier DB: Turso Cloud → pyturso → sqlite3
│   ├── registry.py      # Multi-context graph registry (java/spring, python/django)
│   ├── extraction.py    # SemanticExtractor: keyword/topic/domain (0 LLM tokens)
│   ├── search.py        # Hybrid vector search (cosine + salience + recency)
│   ├── stimulus.py      # Spreading activation, flash, auto-link
│   ├── curation.py      # Quality gate: drops verbs, paths, phrases at write time
│   ├── funnel.py        # Skill delivery: signpost + packaged skill files
│   ├── clients.py       # MCP client registration (7 clients, TOML/JSON/JSONC)
│   ├── connect.py       # Turso Cloud onboarding (connect → probe → save)
│   ├── config.py        # Centralized paths & slug (SSOT, no circular imports)
│   ├── console.py       # Dev Console: one-shot or watch mode graph snapshot
│   └── skills/          # Packaged skill files (playbook, curated memory)
├── tests/               # Test suite (unit tests, mocked — no network)
└── knowledge/           # Seed knowledge DB (base_knowledge.db)

Key design decisions:

  • Multi-context graph: contexts form a tree (javajava/spring) with inheritance.

  • Curation gate: bad keywords (verbs, paths, phrases) are dropped or remapped at write time.

  • 3-tier DB: Turso Cloud → pyturso (native vector SQL) → sqlite3 (stdlib fallback).

  • 0-token extraction: keyword/topic/domain extraction via regex + heuristics, no LLM calls.

  • Spreading activation: BFS on the graph to propagate importance from seed nodes.


🛠️ Development

pip install -e ".[dev]"
python -m pytest tests/ -v        # unit tests (fastembed/mcp/turso mocked — no network)
python -m build                   # wheel + sdist (CI verifies this on every push)

Self-checks (no install needed):

python -c "from neuron.embedder import demo; demo()"; echo "OK"   # embedder routing
python scripts/neuron_console.py                                    # graph health snapshot
python scripts/neuron_console.py --watch                           # live monitoring

Environment tuning (for dev/experiments):

NS_GRAPHS_DIR=/tmp/neuron-test python -m neuron   # isolated store
NEURON_SLUG=neuron5 python -m neuron               # side-by-side with another install

Architecture, the DB layer, per-client config and cloud/bridge internals are documented in docs/DEVELOPER.md; release & CI mechanics in docs/RELEASE_PLAN.md. Requires Python 3.10–3.14.


🗺️ Documentation map

Doc

What's in it

INSTALL.md

Every install path (Windows one-click → manual → source) + troubleshooting

INSTALL-AI.md

Automated install+register instructions for AI agents (EN · IT)

docs/DEVELOPER.md

Architecture, memory dynamics, DB layer, per-client config

docs/TEAM.md

Running a shared team brain on Turso Cloud

docs/BRIDGE.md

Exposing Neuron over HTTP for ChatGPT / remote connectors

docs/CORE_AUDIT.md

Core audit: module boundaries, hot paths, what the graph costs

CHANGELOG.md

The full v5 "Synapse" story, release by release

DOCTOOLUPDATE.md

Complete tool documentation with real code examples


👤 Author

Neuron is designed and built by Claudio Costantino.

Found Neuron useful? A ⭐ on the repo genuinely helps.


🧩 Part of the Gray Matter suite

Three MCP servers that work alone and work better together. Install any one of them and it can pull in the others; the gateway then serves all three through a single connector, so your client registers once.

Project

What it does

🧠 Neuron ← you are here

Semantic memory — concepts, links, salience. It learns.

📚 NeuRAG

Hierarchical knowledge vault — nodes, chunks, triggers. It keeps.

Gray Matter

MCP gateway — one connector, warm workers, cross-store bridges.

Whoever is installed first owns the session handshake: the gateway when it is present, otherwise the standalone tool — so the model is never told to call tools that are not there.


📜 License

PolyForm Noncommercial License 1.0.0 — free for noncommercial use. See LICENSE.

Available Tools

22 tools
autoA

POST fallback (0-token): one-shot extract + topic-shift + auto-link + save. Prefer a curated store_turn when you can pick the concepts yourself; use auto only for throwaway turns.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesUser message to analyze and archive
contextNoContext path (e.g. java/spring). Defaults to active context.

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It mentions 'POST fallback (0-token)' and actions like extract, topic-shift, auto-link, and save, but does not detail side effects, prerequisites, or limitations. The description gives a basic sense of behavior but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one sentence stating the action, followed by a clear usage guideline. No extraneous words. Information is front-loaded and every sentence is purposeful.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 2 parameters and no output schema or annotations. The description covers the core action and usage context, but does not mention return values, error conditions, or detailed behavior. It is minimally adequate but leaves gaps for a complete understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The tool description does not add significant meaning beyond what the schema already provides for the parameters. The schema descriptions for text and context are adequate, and the tool's overall description adds minimal parameter-specific context.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs a one-shot extract, topic-shift, auto-link, and save. It explicitly contrasts with store_turn, saying 'Prefer a curated store_turn when you can pick the concepts yourself; use auto only for throwaway turns.' This provides a specific verb+resource combination and distinguishes it from a sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool versus store_turn: 'Prefer a curated store_turn when you can pick the concepts yourself; use auto only for throwaway turns.' This clearly indicates usage context and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

confirmA

Feedback signal: confirm that context retrieved from the graph was useful. Boosts salience of specified keywords so they surface more prominently in future get_context calls. Call this when retrieved context directly influenced your response. Skipping is safe — it only affects future retrieval quality.

ParametersJSON Schema
NameRequiredDescriptionDefault
boostNoSalience boost amount (default 2, max 5)
contextNoContext path. Defaults to active context.
keywordsYesKeywords from the graph that were actually useful in this exchange

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses salience boosting and that only future retrieval is affected. Does not mention other side effects like maximum boost or frequency limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, all essential: purpose, effect, usage guidelines. No waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple feedback tool with no output schema, the description covers purpose, behavior, usage, and consequences completely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline 3 applies. Description does not add new parameter-level meaning beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it's a feedback signal to confirm useful context and boost salience. It does not explicitly distinguish from sibling tools, but the purpose is very clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance on when to call (when retrieved context influenced response) and that skipping is safe with only future impact.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

consolidateA

Consolidate the graph: merge near-duplicate concepts (cosine) and archive low-salience orphans to a recoverable _graveyard. Keeps the memory clean; safe to run periodically.

ParametersJSON Schema
NameRequiredDescriptionDefault
mergeNoMerge near-duplicate nodes (default true).
contextNoContext path. Defaults to active context.
drop_orphansNoArchive low-salience orphan nodes (default true).
sim_thresholdNoCosine threshold for merging (default 0.85).

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description fully discloses the behavior: merges near-duplicate concepts via cosine similarity, archives low-salience orphans to a recoverable graveyard, and states it is safe to run periodically. Minor gap: no details on what happens to merged nodes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main action, no unnecessary words. Every part contributes to understanding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite no output schema, the description covers both main operations (merge and archive) and mentions recoverability. Lacks explicit mention of return value, but side-effect tools often omit this. Adequate for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with good parameter descriptions. The tool description adds context (e.g., 'cosine' for sim_threshold, 'low-salience' for drop_orphans) but mostly summarizes, not significantly extending schema meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Consolidate the graph' with specific verbs (merge, archive) and a resource (graph). It distinguishes from sibling tools like dedup and prune by detailing merging near-duplicates and archiving orphans.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. The phrase 'safe to run periodically' implies maintenance context but lacks exclusions or comparisons to sibling tools like 'dedup' or 'prune'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

dedupC

Toggle keyword deduplication

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.2/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description offers no behavioral details beyond the word 'Toggle'. Without annotations, it should disclose effects, persistence, or scope of the toggle, but it does not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise (single phrase), but this brevity sacrifices necessary context. It is not fully efficient as it omits critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a toggle tool, the description lacks completeness. It does not explain the toggle's effect, state, or impact on other operations, leaving the agent uncertain about its use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, and the schema is empty (100% coverage). The baseline for 0 parameters is 4, and the description does not need to add parameter information since none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose2/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Toggle keyword deduplication' is vague. It identifies a verb and a resource but does not clarify what 'keyword deduplication' means or how toggling behaves. With sibling tools like 'merge' and 'prune', the purpose is ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, expected context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

exportC

Export the complete graph as JSON

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoContext path (e.g. java/spring). Defaults to active context.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description must fully disclose behavioral traits. It only states the export action but omits whether it is read-only, destructive, or requires authentication. This lack of detail leaves the agent uncertain about side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise at 5 words, with no unnecessary content. It is front-loaded with the core action. However, it could be slightly more structured by including usage tips without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simplicity (1 optional param, no output schema), the description is minimally adequate. It fails to explain the return value or any constraints, but the action is straightforward. A more complete description would include output format details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not add meaning beyond the schema; the single parameter 'context' is already documented in the schema with a default value. Baseline 3 is appropriate since schema coverage is 100%.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Export') and the resource ('complete graph as JSON'), making the purpose unambiguous. It does not explicitly distinguish from sibling tools like 'extract' or 'summary', but the specificity of 'complete graph' implies a full export.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives (e.g., 'extract' or 'summary'), nor does it specify any prerequisites or context requirements.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extractA

Automatic semantic extraction from text: keyword, topic, domain, intent, sentiment, entities. Heuristic (0 token) — no LLM extraction.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYesText to analyze (user message)
contextNoContext path (e.g. java/spring). Defaults to active context.

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses heuristic nature and zero token cost, but with no annotations, lacks details on safety (e.g., destructive potential) or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single concise sentence captures purpose and key differentiator without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lists extracted items but does not describe output format or limitations, which is needed since no output schema exists.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and description adds no extra meaning beyond the schema's parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it performs heuristic semantic extraction (keyword, topic, etc.) and distinguishes itself by being token-free, but does not explicitly differentiate from siblings like summary or auto.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for fast extraction via 'heuristic (0 token)' but provides no explicit when/when-not or alternative tool guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

find_candidatesA

Screening: find existing similar keywords (vector search). Call BEFORE store_turn.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNoNumber of candidates (default 8)
contextNoContext path (e.g. java/spring). Defaults to active context.
keywordsYesKeywords from current turn to find similar candidates for

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden for disclosing behavior. It only states the tool performs a vector search but does not describe what happens if no candidates are found, the return format, or any side effects. This is insufficient for a tool without annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at one sentence, containing the core purpose and a usage directive. It is efficient but could benefit from a more structured format to improve scanability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's role in a screening pipeline, the description is incomplete. It lacks information about output, error conditions, or performance implications, and the absence of annotations means the description should cover these aspects.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema already describes all parameters with documentation. The description adds no additional meaning beyond what is in the schema, warranting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: screening to find existing similar keywords via vector search. It also explicitly distinguishes its role in the pipeline by directing to call BEFORE store_turn, which differentiates it from the sibling store_turn and other tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit temporal guidance: 'Call BEFORE store_turn.' However, it does not specify when not to use this tool or mention alternatives, but the context of sibling tools is broad and most are unrelated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

flashB

Toggle semantic flashbacks

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must fully convey behavioral traits. 'Toggle' implies state change but does not disclose whether it is destructive, reversible, or requires permissions. The agent cannot infer the impact of calling this tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise at 4 words, which is efficient. However, it may be too terse, sacrificing explanatory value. It is front-loaded but costs completeness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, output schema, or parameters, the description carries the sole burden of explaining the tool. It does not define 'semantic flashbacks', the effect of toggling (on/off), or how this interacts with other tools. The description is insufficient for an agent to use the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters and schema coverage is 100% by default. The description adds no parameter information, but none is needed. According to the rubric, baseline is 4 for 0 parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Toggle semantic flashbacks' provides a clear verb-resource pair indicating the tool toggles a feature called 'semantic flashbacks'. It is specific enough to distinguish from basic CRUD tools, but lacks explanation of what 'semantic flashbacks' are, which might be ambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool versus siblings like 'forgotten', 'get_context', or 'reset'. The description does not mention prerequisites, side effects, or alternative tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

forgottenA

Find keywords not touched in N turns (decaying salience). Useful for rediscovering lost concepts.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_nNoHow many to show (default 10)
contextNoContext path (e.g. java/spring). Defaults to active context.
thresholdNoInactivity turns threshold (default 5)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the burden. It describes the core behavior (finding keywords based on inactivity turns) and introduces the concept of decaying salience, but does not disclose side effects, authentication needs, or exactly what constitutes 'keywords' or the output format. It is adequate but not highly transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core action and concept. Every word earns its place; there is no redundant information. Highly concise and structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 3 parameters with full schema descriptions, no output schema, and the tool's purpose, the description provides sufficient context for understanding what the tool does and when to use it. However, it does not describe the return value or output format, which would be helpful for an agent. Still, it is largely complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes all three parameters with defaults and explanations. The description does not add any meaning beyond what the schema provides (e.g., it mentions 'N turns' which maps to threshold, but schema already says 'Inactivity turns threshold'). Thus, description adds no extra value, baseline score 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the tool finds keywords not touched in N turns, with a specific verb 'Find' and resource 'keywords' (implied) and condition 'not touched in N turns'. It also introduces the concept of 'decaying salience', which distinguishes it from siblings like find_candidates or extract.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Description says 'Useful for rediscovering lost concepts', which implies when to use, but does not provide explicit when-not-to-use instructions or mention alternatives among the siblings. The guidance is implied rather than explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_contextA

Retrieve related nodes and links for a topic/keyword — what the memory already knows. Call BEFORE answering when a question may have prior context worth recalling. For the normal start-of-turn load, prefer pre_turn (one shot: status + compact context).

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoSearch depth (1-3, default 1)
topicYesMain keyword to search context for
formatNo'full' multi-line (default) or 'compact' single-line for system prompt injection.full
contextNoContext path (e.g. java/spring). Defaults to active context.
keywordsNoAdditional keywords to broaden the context search
max_tokensNoMax output size in approx tokens (default 400, use 150 for compact injection).

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description must convey behavior. It accurately describes a read-only retrieval ('what the memory already knows') with no indication of side effects. However, it does not elaborate on auth or rate limits, but for a simple retrieval, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise—two sentences that immediately state purpose and usage. No redundant words or filler, every sentence contributes value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Six parameters are present, but the description covers the core purpose and usage scenario adequately. No output schema exists, so return values are not expected. While some parameter behavior (e.g., depth effect) is omitted, the schema fills those gaps. The description is sufficient for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the baseline is 3. The description adds minimal new insight beyond the schema, only hinting at the output ('related nodes and links') without detailing parameters like depth or format's injection use case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly defines the tool's function: retrieving related nodes and links for a given topic from memory. It uses a specific verb ('retrieve') and resource ('nodes and links'), and distinguishes from the sibling 'pre_turn' tool by noting that for normal start-of-turn loads, 'pre_turn' should be preferred.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided on when to call this tool ('BEFORE answering when a question may have prior context') and when to use an alternative ('For the normal start-of-turn load, prefer pre_turn'). This helps the agent choose correctly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

helpA

Show every Neuron command (one line each) plus how to use Neuron well. Call once at the start if unsure; full playbook: call skill(name='playbook').

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description implies a read-only listing but does not explicitly state safety (no side effects). Adequate for a help command but could be more transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, each carrying essential info. No fluff, front-loaded with main purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and no output schema, the description fully covers what the tool does and when to use it, including a pointer to sibling for more details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters, so baseline 4. Description adds no parameter info, which is appropriate as none exist.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states it shows every Neuron command and how to use Neuron well. Distinguishes from sibling 'skill' by specifying that for full playbook, call skill(name='playbook').

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Call once at the start if unsure' and provides alternative: 'full playbook: call skill(name='playbook')'. This gives clear when-to-use and when-not-to-use guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_contextsB

List all available contexts with metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
parentNoOptional parent filter

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It implies a read-only list operation but does not disclose pagination, rate limits, or what 'metadata' includes. Adequate but minimal.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no unnecessary words, front-loaded with the action. Highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and 1 parameter, the description is adequate but lacks detail on return format or what 'with metadata' entails. Not fully complete for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of the single parameter with a description. The tool description adds no extra meaning beyond the schema, so baseline score applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists all available contexts with metadata, using a specific verb and resource. It implicitly distinguishes from sibling 'get_context' (singular) but does not explicitly mention differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'get_context' or 'forgotten'. The description lacks context on recommended usage scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mergeA

Merge duplicate or near-duplicate nodes. Moves all links from aliases into canonical, sums salience, then deletes the aliases. Use after find_candidates reveals near-duplicates (e.g. 'spring boot' / 'Spring Boot' / 'Spring Boot 3.2').

ParametersJSON Schema
NameRequiredDescriptionDefault
aliasesYesKeywords to absorb into canonical and then delete
contextNoContext path. Defaults to active context.
canonicalYesThe keyword to keep as the single authoritative node

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description takes full responsibility. It discloses that the operation is destructive (deletes aliases) and details the merge process. It is transparent about key behaviors, though it doesn't mention reversibility or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences that efficiently convey purpose, actions, and usage context. No redundant information. Front-loaded with the most important information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and 3 parameters, the description covers the merge operation thoroughly, including prerequisites (use after find_candidates) and effects (deletion of aliases). Lacks details on edge cases but is sufficient for typical usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds meaning beyond schema definitions by explaining the roles of canonical and aliases in the merge process and how they relate to the tool's functionality.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: merging duplicate or near-duplicate nodes. It specifies the actions: moves links from aliases to canonical, sums salience, and deletes aliases. This distinguishes it from sibling tools like dedup and find_candidates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states to use after find_candidates reveals near-duplicates and provides an example. While it doesn't mention when not to use, the context is clear and helpful for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pre_turnA

MEMORY LOOP — STEP 1 (before replying). Call this FIRST on any substantive turn to load relevant past context in one shot (status + get_context in compact form). Fold what it returns silently into your answer; do not announce it. Then reply, then call store_turn (step 2). Skip only on trivial turns or when the graph is empty. Ideal for clients without automatic context-injection hooks.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicYesCurrent topic or question to fetch context for
keywordsNoAdditional keywords to broaden context search
max_tokensNoMax tokens for context output (default 200)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses that the tool is non-destructive (loads context), that its output should be folded silently into the answer, and that it is a compact combination of status and get_context. However, it does not explicitly state whether the tool has side effects or modifies any state. Given no annotations, this is good but not fully exhaustive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is relatively concise (about 60 words) and front-loaded with the key action. However, it mixes instructions and context in a single paragraph, which could be better structured for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should explain what the tool returns. It only says 'fold what it returns silently into your answer' without any description of the format or structure of the returned context. This is a significant gap for an agent relying on the description.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents all parameters. The description adds no additional detail beyond what is in the schema (e.g., 'Current topic or question' is similar to schema). Thus, baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: loading relevant past context before replying. It identifies itself as 'MEMORY LOOP — STEP 1' and contrasts with sibling tools like 'get_context' and 'store_turn', distinguishing its role.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use (substantive turns, not trivial or empty graph) and sequential instructions (call first, then reply, then call store_turn). It also mentions when to skip and that it's ideal for clients without automatic injection hooks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

pruneC

Force prune inactive tangential links

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoContext path (e.g. java/spring). Defaults to active context.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavior. 'Force prune' implies destructive mutation, but there is no detail on whether it affects other data, requires confirmation, or is irreversible. The term 'Force' suggests aggressive action, but no elaboration.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise at four words, front-loading the action. Every word is meaningful, but the brevity sacrifices context, earning a 4 rather than 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With only one optional parameter and no output schema, the description should provide more context about the tool's role. It lacks explanation of what 'tangential links' are and when pruning is needed, leaving significant gaps for the agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for the single 'context' parameter, which is well-described. The tool description adds no extra meaning beyond what the schema provides, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (prune) and target (inactive tangential links). It is a specific verb+resource pair, though 'tangential links' could be more precisely defined. It partially distinguishes from siblings like 'forgotten' but lacks explicit differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'forgotten' or 'dedup'. No mention of prerequisites, conditions, or exclusions. The minimal description leaves the agent guessing about appropriate usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resetC

Reset the graph and start over

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoContext path (e.g. java/spring). Defaults to active context.

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden but only says 'reset and start over.' It does not disclose that this is destructive, whether data can be recovered, or what specific state changes occur, leaving the agent underinformed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no wasted words. However, it could be restructured to include more information without losing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a potentially destructive reset operation involving a 'graph', the description is too minimal. It does not explain prerequisites, side effects, or what happens after reset, especially given the complexity implied by sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides a description for the single optional parameter 'context', so baseline is 3. The tool description adds no extra parameter info beyond what the schema gives.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool resets the graph and starts over, which is a clear verb and resource. However, it does not explain what 'graph' refers to in this context, slightly limiting clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use reset versus alternative sibling tools like pruner or forgotten. The agent must infer usage from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

skillA

Return the FULL text of a Neuron skill/playbook on demand — token-cheap, fetch it only when you need the details. Use after the compact opener to load the complete workflow or curation rules.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoWhich skill: playbook (the full PRE/POST workflow) or curated (clean-graph patterns).playbook

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. Mentions 'token-cheap' as a performance trait, but does not disclose potential errors, auth needs, or size of returned text. Adequate for a simple read operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with purpose, no redundant information. Every word adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given simple tool with one parameter, no output schema, and high schema coverage, description is nearly complete. Could mention error handling or return format, but not necessary for basic usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and already describes the 'name' parameter with enum values. Description does not add extra meaning beyond what the schema provides, meeting baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'Return' and resource 'FULL text of a Neuron skill/playbook'. Distinguishes from sibling tools by specifying it's a detail-fetching operation after a compact opener.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Use after the compact opener' and 'fetch it only when you need the details', providing clear context. Does not list alternatives or when not to use, but context is sufficient given no direct sibling competitors.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

statusA

Current graph state: nodes, links, health, configuration. Safe first call to see if the memory holds anything. New to Neuron? The core workflow is a 2-step loop each substantive turn: pre_turn (before) then store_turn (after); call help or skill(name='playbook') for the full playbook.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Labels the tool as 'safe first call', strongly implying no destructive side effects. However, without annotations, the description could more explicitly state that it is read-only and does not modify state. The current description is adequate but not fully explicit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences. First sentence directly states the tool's output. Second sentence adds valuable usage context without bloat. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no parameters and no output schema, the description fully explains its purpose and when to use it, especially given the large number of sibling tools. It also provides a pointer to learn more about the overall workflow, making it complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Tool has 0 parameters and schema coverage is 100%, so the description does not need to add parameter details. Baseline for 0 params is 4, and the description does not detract from this.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states that the tool returns the current graph state including nodes, links, health, and configuration. It distinguishes itself as a safe first call to check if memory holds anything, which differentiates it from sibling tools like 'reset' or 'prune'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly recommends using this tool as a safe first call to check memory state. Provides broader workflow context by mentioning the 2-step loop and directing new users to 'help' or 'skill(name=\'playbook\')' for more guidance, effectively telling when to use this tool and what alternatives exist.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

store_turnA

MEMORY LOOP — STEP 2 (after replying). Call this AFTER you answer a substantive turn, to persist what is new into long-term memory. Curate for a clean graph: topic = 3-5 words; keywords = 3-5 CONCEPT nouns / entities / tech (never verbs or filler like 'use', 'make'); links = typed edges between keywords (never link a keyword to itself). This is the preferred way to save — cleaner than auto(). Skip on trivial turns (greetings, acknowledgements, yes/no).

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoFree labels beyond domain
linksNoLinks between current keywords and previous keywords
topicYesTopic of the turn (3-5 words)
domainYesFree-form topic label. Common values: AI, backend, frontend, gaming, architecture, general — but ANY label works (e.g. biology, finance, music, devops). Use 'general' if unsure.
intentYes
contextNoContext path (e.g. java/spring). Defaults to active context.
episodeNoONE compact fact sentence for this turn (max ~200 chars), e.g. 'chose https over wss because Turso rejects the ws handshake'. Attached to the first keyword; pre_turn will surface it later as a fact, not just a theme.
entitiesNoExplicit entities (people, technologies, concepts, places)
keywordsYesAbstract keywords (3-5)
sentimentYes
referencesNoReferences to files, URLs or commits

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It discloses that the tool persists to long-term memory and curates for a clean graph. It doesn't cover side effects or error behavior, but the core behavior is well explained. A minor gap is lack of confirmation or return information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured, using bullet-like formatting and front-loading critical information. Every sentence serves a purpose: purpose, when to call, data quality guidelines, and the alternative. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 11 parameters and no output schema, the description provides essential context for using the tool effectively. It covers the main use case and data quality rules. However, it lacks details on return values or error handling, but overall it is sufficiently complete for a memory persistence tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 82%, baseline 3. The description adds significant value beyond schema by specifying constraints: topic 3-5 words, keywords as concept nouns, links typed edges with rules. It also explains 'episode' as a fact sentence. Some parameters like tags and entities are not elaborated in description but schema covers them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: persist new information into long-term memory after a substantive turn. It distinguishes itself from siblings like 'auto' by emphasizing it's the preferred, cleaner saving method. The verb 'persist' and resource 'long-term memory' are specific.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance on when to call ('after replying', 'after a substantive turn') and when to skip (trivial turns). It also advises against using 'auto' as an alternative. Additionally, it provides data quality rules for topic, keywords, and links, making usage very clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

summaryB

Textual graph summary: top keywords, recent links, health, forgotten concepts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavioral traits. It does not state whether the tool is read-only, if it requires authentication, or any side effects. The description is too minimal for full transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is both concise and front-loaded. Every word adds value with no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and no output schema, the description is minimally adequate. However, it could be more complete by briefly mentioning the output format (e.g., 'Returns a textual summary...') or clarifying that it is a read operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the input schema is fully covered. According to guidelines, a baseline of 4 is appropriate when there are zero parameters, and the description does not need to add parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly indicates that the tool returns a textual graph summary covering specific aspects (top keywords, recent links, health, forgotten concepts). However, it lacks an explicit verb like 'Get' or 'Generate', which would improve clarity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like 'forgotten' or 'get_context'. The description implies usage for obtaining a summary, but does not provide any context on when not to use it or mention sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

switch_contextA

Switch active context (creates if new). E.g. 'java/spring', 'python/django'.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYesContext path to switch to

TDQS

A4.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior. It states 'creates if new', indicating a mutation, but does not elaborate on side effects (e.g., whether the previous context is persisted or lost). The description is adequate but not highly detailed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is only two sentences, no wasted words, and front-loads the core action immediately. It achieves clarity with minimal text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (single required parameter, no output schema), the description provides all necessary context: what it does, that it can create, and an example. No additional information is needed for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage, providing a description for the context parameter. The description adds value by giving concrete examples ('java/spring', 'python/django'), which enriches understanding beyond the schema's generic 'Context path to switch to'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'switch' and the resource 'active context', with an explicit creation behavior. It distinguishes from siblings like get_context and list_contexts by focusing on switching.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use: when needing to change context or create a new one. It does not explicitly state when not to use or name alternatives, but the context from sibling tools is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 3 tool updatesv5.4.2
    • Changedextract1 field changed
      • removedInput schema / properties / use_llm
        Removed value: -{
        -  "default": false,
        -  "description": "Force LLM extraction (Ollama). Default: heuristic 0 token.",
        -  "type": "boolean"
        -}
    • Changedskill3 fields changed
      • changedInput schema / properties / name / default
        Previous value: -"auto-context"New value: +"playbook"
      • changedInput schema / properties / name / description
        Previous value: -"Which skill: auto-context (PRE/POST workflow, recommended), curated (clean-graph patterns), base/full (references)."New value: +"Which skill: playbook (the full PRE/POST workflow) or curated (clean-graph patterns)."
      • changedInput schema / properties / name / enum
        Previous value: -[
        -  "auto-context",
        -  "curated",
        -  "base",
        -  "full"
        -]New value: +[
        +  "playbook",
        +  "curated"
        +]
    • Changedstore_turn1 field changed
      • addedInput schema / properties / episode
        Added value: +{
        +  "description": "ONE compact fact sentence for this turn (max ~200 chars), e.g. 'chose https over wss because Turso rejects the ws handshake'. Attached to the first keyword; pre_turn will surface it later as a fact, not just a theme.",
        +  "type": "string"
        +}
  2. 3 tool updatesv5.0.1
    • Addedconsolidate
    • Addedskill
    • Changedstore_turn2 fields changed
      • addedInput schema / properties / domain / description
        Added value: +"Free-form topic label. Common values: AI, backend, frontend, gaming, architecture, general — but ANY label works (e.g. biology, finance, music, devops). Use 'general' if unsure."
      • removedInput schema / properties / domain / enum
        Removed value: -[
        -  "AI",
        -  "backend",
        -  "frontend",
        -  "gaming",
        -  "architecture",
        -  "general"
        -]
  3. 20 tool updatesv0.1.0
    • First observedauto
    • First observedconfirm
    • First observeddedup
    • First observedexport
    • First observedextract
    • First observedfind_candidates
    • First observedflash
    • First observedforgotten
    • First observedget_context
    • First observedhelp
    • First observedlist_contexts
    • First observedmerge
    • First observedpre_turn
    • First observedprune
    • First observedreset
    • First observedstatus
    • First observedstore_turn
    • First observedsummary
    • First observedswitch_context
    • First observedvector_search

TDQS

A3.5/5.0
Disambiguation4/5

Most tools have clear distinct purposes, but some overlap exists (e.g., auto vs store_turn both save turns, pre_turn vs get_context for retrieval). Descriptions help differentiate them.

Naming Consistency4/5

Names consistently use lowercase_underscore, but mix imperative verbs and noun phrases (e.g., auto vs help vs store_turn). No case mixing, so mostly consistent.

Tool Count5/5

22 tools cover the full range of memory management operations without being excessive. Each tool addresses a specific need in the workflow.

Completeness5/5

The tool surface covers extraction, storage, retrieval, maintenance, export, and help. Lifecycle stages are well-represented with no obvious gaps.

Maintenance

ActivityActive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides persistent semantic memory backed by PostgreSQL and pgvector for storing and searching thoughts via vector embeddings. It enables dimensional organization, conflict detection, and historical tracking of facts, decisions, and observations.
    20
    AGPL 3.0
  • A
    license
    B
    quality
    D
    maintenance
    An MCP server that provides AI assistants with persistent, semantic memory using Turso for storage and OpenAI for vector search. It enables natural language operations to store, retrieve, and refine information with automatic duplicate detection and quality validation.
    5
    15
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Persistent semantic memory server for AI assistants via MCP, enabling long-term context retention and semantic search across conversations.
    11
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Open-source MCP server that gives any LLM long-term memory using a knowledge graph and vector search hybrid. It stores entities, observations, and relationships, enabling semantic recall across sessions with automatic clustering and fail-loud infrastructure.
    50
    MIT

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/recla93/Neuron'

If you have feedback or need assistance with the MCP directory API, please join our Discord server