Skip to main content
Glama

Calyx MCP

PyPI Version Python Version MCP Protocol License: MIT Tests Latency

Bio-inspired associative memory and instant code reflex server for AI coding agents, implementing the Drosophila Mushroom Body circuit and Fly-LSH sparse projection algorithm over the Model Context Protocol (MCP).


At a Glance

  • The Problem: AI coding agents repeatedly consume thousands of LLM prompt tokens and multi-second roundtrip latency diagnosing recurring bugs, antipatterns, and project constraints.

  • The Solution: Calyx brings the Drosophila Mushroom Body (fruit fly brain) circuit to AI agents—using Fly-LSH sparse Kenyon Cell projection ($D=2048, k=102$) and dopaminergic synaptic plasticity to give agents instant, zero-token reflex memory.

  • The Proof (Benchmark):

    • Latency: 0.400 ms (vs ~1,450 ms LLM API roundtrip — >3,600x faster)

    • Token Cost: 0 tokens (100% local associative memory)


Related MCP server: BrainBox

Why "Calyx"?

In insect neuroanatomy, the Calyx (plural: calyces) is the primary input neuropil of the Mushroom Body (Corpora Pedunculata)—the learning and memory center of the Drosophila melanogaster brain. Within the calyx, olfactory and sensory Projection Neurons (PNs) synapse directly onto the clawed dendritic arborizations of thousands of Kenyon Cells (KCs).

It is inside the calyx that dense, low-dimensional sensory signals undergo high-dimensional sparse expansion, turning raw input into a distinct neural fingerprint that dopaminergic circuits can reinforce or suppress.

The name Calyx was chosen because this MCP server functions as that exact input and associative expansion layer for AI coding agents: converting raw code AST tokens into high-dimensional, ultra-sparse Kenyon Cell representations that drive instantaneous (<0.5 ms) reflexes, pattern recognition, and persistent synaptic memory without LLM inference costs.


Overview

Traditional AI coding workflows incur substantial token overhead and multi-second latency by repeatedly sending multi-thousand-token prompt context to Large Language Models (LLMs) to detect recurring bugs, antipatterns, or architectural guidelines.

Calyx provides local, zero-token associative memory modeled after the Drosophila melanogaster (fruit fly) Mushroom Body circuit. Code snippets and AST structures are expanded into high-dimensional, ultra-sparse Kenyon Cell representations ($D=2048, k=102$). Synaptic plasticity between Kenyon Cells and Mushroom Body Output Neurons (MBONs) is modulated by reward and punishment signals (dopamine), delivering sub-millisecond pattern recognition without LLM inference costs.


Architectural Principles

+-----------------------------------------------------------------------+
|                             Calyx MCP                                 |
+-----------------------------------------------------------------------+
|  Input Code Snippet / AST Tokens                                      |
|       |                                                               |
|       v                                                               |
|  Fly-LSH Hash Projection (Projection Dimension = 2048)                |
|       |                                                               |
|       v                                                               |
|  Winner-Take-All Sparsification (k = 102 active Kenyon Cells, ~5%)    |
|       |                                                               |
|       v                                                               |
|  Mushroom Body Output Neuron (MBON) Synaptic Weight Matrix            |
|       |                                                               |
|  +----+------------------------------------------------------------+  |
|  | Dopaminergic Modulation: dW = eta * Dopamine * (KC (x) MBON)    |  |
|  +-----------------------------------------------------------------+  |
|       |                                                               |
|       v                                                               |
|  Reflex Output: Neutral / Attraction / Aversion (< 0.5 ms, 0 Tokens)  |
+-----------------------------------------------------------------------+
  1. Fly-LSH Projection: Projects token distributions into a 2,048-dimensional space using deterministic hashing, mimicking the projection neuron to Kenyon cell expansion.

  2. Winner-Take-All (WTA) Sparsity: Retains only the top $k=102$ activations (~4.98% sparsity) via inhibitory feedback (APL neuron equivalent).

  3. Dopamine Synaptic Plasticity: Adjusts synaptic weights based on coding execution outcomes (success/failure), enabling rapid aversion to bug patterns and attraction to proven implementations.

  4. Local Atomic Persistence: Synaptic states and associative memory records persist locally in compressed .npz and JSON formats (~/.calyx/).


