Gmem

io.github.yksanjo由 GitHub 账号 yksanjo 发布v1.1.0更新于 Oct 24, 2026

Persistent, Solana-aware project memory for AI coding agents. Typed entities + git-aware diffs.

概览

AI 生成的概览

本地 MCP 服务器,为 AI 编程助手提供持久的、面向 Solana 与 EVM 的项目记忆:程序、IDL、决策、审计发现与部署状态。

可以做什么
  • 检索与写入带类型的记忆条目(Program、Account、Instruction、Decision、Finding、Integration、Contract),按 BM25 加时间新近度排序
  • 列出已存决策,并按 ISO 时间戳或 git 引用对比两个时点的记忆差异
  • 导入 Anchor 工作区,按程序与集群记录 IDL 哈希和 git HEAD
  • 导入 Hardhat 工作区,将部署映射到规范链并记录 ABI 哈希
  • 读取当前 Solana CLI 的集群、RPC 地址与密钥对公钥,并基于 Helius 活动为代理钱包打分
适用场景
适合助手长期反复处理同一个 Solana 或 EVM 项目、却每次会话都丢失上下文的场景,例如已部署的程序 ID、PDA 种子、架构决策和审计发现。适合希望把这些上下文保存在本地、而不是每次会话重新粘贴的 Anchor 与 Hardhat 开发者。
运行要求
以本地 Node.js 进程运行,可从 npm 全局安装或通过 npx 启动。自动导入需要项目含 Anchor.toml 或工作区 Cargo.toml(或 Hardhat 工作区)。环境变量 GMEM_DB 可覆盖数据库路径,默认按项目存放在主目录下的独立文件。代理活动打分需要 HELIUS_API_KEY 或 apiKey 参数,也可用 fixture 路径离线运行。
安装前请注意
会写入本地 SQLite 数据库,使项目细节跨会话长期保留,导入工具也会自动写入条目。Solana 上下文工具会读取本地 Solana CLI 配置并推导当前密钥对的公钥,但不会返回私钥。使用 API 密钥进行代理活动打分时,钱包地址会发送给第三方服务 Helius RPC。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

gmem

Persistent project memory for Solana AI agents.

A Model Context Protocol (MCP) server that gives AI coding agents — Claude Code, Cursor, or anything that speaks MCP — durable, Solana-aware memory of a project across sessions: program IDs, IDLs, PDA seeds, deployment state, architectural decisions, audit findings. So agents stop forgetting what they built yesterday.

Status: v1.2 — stable, with EVM support and agent trust scoring. Nine MCP tools, real implementations (no stubs), backward-compatible wire format:

  • Storage: SQLite via better-sqlite3, one db file per project (auto-resolved from Anchor.toml / workspace Cargo.toml, override with GMEM_DB)

  • Ranking: SQLite FTS5 BM25 with a recency boost

  • Versioning: append-only — every write inserts a new (kind, natural_id, version) row; reads return the latest; full history available via the in-process Store API

  • Anchor ingest: gmem.ingest_anchor parses Anchor.toml, captures IDL sha256s, records git HEAD as sourceCommit per Program

  • Solana CLI context: gmem.solana_context reads ~/.config/solana/cli/config.yml, classifies the cluster, derives the active keypair's pubkey (secret never leaks). gmem.write on a Decision auto-attributes author + authorCluster

  • Git-aware diff: gmem.diff accepts both ISO timestamps and git refs (HEAD, HEAD~3, branch names, full and short SHAs)

  • EVM support (v1.1): gmem.ingest_hardhat parses Hardhat / hardhat-deploy workspaces, classifies networks into canonical chain ids (base-mainnet 8453, optimism-mainnet 10, polygon-mainnet 137, arbitrum-one 42161, ethereum-mainnet 1, plus testnets), captures a reorder-invariant ABI SHA-256. New Contract entity kind for EVM smart contracts.

  • License: MIT

  • Spec: see SPEC.md

  • Entity schemas: see schema/

Why

Solana has moved decisively toward an agent-first developer experience. The Foundation's awesome-solana-ai repo indexes a strong layer of stateless reference skills — solana-dev-skill, magicblock-dev-skill, metaplex-skill, helius-phantom-skill, solana-game-skill, and more — that teach agents how to do things. The Solana Developer MCP exposes documentation. What's missing is the layer above: persistent project memory.

Today every Claude Code session on a Solana project starts cold. The agent doesn't remember the program ID it deployed yesterday, the PDA seeds it chose two weeks ago, the audit finding from last sprint, or why a specific Jupiter integration was rejected. The developer compensates by pasting context, hand-maintaining NOTES files, or re-explaining the project every session. That is a tax on every agent-assisted Solana developer.

gmem fixes this by being opinionated about Solana primitives — programs, accounts, instructions, PDAs, IDLs, cluster state, Anchor configs — rather than being a generic key-value store. It complements every existing skill in awesome-solana-ai rather than competing with any of them.

Install

