supragnosis
概要
作者による説明(英語の原文)
Memory for AI agents that remembers who said it.
PopNx MCPの3つの柱
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
- 利用者の声iレビューはまだありませんレビューは今後のステップで、アカウント機能と一緒に始まります
- 私たちの基本チェックi1項目中1項目に合格公開情報からチェック。コードはまだスキャンしていません
- 利用状況iとても新しい★ –
できること
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
- 接続方法: パソコンで動く
- トランスポート: stdio
- カテゴリ: 検索・AIの記憶
インストール
使っているAIアプリを選んで、設定をコピーしてください。
インストールの前に
- 基本チェック:1項目中1項目に合格
- あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
- レジストリには、入力が必要なキーは載っていません。
必要なもの
- DockerDockerのインストール
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"supragnosis": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ashon/supragnosis:0.11.0",
"serve"
]
}
}
}ターミナルでこれを実行します
claude mcp add supragnosis -- docker run -i --rm ghcr.io/ashon/supragnosis:0.11.0 serveまたは、設定を自分でコピーする
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"supragnosis": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ashon/supragnosis:0.11.0",
"serve"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
または、設定を自分でコピーする
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"supragnosis": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/ashon/supragnosis:0.11.0",
"serve"
]
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
できること
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
基本チェックi
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
- ✓ 合格
作者とリポジトリが一致
レジストリ名は、リポジトリを所有するGitHubアカウント Ashon で確認済みです
- … 未チェック
今もメンテナンスされている
このリポジトリはまだGitHubから読み取っていません
- … 未チェック
ライセンスがある
このリポジトリはまだGitHubから読み取っていません
- – 対象外
エンドポイントが応答する
これはパソコンで動くため、インターネット上のエンドポイントはありません
- – 対象外
OAuthでサインイン
パソコンで動き、代わりにローカルの設定を使います
- … 未チェック
ツールの説明に隠れた指示がない
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
検索・AIの記憶のほかのサーバーとの比較i
- このカテゴリのほかの5688件のうち0%よりスターが多い
- このカテゴリのほかの5688件のうち79%より最近レジストリに公開
- 基本チェックの結果が、このカテゴリのほかの5688件のうち100%と同じかそれ以上
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
よくある質問
supragnosisは安全ですか?
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
どんなキーやコードが必要ですか?
レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。
パソコンで動きますか、それともクラウドですか?
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
今もメンテナンスされていますか?
GitHubリポジトリの最終更新は–、最新バージョン(0.11.0)がレジストリに届いたのは11 日前です。
どのアプリで使えますか?
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにDockerも必要です。
代わりに使えるものは?
同じカテゴリには:Context7, Codebase Memory, Exa
代わりの候補
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
作者のREADME
READMEを開く
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
supragnosis
Agent memory you can cross-examine.
Shared project memory for coding agents, with receipts. supragnosis is a local MCP server for Claude Code, Codex, Cursor and other MCP clients. Your agents record what they learn as they work, and every claim keeps who asserted it, on whose behalf, on what basis, and how far this node trusts it. Claims that contradict each other stay side by side for you to settle, instead of the later one overwriting the earlier.
It is built for a small team that wants one project's memory on each of its machines and shared with teammates, without a vendor cloud: one binary, an embedded store, and no account. A workspace leaves your machine only when you list it.
supragnosis = supra (above) + gnosis (knowing) - knowledge about knowledge.
The problem it solves
Most agent memory answers *what was remembered*. It does not answer *who said so*.
That is fine for a single assistant remembering one user's preferences. It stops being fine the moment two agents, two machines, or two people write into the same memory:
- Two agents assert opposite facts. Last write wins, and the disagreement is gone.
- An agent summarizes a poisoned document into memory. Nothing records where it came from, so nothing can trace what else that summary contaminated.
- You want to share project knowledge with a teammate but not your private notes. There is no boundary to draw, because the store has no concept of whose knowledge this is.
- A credential ends up in the log. There is no way to find it and no way to get it out.
supragnosis treats an assertion and a fact as different things. What is stored is never "X is true" but "host H, at time T, on the basis of S, asserted X". The current belief is computed from those assertions by a policy you can replace, so changing your mind about how to resolve conflicts means recomputing, not rewriting.
What that buys you
| Provenance on every claim | acting host, principal on whose behalf, workspace, source, observation time, confidence, and a trust tier the receiving node computes rather than accepts |
| Conflicts stay visible | contradictory assertions coexist and surface for mediation instead of one silently overwriting the other |
| Nothing is destroyed | the observation log is append-only and content-addressed. A correction is a new observation; a merge can be un-merged |
| A gate before the canon | entity merges, trust promotions, and schema changes go through a proposal with a computed diff of what the verdict would overturn |
| Sharing is opt-in | a workspace leaves the node only if you list it. Peers are authorized per workspace, on the sync path and the query path alike |
| Secrets do not enter | credential-shaped text is refused at ingest, not rewritten, because an append-only log that has replicated cannot take it back |
| Local-first, no cloud | one binary, an embedded pure-Rust store, no account, no network unless you configure a peer |
Quick start
brew tap ashon/tap
brew install supragnosis-server supragnosis service install # MCP on :7373 + local viewer, now and at every login supragnosis connect claude-code # or claude-desktop, cursor, vscode, codex, gemini, opencode
supragnosis connect with no app lists them and says how each one is connected. It registers supragnosis bridge with the app: a stdio server that relays to the daemon and reads the daemon's bearer token from ~/.supragnosis/mcp.token (mode 0600) itself, so no app's settings hold a copy. That also reaches Claude Desktop, which takes local servers over stdio only. A client that wants a URL instead can use http://127.0.0.1:7373/mcp with that token; supragnosis status prints the command, reading the token from its file rather than printing it.
With Claude Code, connect also registers a hook, so the memory fills without being asked: after a commit the agent made, it is asked for the decision behind the change that the diff does not show, and a session starts knowing what the project's workspace holds here. --no-capture leaves the hook out; the hook never writes anything itself (docs/client-connect.md Section 12).
With the desktop app (brew install --cask supragnosis), its Settings page (Settings... in the tray, or Cmd+,) does both without a terminal: Start at Login keeps the daemon running, and AI apps connects Claude Desktop, Claude Code and the others with a click. After brew upgrade, supragnosis restart loads the new binary - until then supragnosis status and the tray say the daemon is running the old one.
Not on Homebrew:
curl -fsSL https://supragnosis.dev/install.sh | sh # ~/.local/bin, checksum-verified
supragnosis service install # macOS; Linux: deploy/systemd supragnosis connect claude-code
Retrieval is semantic as well as keyword: a local embedding model (multilingual, 224 MB, no API calls) that service install fetches once into ~/.supragnosis/models, or supragnosis embed fetch does by hand. Until it is there, retrieval is keyword only and supragnosis status says so. The daemon holds about 1 GB once a tool call has loaded the model; SUPRAGNOSIS_EMBED=none keeps it keyword only and small (docs/semantic-retrieval.md).
Removing it takes the daemon off login, disconnects each AI app and deletes the binary, and leaves the knowledge in ~/.supragnosis unless you remove that too (deploy/README.md, Operations).
Your first minute
Ask the agent to remember something, in whatever words you would use:
you: remember that auth in this repo is JWT with a 15-minute expiry, decided because the
mobile client cannot hold a session cookie
The agent calls observe. What lands is not the sentence - it is an observation carrying the entities it names, the relations between them, and who said it:
observed "auth in this repo is JWT with a 15-minute expiry..."
entities JWT [AuthMechanism], mobile client [Component] relations repo --uses--> JWT, JWT --constrained_by--> mobile client provenance host=your-laptop on_behalf_of=you tier=agent_extracted
Later, in a different session, with none of that in the context window:
you: how does auth work here?
agent: JWT with a 15-minute expiry. That came from you directly rather than from reading the
code, and the stated reason was that the mobile client cannot hold a session cookie.
The second half of that answer is the point. A search hit is the id of what matched, and that id leads to the provenance: get_entity lists every attestation behind an entity, and the observation it came from (supragnosis://observation/{id}) has the original text and who said it, for whom and when. So the agent can tell you *who said it and how sure to be*, and you can read it yourself.
The viewer runs alongside the daemon on a unix socket - the desktop app opens it, or read it directly:
curl -s --unix-socket ~/.supragnosis/viz.sock http://localhost/api/graph
Watching it while an agent works is the part that is hard to convey in text:
What the agent gets
13 MCP tools, each one recurring intent:
observe- free text plus optional structured assertions. No schema required up front.search_knowledge- keyword retrieval (every term, any order) plus semantic, labelled with the mode it used.get_entity,traverse- exact lookup and bounded graph walks.workspace_map- co-occurrence hyperedges: what tends to get said together.define_type- promote a pattern into the workspace glossary.propose,review,list_proposals,get_proposal- the gate to the canon.sync_status,sync_pull,sync_push- federation.
Plus dereferenceable resources: supragnosis://workspaces, supragnosis://workspace/{ws}/graph, supragnosis://workspace/{ws}/hypergraph, supragnosis://workspace/{ws}/types, supragnosis://observation/{id}.
What you get
Four MCP prompts, which a client offers as commands (in Claude Code, /mcp__supragnosis__brief):
brief- what a workspace's knowledge says now: its themes, what is contested, what rests on a single agent claim, and what is waiting on your decision.what-do-we-know-about- what the store holds on one topic, with sources, and what it does not.curate- the model drafts proposals for the tidy-ups the curation signals point at.review-proposal- a first-pass review of one proposal: what merging it would change, and a recommendation.
Your model writes the brief from current state and nothing is stored. A judgment worth keeping becomes a proposal, and you cast the verdict in the app's Review panel. The canon is what remains, and the next brief reads it. See docs/prompts.md.
How it works
Three ideas, and everything else follows from them.
Event sourcing. Immutable, content-addressed observations are the source of truth. The entity and relation graph is a projection you can throw away and rebuild by replaying the log. Changing the resolution policy is a re-projection, not a migration.
Topology-independent convergence. Nodes holding the same set of observations materialize the same graph, no matter which path events took or in what order they arrived. Content addressing dedups, hybrid logical clocks order, and the projection is a deterministic fold. Local-only, hub-and-spoke, direct peer, or a mix: the topology is an operational choice, not a semantic one.
Hexagonal ports. The domain crate has zero IO dependencies. Store, embedder, and transport sit behind ports held to one conformance suite. This is not an aspiration: a third store adapter was added and the original backend deleted, a different query paradigm and a different storage engine, without changing a line of core or engine.
Documentation
| architecture.md | what is built, how, and Section 14: the honest record of what is not |
| principles.md | the normative document. Every design decision is justified against it |
| federation.md | node identity, the sync protocol, trust evaluation |
| proposal-workflow.md | the gate to the canon |
| resolution.md | how assertions become a current belief |
| excision.md | the one act that removes knowledge, and why it is last |
| consolidation.md | how a workspace stays tidy without anything being deleted |
| CONTRIBUTING.md | how to build, test, and send a change |
Status
Working today: hybrid retrieval, belief resolution with contested claims surfaced, identity resolution with an entity merge gate that can be reversed, hub-and-spoke log replication with ed25519-signed events over TLS, and a live viewer.
Not yet: bitemporal time-travel queries, multi-principal governance, retrieval demotion and idle consolidation, and automatic type induction.
That second l
冒頭だけを表示しています。続きはリポジトリで読めます