Benchmark and Token Savings

The following performance metrics were measured on a Windows x86_64 host running Python 3.13 with native NumPy operations:

Test Execution Log

============================================================================
        CALYX MCP: LIVE TOOL EXECUTION & TOKEN SAVINGS BENCHMARK
============================================================================

[Step 1] Initial Code Reflex Check (Zero Prior Training):
  * Latency:            0.729 ms
  * Reflex Status:      NEUTRAL
  * Valence:            1.000
  * Recommendation:     Novel or unverified code pattern. Proceed normally.
  * LLM Tokens Used:    0 tokens (Zero API overhead)

[Step 2] Dopamine Reinforcement (Negative Dopamine Delivery):
  * Plasticity Latency: 4.040 ms
  * Status:             recorded
  * Valence Type:       punishment (Dopaminergic depression signal)
  * Active Synapses:    102 Kenyon Cells updated
  * Persistent State:   Saved to ~/.calyx/mushroom_body_weights.npz

[Step 3] Fast Bio-Reflex on Novel Code Variant:
  * Latency:            0.400 ms
  * Reflex Status:      AVOID (AVERSION TRIGGERED)
  * Valence Score:      0.775 (Aversive)
  * Bug Similarity:     100.0%
  * Warning:            High resemblance (100%) to a previously punished bug pattern.
  * Recommendation:     Review code logic, check edge cases, or adopt alternative.

============================================================================
                      TOKEN SAVINGS & SPEEDUP
============================================================================
Traditional LLM Querying Loop:
  * Latency per review: ~1450 ms
  * Inspection Cost:    ~650 prompt tokens per check
  * Debugging Loop:     ~2400 tokens per repeated bug

Calyx Mushroom Body Reflex:
  * Latency per review: 0.400 ms (~3,628x speedup)
  * Token Cost:         0 tokens (Local Fly-LSH sparse projection)
  * Token Efficiency:   100% of LLM tokens saved on learned code anti-patterns

============================================================================
              MUSHROOM BODY NEURAL ARCHITECTURE STATE
============================================================================
  * Kenyon Cells Dimension:  2048
  * Sparsity Active Ratio:   4.98% active neurons
  * Total Memories Stored:   1
  * Depressed Synapses (W):  102
  * Weights Min / Avg / Max: 0.775 / 0.9888 / 1.0
  * Storage Directory:       C:\Users\EricM\.calyx
============================================================================

Performance Summary

Metric

Traditional LLM Inspection

Calyx Mushroom Body

Improvement

Latency

~1,450 ms

0.400 ms

3,628x faster

Token Consumption

650 - 2,400 tokens

0 tokens

100% token savings

Memory Footprint

External API

< 15 MB RAM

Local execution

Pattern Match Type

Full prompt parsing

Sparse Kenyon Cell overlap

Deterministic associative recall


Real-World Bug & Vulnerability Verification

Calyx was benchmarked against real-world vulnerability and resource management patterns to test generalization across altered variable names, structural shifts, and function signatures:

Scenario

Anti-Pattern Trained

Novel Variant Evaluated

Reflex Outcome

Latency

Tokens

SQL Injection (CWE-89)

f"SELECT ... WHERE user = '{name}'"

Concatenation in authenticate_admin()

AVOID (Valence: 0.775)

0.630 ms

0 tokens

Resource Descriptor Leak

open() in loop without context manager

socket.create_connection() unclosed

AVOID (Valence: 0.550)

0.662 ms

0 tokens

CPU Spinlock Lockup

while True: poll() without delay

Unbounded message loop polling

AVOID (Valence: 0.775)

0.400 ms

0 tokens

MCP Tools Reference

Calyx registers the following tools conforming to the MCP JSON-RPC 2.0 specification:

1. check_code_reflex

Evaluates a code snippet against synaptic valence weights and stored experiences.

  • Parameters:

    • code_snippet (string, required): Source code to evaluate.

    • language (string, optional): Programming language (e.g. python, javascript).

  • Returns: status (neutral, aversion, attraction), valence, similarity_with_past_bugs, warning, recommendation.

