Gnosem

dev.gnosem由 gnosem.dev 发布官方发布者v1.0.0更新于 Oct 24, 2026

Cross-vendor AI memory over MCP. One semantic store, readable and writeable from every MCP client.

已验证Streamable HTTP可网页运行知识与记忆AI 与机器学习

概览

AI 生成的概览

托管式跨厂商记忆服务器,让任何支持 MCP 的助手保存、搜索、列出、更正和删除共享的按用户记忆库。

可以做什么
保存事实、偏好、决策和笔记,可单条或一次最多 50 条,并附带来源与会话标签;超长内容会自动压缩为结构化事实,同时保留原文。以混合、语义或关键词模式搜索记忆,并按标签、作者、会话和时间范围筛选浏览最近条目。用取代方式更正过时记忆,或按 id 软删除某条记忆。
适用场景
适合在多个 AI 客户端和模型之间切换、希望把上下文集中保存并跨会话沿用的场景,免去每次重新叙述。也适合需要追踪哪条事实由哪个模型写入的情况。
运行要求
远程端点,无需本地运行时。需要服务商提供的 API 密钥,通过 Authorization Bearer 请求头发送;可选安装器会提示输入并配置本地 MCP 客户端。需能访问托管服务的网络。免费方案限 200 条记忆和 1 个密钥。
安装前请注意
记忆存放在第三方托管服务上,写入内容会离开本机并保存在那里,不要写入密钥或敏感个人数据。写入、取代和删除都会改动已存数据,删除为软删除并保留用于审计。付费 Pro 方案提供无限记忆和更多存储。

安装

在 SourceWeft 中

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

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/dev.gnosem%2Fgnosem/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "gnosem": {
      "type": "http",
      "url": "https://gnosem.dev/mcp"
    }
  }
}

README

[Gnosem]

Cross-vendor AI memory over MCP.
One memory store. Every model. Claude, ChatGPT, Gemini, Kimi, Cursor, Windsurf — anything that speaks MCP.

gnosem.dev · pricing · llms.txt


What it is

Gnosem is a hosted Model Context Protocol server that gives each user one persistent memory store — readable and writeable from every MCP-capable AI client. Vendor-agnostic by design: a fact saved from Claude is visible in ChatGPT, Cursor, Windsurf, Zed, Kimi, and any other MCP client (or plain HTTP tool call) using the same API key.

The problem it solves: every AI vendor has its own proprietary memory. OpenAI's ChatGPT memory doesn't work in Claude. Anthropic's projects don't cross into GPT. Multi-model users retell context in every session. Gnosem is the neutral layer between vendors.

Tools exposed

  • memory_write — save a fact, preference, decision, or note. content, tags?, written_by? (provenance), session_id?, no_optimize?
  • memory_search — semantic search across your memories. query, k?, raw?
  • memory_list — list recent memories in reverse-chronological order. limit?, cursor?, raw?
  • memory_forget — soft-delete a memory by id
  • memory_supersede — replace a stale memory with a corrected one

AI-optimized storage

Long memories (>400 chars) are automatically compressed on write to a structured-facts form (Workers AI, llama-3.1-8b-instruct-fast) with a strict prompt: TOPIC=..., PROJECT=..., DECISION=..., STACK=..., PROBLEM=.... The reading LLM ingests the compact form by default — fewer tokens, same meaning. The raw prose is preserved and returned as content_raw; pass raw:true to invert. Pass no_optimize:true on write to skip compression entirely.

Compression is guarded — if the model output isn't actually shorter, gnosem falls back to storing raw only. Fail-open: any AI error still saves the memory.

Quickstart

bash
npx gnosem-install

Auto-detects and configures every MCP-capable client on your machine (Claude Desktop, Claude Code, Cursor, Windsurf, Zed). Prompts for your API key and merges the gnosem entry alongside your existing servers. Restart the affected clients — the five memory tools appear immediately.

Get an API key at gnosem.dev, or via the API:

bash
curl -sX POST https://gnosem.dev/signup \  -H "Content-Type: application/json" \  -d '{"email":"[email protected]"}'

The key is displayed once. Save it.

Manual config (any MCP client)

json
{  "mcpServers": {    "gnosem": {      "url": "https://gnosem.dev/mcp",      "headers": { "Authorization": "Bearer gn_your_api_key" }    }  }}

Quickstart — any HTTP client

bash
# Writecurl -sX POST https://gnosem.dev/mcp \  -H "Authorization: Bearer gn_your_key" -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"memory_write","arguments":{"content":"I prefer Postgres for greenfield work.","written_by":"claude-code","tags":["preference"]}}}'
# Searchcurl -sX POST https://gnosem.dev/mcp \  -H "Authorization: Bearer gn_your_key" -H "Content-Type: application/json" \  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"memory_search","arguments":{"query":"database preference","k":5}}}'

Pricing

