Skip to main content
Glama
qianqiuwanzi

hypermarrow-mcp

by qianqiuwanzi

HyperMarrow MCP Server

Local-first AI memory layer for the Model Context Protocol.

hypermarrow-mcp lets any MCP-compatible client read and write your long-term memory:

  • record_context – remember a decision, fact, or preference

  • recall_memory – retrieve the most relevant past context

  • consolidate – merge duplicates and age out stale entries

  • file_anchor – map a short name to a local file path

All memory lives under ~/.hypermarrow/memory.json on your own machine. Nothing is sent to the cloud unless you explicitly set HYPERMARROW_ENDPOINT to your own backend.

Install

npx -y hypermarrow-mcp

Or add to your MCP client config:

{
  "mcpServers": {
    "hypermarrow": {
      "command": "npx",
      "args": ["-y", "hypermarrow-mcp"]
    }
  }
}

Related MCP server: Clark MCP Server

Product

Privacy

Memory data is stored locally. The server only talks to the client over stdio and, optionally, to a user-configured HYPERMARROW_ENDPOINT. No telemetry, no cloud sync by default.

Available Tools

4 tools
consolidateA

Merge duplicate memory entries and age out entries older than 90 days. Returns a short summary.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose the core behavior: merging, aging out, and returning a short summary. But it does not clarify whether the merge/age-out is destructive, irreversible, or requires any special conditions, which is a meaningful gap for a mutation-oriented 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 sentences with no filler. Each sentence earns its place: the first states the operation and threshold, the second states the return value. It is front-loaded and easy to parse.

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 zero-parameter, low-complexity tool, the description covers the operation, the age threshold, and the return format. The main missing element is clearer disclosure of side effects or permanence, especially since no annotations are available.

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 zero parameters, and the empty schema fully communicates that no arguments are needed. The description adds no parameter details, but none are required; the baseline for a zero-parameter tool applies.

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 states a specific, recognizable maintenance operation: merging duplicate memory entries and aging out entries older than 90 days. It is clearly distinct from the sibling tools (recording, recalling, file anchoring) because it names the exact actions and resource.

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?

The usage context is implied through the concrete triggers 'duplicate memory entries' and 'older than 90 days,' so an agent can infer when to call it. However, it does not explicitly say when not to use it or name any alternative tool for memory cleanup.

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

file_anchorA

Anchor a short name to an absolute local file path so future queries can resolve "the spec" to the real document.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesShort mnemonic name, e.g. "qianshi-spec".
pathYesAbsolute local file path.

TDQS

A4/5.0
Behavior3/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 does disclose that the mapping persists and influences future queries, which is useful. However, it does not state whether re-anchoring an existing name overwrites or fails, nor the lifetime/scope of the mapping.

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?

One tight sentence that front-loads the action and immediately explains why the tool exists. The 'the spec' example is illustrative without adding unnecessary length or jargon.

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 simple two-parameter alias tool, the description is largely complete: parameters are fully covered, and the persistent effect on future queries is stated. A note about overwriting or conflict behavior would push it to fully complete, but the current definition is sufficient for basic invocation.

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 input schema already documents both parameters at 100% coverage. The description loosely reinforces 'short name' and 'absolute local file path' but adds no new format, constraint, or relationship details beyond what the schema already provides.

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 names a specific verb ('anchor'), a resource ('short name' / 'absolute local file path'), and the intended effect on future queries. This clearly differentiates it from sibling memory/context tools, which address broader contextual storage rather than file-path aliasing.

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 phrase 'so future queries can resolve...' gives a clear purpose and context for use: when a mnemonic should stand in for an absolute file path in later queries. It does not explicitly name alternatives or when-not-to-use conditions, so it stops short of a 5.

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

recall_memoryA

Recall the most relevant stored contexts given a query. Returns up to 5 ranked entries.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesWhat you are looking for.

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 burden. It discloses the return behavior (up to 5 ranked entries) and the retrieval nature, but does not explain ranking criteria, whether it mutates state, or what happens when no contexts match.

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, no filler, and the key behavior (returns up to 5 ranked entries) is front-loaded. Every word earns its place.

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?

For a simple one-parameter retrieval tool, the description is mostly complete. However, with no output schema and no annotations, it would benefit from stating ranking criteria or the absence of side effects to fully guide 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 coverage is 100% and the single parameter 'query' is described as 'What you are looking for.' The description adds minimal meaning beyond the schema, but with full coverage, baseline 3 is appropriate.

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 a specific verb ('Recall') and resource ('stored contexts'), and clarifies it returns ranked entries. It is clear enough to distinguish from siblings like record_context, though it doesn't explicitly name the sibling it is not.

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?

The description implies usage: given a query, retrieve relevant stored contexts. It does not explicitly state when to use this over record_context, consolidate, or file_anchor, nor does it mention any exclusions or alternatives.

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

record_contextB

Capture a piece of local working context (a decision, a fact, a preference) into persistent memory. Nothing is uploaded to the cloud unless HYPERMARROW_ENDPOINT is set.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoOptional tags for later filtering.
contextYesThe text to remember.

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does mention the privacy-relevant detail that nothing is uploaded to the cloud unless HYPERMARROW_ENDPOINT is set, which is valuable. However, it omits other behavioral aspects such as idempotency, overwrite behavior, or return values, so it's only partially 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 with no filler. The primary purpose is front-loaded, and the privacy note is placed second, which is appropriate. Every sentence contributes meaningful 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 simple write-oriented tool with only two parameters and no output schema, the description covers the core purpose and a key behavioral constraint. It doesn't explicitly describe return values or error conditions, but these are not critical for a straightforward 'record' action. The schema fills in parameter details, so the description 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 description coverage is 100% – both parameters have clear descriptions in the schema. The description adds no additional meaning beyond what the schema already provides, so the baseline score of 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 states a clear verb ('Capture') and resource ('local working context' into 'persistent memory'), making the tool's core function obvious. It doesn't explicitly distinguish from siblings like recall_memory or consolidate, but the purpose is unambiguous enough for an agent to infer this is for storing information.

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 the sibling tools (recall_memory, consolidate, file_anchor). The purpose implies it's for writing to memory, but there is no explicit statement of when it should be preferred or avoided.

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. 4 tool updatesv0.1.1
    • First observedconsolidate
    • First observedfile_anchor
    • First observedrecall_memory
    • First observedrecord_context

TDQS

A3.9/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct purpose: writing context, recalling it, maintaining memory, and resolving path anchors. No two tools overlap in function.

Naming Consistency4/5

record_context and recall_memory follow verb_noun, file_anchor is a compound noun, and consolidate is a bare verb. Mostly consistent but slightly mixed.

Tool Count5/5

Four tools tightly cover the server's memory-management scope without redundancy or bloat.

Completeness4/5

The core write/read/maintenance lifecycle is covered, including path anchoring. Explicit per-entry update/delete is absent, but consolidate handles duplication and aging.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Provides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.
    1
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Provides persistent memory for AI assistants via MCP, enabling them to store and recall facts, preferences, and tasks across conversations using either local file storage or a cloud backend with semantic search.
    5
    5 npm
    MIT
  • A
    license
    C
    quality
    A
    maintenance
    Local-first, governable long-term memory for AI agents. Provides SQLite-backed storage, cross-session recall, and traceable memory corrections through a standard MCP interface.
    40
    52 PyPI
    1
    MIT