2. remember_code_outcome

Applies dopamine-driven synaptic updates based on test execution or runtime results.

  • Parameters:

    • code_snippet (string, required): Code associated with the outcome.

    • language (string, required): Programming language.

    • outcome (string, required): success or failure.

    • lesson (string, required): Summary of the bug or successful pattern.

    • reward_score (number, optional): Value between -1.0 (punishment) and +1.0 (reward). Default -1.0 for failure, +1.0 for success.

3. query_associative_memory

Performs approximate nearest-neighbor search across stored code experiences using Fly-LSH similarity.

  • Parameters:

    • query_code (string, required): Code snippet to match.

    • top_k (integer, optional): Maximum results to return (default: 5).

    • language (string, optional): Language filter.

4. inspect_memory_state

Returns operational metrics and synaptic weight distribution of the Mushroom Body.

  • Parameters: None.

  • Returns: Active sparsity percentage, total Kenyon cells, weight distribution stats, and storage location.

5. reset_memory

Resets synaptic weights to neutral baseline and purges stored experiences.

  • Parameters:

    • confirm (boolean, required): Confirmation flag (true).


Installation

# Using pip
pip install calyx-mcp

# Using uv
uv pip install calyx-mcp

Option 2: Run Without Installation via uvx

You can run Calyx MCP instantly without installing it into a local environment using uvx:

uvx calyx-mcp

Option 3: Development Mode (from source)

git clone https://github.com/ericmaddox/calyx-mcp.git
cd calyx-mcp
pip install -e .

Configuration

Add Calyx to your MCP client configuration file (e.g. ~/.gemini/config/mcp_config.json, Claude Desktop, or Cursor):

{
  "mcpServers": {
    "calyx": {
      "command": "uvx",
      "args": ["calyx-mcp"]
    }
  }
}

Using Installed Python / CLI Command

{
  "mcpServers": {
    "calyx": {
      "command": "calyx-mcp"
    }
  }
}

Running Tests

Execute the comprehensive test suite:

python -m unittest discover -s tests -p "test_*.py" -v

Test Coverage

  • test_hasher.py: Verifies deterministic hashing, projection dimensions, and Winner-Take-All sparsity.

  • test_memory.py: Verifies associative retrieval, dopamine-mediated plasticity, weight bounds, and file persistence.

  • test_reflex.py: Verifies rapid aversion on bug patterns and attraction on reinforced patterns.

  • test_server.py: Verifies JSON-RPC 2.0 tool registration, protocol initialization, and execution handlers.


License

This project is licensed under the MIT License. See the LICENSE file for details.

Available Tools

5 tools
check_code_reflexA

Instant (<1ms) associative memory check of proposed code against past rewarded or punished bug patterns. Returns 'avoid', 'safe', or 'neutral'.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe proposed code snippet, function, or diff to evaluate.
contextNoOptional context or filename describing the task.

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose useful traits: sub-1ms latency and the three possible verdicts ('avoid', 'safe', 'neutral'), implying a non-mutating check. It never states that it has no side effects, what happens with an empty/unpopulated memory, or how reliable the verdict is, which are meaningful gaps for a zero-annotation tool.

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 tight sentences, front-loaded with the latency figure and the core action, then the return values. Every clause earns its place with no repetition.

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?

With no output schema, the description usefully enumerates return values, and the two parameters are simple and fully documented in the schema. But with no annotations, it still leaves behavior (side effects, behavior on empty memory, trust in the verdict) unexplained, so it is adequate rather than 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 description coverage is 100% for both parameters (code and optional context), so the schema already does the work. The description adds no format or size hints beyond 'proposed code', so the 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 gives a specific verb ('check') and resource ('associative memory of proposed code against past rewarded or punished bug patterns'), which is clearly distinct from the sibling write tool remember_code_outcome. It stops short of naming a sibling to route away from, so it is clear but not fully differentiated.

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?

Use is implied: you call this with proposed code to see whether past rewarded/punished patterns suggest avoid, safe, or neutral. However, there is no explicit when-to-use/when-not-to-use guidance and no routing against the overlapping query_associative_memory or remember_code_outcome siblings, which an agent would need to choose correctly.

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