PlanPriceMemoriesAPI keysStorage
Free$02001shared
Pro$9/mo or $90/yrUnlimitedUnlimited1 GB

Upgrade at gnosem.dev/upgrade.

Data model

Each memory row: id (uuid), content (raw, ≤8000 chars), content_optimized (structured facts, nullable), tags (json array), written_by (provenance — which model wrote it), session_id (opaque grouping), created_at, plus a semantic embedding (BGE-base-en-v1.5, 768-dim) stored in Vectorize.

Every memory tracks provenance so you can see which model contributed which fact. Memories are per-user isolated at both the D1 metadata layer (user_id filter on every query) and the Vectorize layer (metadata index on user_id).

Correction chains via memory_supersede: the old row is marked superseded (excluded from reads) and the new row references it. Soft-delete via memory_forget (excluded from reads and removed from the vector index).

Infrastructure

  • Cloudflare Workers — edge-hosted MCP server, no cold starts
  • D1 — metadata + auth
  • Vectorize — 768-dim embedding storage + cosine ANN search, per-user metadata filter
  • Workers AI — embedding generation (@cf/baai/bge-base-en-v1.5) and content optimization (@cf/meta/llama-3.1-8b-instruct-fast)
  • Stripe — subscription billing

Latency: sub-100ms for read, ~200-800ms for write (dominated by embedding + optimization inference).

AI discovery

The service is designed to be discoverable and citeable by LLMs:

  • /llms.txt — LLM-optimized site summary per llmstxt.org
  • /robots.txt — explicitly welcomes GPTBot, ClaudeBot, PerplexityBot, Google-Extended, and every major AI crawler
  • /sitemap.xml — standard sitemap
  • Schema.org JSON-LD (SoftwareApplication + FAQPage) embedded in the landing page

Self-hosting

The Worker source in this repo can be deployed to your own Cloudflare account. You'll need:

  1. A Cloudflare account with Workers, D1, Vectorize, and Workers AI enabled
  2. npx wrangler d1 create <name> — creates the D1 database. Update wrangler.jsonc with the returned id
  3. npx wrangler vectorize create <name> --dimensions=768 --metric=cosine — creates the index
  4. npx wrangler vectorize create-metadata-index <name> --property-name=user_id --type=string — required for per-user isolation
  5. npx wrangler d1 execute <name> --remote --file=schema.sql then apply migrations/*.sql in order
  6. npx wrangler secret put STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET (only needed if you want billing)
  7. npx wrangler deploy

The hosted service (gnosem.dev) is the recommended way to use Gnosem — one API key, no infra to run, memories stay reachable when you switch machines.

About

Gnosem is a product of CUETV LLC, a Missouri holding company operating a family of new-media and infrastructure products.

License

MIT

来源:README.md,提交 e3c4346

工具

6

memory_write

Save a fact, preference, decision, or note to the user's cross-model memory. Any MCP client can read this back later. Include written_by (e.g. 'claude-code', 'gpt-5', 'kimi-k2') for provenance and session_id to group related writes. Long content (>400 chars) is automatically compressed on write to a structured-facts form optimized for LLM reading — the raw text is preserved. Pass no_optimize:true to skip. Writes are deduped by default: (1) SHA-256 of trim(content) short-circuits byte-identical writes with { id, exact_duplicate:true } for free (no embed call); (2) failing that, semantic dedup returns { id, deduped:true, matched_score } when cosine ≥ 0.85. Pass force:true to bypass both, or use memory_supersede to explicitly correct a prior memory.

输入参数tagsforcecontent必填session_idwritten_byno_optimize

memory_list

List the user's most recent memories in reverse chronological order. Use for browsing or catching up on what the user's other model sessions have written recently. Same content/content_raw shape as memory_search. Optional filters (tags, written_by, session_id, since, until) narrow the listing at the SQL level.

输入参数rawtagslimitsinceuntilcursorsession_idwritten_by

memory_forget

Soft-delete a memory by id. The row is retained for audit but excluded from search/list and removed from the vector index.

输入参数id必填

memory_supersede

Replace a stale memory with a corrected one. The old row is marked superseded and excluded from future reads; the new row becomes the current version. Use for corrections; use memory_forget for pure deletions.

输入参数tagsold_id必填session_idwritten_bynew_content必填

memory_write_bulk

Write up to 50 memories in a single call. Each entry runs the same path as memory_write (semantic dedup by default; pass force:true per-entry to skip). Embeddings + optimizations run in parallel; D1 inserts are batched. Returns { results: [...] } with one entry per input in the same order — each is { id, created_at, optimized? } on success, { id, created_at, deduped, matched_score } on dedup, or { error } on failure. Free-tier limits apply to the sum: if adding N would exceed 200, the first (200 - existing) succeed and the rest return an error.

输入参数memories必填

版本历史

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

评分

已满足适用检查项的 100%

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

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分