Verified Repo Memory

io.github.cognitivemyriad由 GitHub 账号 cognitivemyriad 发布v0.1.2更新于 Oct 24, 2026

Stale-proof repository memory with citations + just-in-time verification + TTL (repo-scoped).

发布方自己的服务:Memory.fit

已验证STDIO仅桌面知识与记忆开发者工具

概览

AI 生成的概览

本地 MCP 服务器,为编程助手提供按仓库隔离的记忆库,每条记忆绑定代码引用,并在返回前即时校验。

可以做什么
  • 存储带文件路径与行号范围引用的记忆,并对引用代码片段做哈希
  • 按关键词搜索记忆,并按状态(有效、过期、缺失)列出记忆
  • 检索时即时校验,只返回引用代码未变或已定位到新位置的记忆
  • 手动删除记忆,并让长期未使用的记忆按 TTL 自动过期
适用场景
适合希望助手在特定仓库中跨会话记住项目约定或注意事项,并在被引用代码变更后自动丢弃过时笔记的场景。
运行要求
通过 npx 从 npm 包以 stdio 方式在本机运行,需要安装 Node.js,启动时须传入仓库路径(--repo)。可选环境变量:VRM_DATA_DIR、VRM_MAX_FILE_BYTES、VRM_SECRET_SCAN、VRM_TTL_DAYS。无需账号或 API 密钥。
安装前请注意
会在仓库内写入 .verified-repo-memory 目录,应加入 .gitignore。内置的启发式密钥扫描可被关闭,否则记忆可能保存类似密钥的文本。助手可删除记忆,服务器会读取仓库内文件以校验引用。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Verified Repo Memory,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[Verified Repo Memory Banner]

Verified Repo Memory MCP v0.1.2

[CI] [TypeScript] [License: MIT]

Stale-proof repository memory with citations + just-in-time verification + TTL (repo-scoped).

An MCP server providing "safe memory" for AI coding agents. Memories are scoped per repository, backed by code citations, and verified just-in-time so an agent never receives stale information when the underlying code has changed.

Quickstart

Run via npx:

bash
npx -y @cognitivemyriad/vrm-local --repo /path/to/repo

(Alternatively, run from source: npm ci && npm run build && node build/index.js --repo /path/to/repo)

Tools

  • vrm_store: Store a new memory with file citations.
  • vrm_search: Search for candidate memories by keywords.
  • vrm_retrieve: JIT-verify candidates and return only valid memories. (Main tool for agents)
  • vrm_list: List memories by status (valid, stale, missing).
  • vrm_forget: Manually delete a memory.

Example I/O

Store: Input:

json
{  "subject": "API version sync",  "fact": "When changing API version, update client/server/docs together.",  "citations": [{ "path": "src/api.ts", "startLine": 10, "endLine": 15 }]}

Output:

json
{  "stored": true,  "memoryId": "uuid-...",  "expiresAt": "2026-03-21T00:00:00Z"}

Retrieve: Input:

json
{ "query": "API version" }

Output:

json
{  "query": "API version",  "valid": [ ... ],  "stats": { "verified": 1, "validCount": 1 }}

How it works

mermaid
graph TD    A[Agent] -->|Store Fact + Citation| B(Verified Repo Memory)    B --> C{Save to Disk}    C -->|Hash Code Snippet| D[(memories.json)]        A -->|Retrieve Fact| B    B --> E{JIT Verification}    E -->|Check File Hash| F{Unchanged or Relocated?}    F -->|Yes| G[Return VALID Memory]    F -->|No| H[Return STALE/MISSING]
  1. Citations: Every fact is linked to a file path and a line range. The exact code snippet is hashed and saved.
  2. JIT Verification: Before returning a memory to the agent in vrm_retrieve, the server checks the physical file. If the snippet has moved, it relocates the citation. If it has been changed or deleted, the memory is marked STALE/MISSING and omitted from the results.
  3. TTL (Time-To-Live): Memories expire automatically (default 28 days) unless they are successfully retrieved and utilized, which extends their life.

Data location

Data is strictly repo-scoped and saved in: <repoRoot>/.verified-repo-memory

This includes memories.json and a fingerprint/metadata file to prevent accidental cross-repo pollution. Add this directory to your .gitignore.