inspect_memory_stateA

Returns total active memories, synaptic weight distribution, and health statistics of the Mushroom Body.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. The verb 'Returns' implies a non-mutating read, and the enumerated outputs give the agent a sense of the result shape, but nothing is said about cost, side effects, or state changes (contrasted with the sibling reset_memory, which clearly mutates).

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?

A single tight sentence that front-loads the return payload. No filler, no restatement of the tool name.

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?

With no parameters, no output schema, and no annotations, the description is the only source of information about results, and it names the three returned categories. It is nearly complete for such a simple tool, though the meaning of 'Mushroom Body' and 'synaptic weight distribution' remains domain jargon an agent may not resolve.

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 takes zero parameters, so the baseline of 4 applies. The description correctly reflects that this is a parameterless snapshot call, leaving nothing ambiguous on the input side.

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?

States a clear verb ('Returns') and enumerates the specific payload: total active memories, synaptic weight distribution, and health statistics. This distinguishes it from siblings like query_associative_memory and remember_code_outcome. It stops short of explicitly naming which sibling it replaces, so a 4 rather than 5.

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 statement of when this tool should be used versus check_code_reflex, query_associative_memory, or reset_memory. The diagnostic character of the tool is only inferable from the listed return values; there is no explicit triggering condition or exclusion.

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

query_associative_memoryC

Searches stored code patterns using Fly-LSH sparse binary Hamming similarity.

ParametersJSON Schema
NameRequiredDescriptionDefault
top_kNoNumber of nearest neighbors to return.
query_codeYesThe code query to search against associative memory.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. It implies a non-mutating read via 'Searches' and names a similarity metric, but says nothing about ranking semantics, result format, latency/scale limits, or empty-result behavior. Naming the algorithm is not the same as disclosing observable behavior.

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?

A single front-loaded sentence with no padding, which is appropriately sized for a two-parameter tool. It loses a point only because the algorithm name occupies space without informing the caller's decision.

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 and no annotations, so the description is the only source of return-value information, yet it never says what a match looks like, how scores are represented, or that top_k bounds the result count. For a search tool returning ranked neighbors, that is a meaningful gap.

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 both parameters, so the schema already documents query_code and top_k (including its default of 5). The description adds no parameter-level meaning beyond that, which is the baseline 3 when the schema does the work.

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?

States a specific verb ('Searches') and resource ('stored code patterns'), so an agent can tell it is a read/query tool distinct from write-oriented siblings like remember_code_outcome and reset_memory. The trailing 'Fly-LSH sparse binary Hamming similarity' is unexplained jargon that adds little recognition value, and it does not differentiate from the potentially overlapping check_code_reflex.

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?

There is no guidance on when to use this tool versus the four siblings, and no stated prerequisites or triggering conditions. The agent must infer from the name alone that this is the retrieval counterpart to remember_code_outcome.

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

remember_code_outcomeB

Applies one-shot dopamine reward (test passed) or punishment (test failed/bug) to Mushroom Body synaptic weights.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesThe code snippet that was executed or tested.
tagsNoOptional tags (e.g. ['auth', 'database', 'typerror']).
outcomeYesThe outcome of testing the code: 'success' (rewards synapses) or 'failure' (punishes synapses).
error_messageNoOptional error trace or description if the outcome was 'failure'.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the one-shot nature and that it modifies synaptic weights (mutation), and maps success/failure to reward/punishment. But it omits whether this is irreversible, what happens on repeated calls, or any side effects beyond weight changes. For a mutation tool with no annotations, it adds some behavioral context but not enough to fully guide safe use.

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, front-loaded with the core action, and no wasted words. Allowed use of parentheses is efficient and does not obscure meaning.

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?

The tool mutates memory with no output schema and no annotations, yet the description lacks crucial details: how the reward/punishment affects future behavior, whether it can be undone, and what the return value is. Given the complexity of synaptic weight updates and the absence of structured behavioral data, the description is insufficient for an agent to understand the full implications.

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 parameter meanings are fully documented in the schema. The description only clarifies the effect of outcome ('success' rewards, 'failure' punishes), which slightly reinforces the schema but adds little since the schema already states this. Baseline 3 is appropriate when schema does the heavy lifting.

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?

