hypermarrow-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@hypermarrow-mcpRemember that I prefer dark mode in code editors."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 preferencerecall_memory– retrieve the most relevant past contextconsolidate– merge duplicates and age out stale entriesfile_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-mcpOr add to your MCP client config:
{
"mcpServers": {
"hypermarrow": {
"command": "npx",
"args": ["-y", "hypermarrow-mcp"]
}
}
}Related MCP server: Clark MCP Server
Product
Homepage: https://hm.qianshi.cool/
Company: 千视科技 (qianshi.cool)
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 toolsconsolidateA
Merge duplicate memory entries and age out entries older than 90 days. Returns a short summary.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Short mnemonic name, e.g. "qianshi-spec". | |
| path | Yes | Absolute local file path. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | What you are looking for. |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Optional tags for later filtering. | |
| context | Yes | The text to remember. |
TDQS
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.
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.
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.
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.
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.
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.
4 tool updates
v0.1.1- First observed
consolidate - First observed
file_anchor - First observed
recall_memory - First observed
record_context
TDQS
Scored across 4 tools
Each tool has a distinct purpose: writing context, recalling it, maintaining memory, and resolving path anchors. No two tools overlap in function.
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.
Four tools tightly cover the server's memory-management scope without redundancy or bloat.
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
Person-owned AI memory that learns, not just stores — portable context for any MCP client.
Private-by-default, local-first memory/context/task orchestrator for MCP apps and agents.
- KogniteOAuthdev.kognite
Hosted agent memory: store, search, and recall facts across sessions from any MCP client.
Cross-tool persistent memory and context for AI assistants over MCP.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceProvides persistent, local-first AI memory across sessions via MCP tools for storing, searching, and retrieving context from past interactions.1MIT
- AlicenseNot gradedqualityDmaintenanceProvides a memory layer for personal agents, enabling MCP-compatible agents to store and query profile, factual, episodic, and procedural memory.MIT
- AlicenseAqualityDmaintenanceProvides 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.55 npmMIT
- AlicenseCqualityAmaintenanceLocal-first, governable long-term memory for AI agents. Provides SQLite-backed storage, cross-session recall, and traceable memory corrections through a standard MCP interface.4052 PyPI1MIT