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 分