States a specific verb+resource: applies reward/punishment to Mushroom Body synaptic weights. It clearly describes the core action and distinguishes itself from siblings like query_associative_memory or inspect_memory_state. However, 'Mushroom Body' is jargon that may be opaque, and it doesn't explicitly say it remembers code outcomes, which is the tool's name. Still, the action is clear.

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 when a test passes or fails, but doesn't state when to call this vs. alternatives like check_code_reflex or query_associative_memory. No explicit when-not or prerequisites. The outcome parameter ties to tests, but the description does not guide the agent on timing relative to other memory tools.

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

reset_memoryC

Resets or prunes the synaptic weights and associative memory back to baseline.

ParametersJSON Schema
NameRequiredDescriptionDefault
backupNoWhether to create a backup file before resetting.
confirmYesMust be set to true to confirm reset.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden and does not meet it. It implies destruction ('resets or prunes... back to baseline') but never states that existing memory is destroyed, whether the operation is reversible, or how a backup interacts with the reset, leaving the agent to infer the safety profile from the schema alone.

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?

A single tight sentence with the action front-loaded and no filler. It is efficient, though the mixed jargon 'synaptic weights' versus 'associative memory' is slightly redundant rather than clarifying.

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?

This is a destructive mutation tool with no annotations, no output schema, and no usage guidance. An agent cannot tell from the description what exactly is lost, whether the reset is reversible, or when this should be preferred over inspecting memory first.

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 both 'confirm' and 'backup' are already documented in the schema, which sets the baseline at 3. The description adds no syntax, default, or consequence detail 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?

States a concrete action on a concrete resource: resets/prunes synaptic weights and associative memory to baseline. The verb pair 'resets or prunes' is slightly hedged, and nothing distinguishes it from siblings like inspect_memory_state or query_associative_memory, so it stops short of a 5.

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?

There is no statement of when to reset versus inspect or query memory, no prerequisites, and no named alternative among the four sibling tools. The only usage signal is the required 'confirm' flag in the schema, which the description never explains.

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.

  1. 5 tool updatesv1.0.0
    • First observedcheck_code_reflex
    • First observedinspect_memory_state
    • First observedquery_associative_memory
    • First observedremember_code_outcome
    • First observedreset_memory

TDQS

A3.5/5.0

Scored across 5 tools

Disambiguation4/5

Each tool has a distinct action: check_code_reflex evaluates proposed code, query_associative_memory performs raw similarity search, remember_code_outcome writes, inspect_memory_state reports stats, and reset_memory clears. The only mild overlap is between check_code_reflex and query_associative_memory, both of which read the associative store, but their input/output contracts differ enough to disambiguate.

Naming Consistency4/5

All five names are snake_case verb_noun constructions (check_code_reflex, remember_code_outcome, query_associative_memory, inspect_memory_state, reset_memory), giving a predictable pattern. Minor deviation: reset_memory and inspect_memory_state drop the '_code_' qualifier used by the others, but readability remains high.

Tool Count5/5

Five tools is well-scoped for a lightweight associative memory service, with each tool mapping to a clear lifecycle operation (write, read, evaluate, inspect, reset). No redundant or filler tools are present.

Completeness4/5

The surface covers the full memory lifecycle: write (remember_code_outcome), read/search (query_associative_memory, check_code_reflex), introspection (inspect_memory_state), and deletion (reset_memory). Minor gaps like bulk import/export or targeted single-memory deletion exist but are not blocking for the stated purpose.

Maintenance

ActivityNo data
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    F
    maintenance
    Self-improving, verifiable memory for AI coding agents. Learns how you work, stops repeating mistakes, models each project, recalls the right lesson at the right moment. Every memory is signed and tamper-evident. Local-first.
    8
    2
    Apache 2.0
  • F
    license
    A
    quality
    B
    maintenance
    Gives coding agents a memory of codebases by searching repositories using semantic similarity and structural call/import graphs, enabling reuse of proven patterns and reducing token usage.
    6
    1
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    Persistent, self-curating memory for coding agents. It enables local, zero-cost context recall through MCP tools with hybrid retrieval and autonomous consolidation.
    -