bash
npm install -g @yksanjo/gmem

Or, to run it without a global install:

bash
npx @yksanjo/gmem

The installed binary is still called gmem.

Or, to hack on the source:

bash
git clone https://github.com/yksanjo/gmem.git ~/gmemcd ~/gmem && npm install && npm run build

Then point your MCP client at it. For Claude Code:

jsonc
// ~/.claude/mcp_servers.json{  "mcpServers": {    "gmem": {      "command": "node",      "args": ["/absolute/path/to/gmem/dist/index.js"],      "env": { "GMEM_DB": "~/.gmem/memory.db" }    }  }}

Tools exposed (v0.1)

ToolPurpose
gmem.recall(query)Retrieve memory entries relevant to a natural-language query, ranked by BM25 + recency
gmem.write(entity)Persist a typed memory entry (Program / Account / Instruction / Decision / Finding / Integration); append-only
gmem.diff(from, to)Show how memory state changed between two points in time — accepts ISO timestamps OR git commit refs (HEAD, HEAD~3, branch names, full or short SHAs)
gmem.list_decisions()List all Decision entries for the active project, newest first
gmem.ingest_anchor()Auto-ingest an Anchor workspace: parse Anchor.toml, capture IDL sha256s from target/idl/, record the current git HEAD as source commit, write one Program per (program, cluster) pair
gmem.solana_context()Read the active Solana CLI config (~/.config/solana/cli/config.yml), return the configured cluster + RPC URL + active-keypair pubkey. Used by gmem.write to auto-attribute Decision entries to the developer wallet. Never returns the secret key.
gmem.ingest_hardhat()v1.1 — Auto-ingest a Hardhat / EVM workspace: parses hardhat.config.{ts,js,cjs,mjs}, reads every deployment artifact under deployments/<network>/<Contract>.json (the hardhat-deploy convention), classifies the network into a canonical chain (base-mainnet, optimism-mainnet, etc.), records a reorder-invariant ABI SHA-256 and git HEAD as sourceCommit. Writes one Contract entity per (chain, address) pair.
gmem.ingest_agent_activity(pubkey, cluster?)v1.2 — Pull Solana activity for an autonomous-agent wallet via Helius RPC, aggregate it (tx count, distinct peers, failure ratio, wallet age, sanctioned-neighbor count), score it with the transparent v1 heuristic, and write one Agent entity per (cluster, pubkey). Set HELIUS_API_KEY or pass apiKey; fixturePath runs offline against a snapshot.
gmem.score_agent(pubkey, cluster?)v1.2 — Return the latest stored Agent trust score with the heuristic breakdown showing which factors moved it. Read-only: no RPC call, no write — run gmem.ingest_agent_activity first.

Full input/output JSON schemas are in SPEC.md.

Worked against real Solana projects

The examples/ folder in this repo demonstrates the shape of project memory with synthetic projects. These companion repos build the same shape from public Solana programs you've probably heard of, with every entity citing its source:

  • gmem-example-squads-v4 — Squads multisig. Anchor workspace auto-ingest + audit pointers.
  • gmem-example-marginfi-v2 — Marginfi v2 lending. IDL-driven discovery of the embedded Drift integration (6 drift_* instructions surfaced automatically).
  • gmem-example-kamino-klend — Kamino klend. V1/V2 coexistence pattern, first-class flash loans, on-chain referrer state, sustained per-minor-release audit cadence — all recorded as Decision entries.

Each repo is npm install && npm run build-runnable; the resulting gmem.db is committed for direct inspection.

Out of scope for v1.0

To keep the v1 scope honest, gmem v1.0 does NOT include: hosted multi-user sync, cross-project search, agent reputation, on-chain memory anchoring. These are tracked in ROADMAP.md for v1.x / v2.

Roadmap

  • v0.1 — Open spec + JSON schemas + MCP server stub
  • v0.2 — SQLite backend, BM25 ranking, append-only versioning
  • v0.3 — Anchor workspace auto-ingest
  • v0.4 — Solana CLI context capture + Decision auto-attribution
  • v0.5 — git ref resolution in gmem.diff
  • v1.0 — Stable release with three worked examples (DeFi vault, cNFT mint, AI agent) — see also PR #168 in solana-foundation/awesome-solana-ai
  • v1.1 — EVM / Hardhat support (Base, Optimism, Polygon, Arbitrum, Ethereum, plus testnets), new Contract entity, gmem.ingest_hardhat tool, worked example 04-evm-vault
  • v1.2 — Agent trust scoring: new Agent entity, gmem.ingest_agent_activity + gmem.score_agent tools, worked example 05-agent-reputation, MCP Registry surface (server.json 1.2.0)

Contributing

This is an early-stage spec. The most useful thing right now is feedback on SPEC.md — does the entity model cover the Solana primitives that matter to your project? Open an issue or PR.

License

MIT — see LICENSE.

来源:README.md,提交 152aaf7

工具

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

版本历史

1
  1. v1.1.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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