Security

  • No Network Transmissions: This is a stdio local-only server without HTTP calls.
  • Path Security: Disallows any path traversal (../) out of the repository root, as well as accessing .git/ or .verified-repo-memory/.
  • No Stdout Pollution: Strict logging only to stderr.
  • Secret Scan: Built-in heuristic secret scanning to reject memories that look like API keys/private keys (can be disabled via --no-secret-scan).

Usage with Claude

Claude Desktop

To add this server to the Claude Desktop app, edit your configuration file:

  • On macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • On Windows: %APPDATA%\Claude\claude_desktop_config.json

Add the following configuration:

json
{  "mcpServers": {    "verified-repo-memory": {      "command": "npx",      "args": [        "-y",        "@cognitivemyriad/vrm-local",        "--repo",        "/absolute/path/to/your/repo"      ]    }  }}

Claude Code

To add this server to Claude Code using stdio transport:

bash
claude mcp add mcp-verified-repo-memory --transport stdio -- npx -y @cognitivemyriad/vrm-local

Note for Windows users: You may need to prepend cmd /c to the command:

bash
claude mcp add mcp-verified-repo-memory --transport stdio -- cmd /c npx -y @cognitivemyriad/vrm-local

Publishing Guide

This section explains how to publish the package to NPM and register it with the Anthropic MCP Registry so that it becomes publicly available.

Step 1: Publish to NPM

NPM (Node Package Manager) is the package distribution platform. Publishing here allows anyone to install your tool with a single command.

Prerequisites
  • An NPM account (free)
  • Two-factor authentication (2FA) enabled on your NPM account
  • Node.js installed on your machine
Procedure

1. Log in to NPM from the terminal:

bash
npm login

A browser window will open. Sign in with your NPM account. When prompted, enter your 2FA code from your authenticator app.

2. Publish the package:

bash
npm publish --access public

This command does the following:

  • Compiles TypeScript → JavaScript (npm run build)
  • Creates a .tgz archive of the compiled files
  • Uploads the archive to https://registry.npmjs.org/

3. Verify the publication:

Visit https://www.npmjs.com/package/@cognitivemyriad/vrm-local in your browser. Your package page should appear.

Note: If you need to re-publish, you must increment the version number in package.json and server.json first (npm version patch). NPM does not allow overwriting existing versions.


Step 2: Register with Anthropic MCP Registry

The MCP Registry is Anthropic's official directory of MCP servers. Registering here allows Claude Desktop, Claude Code, and other MCP clients to discover and install your server.

Important: The NPM package must be published first (Step 1). The MCP Registry validates that the NPM package exists before accepting the registration.

Prerequisites
  • A GitHub account (used for authentication only)
  • The mcp-publisher CLI tool
Installing mcp-publisher
bash
# macOS (Homebrew)brew install nicholasgriffintn/tap/mcp-publisher
# Or via npx (no install required)npx @anthropic-ai/mcp-publisher
Procedure

1. Log in to the MCP Registry via GitHub:

bash
mcp-publisher login github

A browser window will open. Authorize the application with your GitHub account.

2. Publish to the MCP Registry:

bash
mcp-publisher publish

This command reads server.json in the current directory and registers the server with the MCP Registry. The registry will:

  • Validate the server.json schema
  • Check that the NPM package exists and is accessible
  • Register the server metadata (name, description, version, environment variables)

3. Verify the registration:

Visit https://registry.modelcontextprotocol.io and search for your server name.

Note: Once a version is published to the MCP Registry, it is immutable and cannot be changed. To publish updates, increment the version in both package.json and server.json, publish to NPM first, then run mcp-publisher publish again.


Version Management

When releasing a new version, always update the version number in all three locations:

bash
# 1. Bump version in package.jsonnpm version patch  # 0.1.2 → 0.1.3
# 2. Update server.json (both top-level and packages[].version)# Edit server.json manually to match the new version
# 3. Publishnpm publish --access publicmcp-publisher publish
FileFieldMust Match
package.jsonversion✅
server.jsonversion (top-level)✅
server.jsonpackages[0].version✅

来源:README.md,提交 37fd3da

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Memory 集成