sovseal-memory MCP server
✓ 인증됨on-device 임베딩과 LanceDB를 사용하여 AI 클라이언트를 위한 로컬 우선, 제로 지식(zero-knowledge) 방식의 시맨틱 메모리를 제공합니다.
다른 이름 sovseal/core, core, @sovseal/mcp-server
- 스타
- 7
- Tools
- 2
- 다운로드, 30일
- —
- 최신 버전
- 0.3.8
- 마지막 커밋
- 2026년 8월 5일
- 라이선스
- Apache-2.0
sovseal-memory MCP란?
sovseal-memory은(는) MCP server입니다. on-device 임베딩과 LanceDB를 사용하여 AI 클라이언트를 위한 로컬 우선, 제로 지식(zero-knowledge) 방식의 시맨틱 메모리를 제공합니다. 2개 도구를 제공합니다. 예: store_memory, recall_memory.
프로젝트 README에서 생성된 요약
sovseal-memory MCP server 정보
sovseal-memory는 법률, 의료 또는 핀테크와 같은 민감한 데이터를 다루는 사용자를 위해 설계된 로컬 우선 시맨틱 메모리 솔루션입니다. AI 클라이언트가 평문 정보를 클라우드로 전송하지 않고도 지속적인 컨텍스트를 유지할 수 있도록 지원합니다. 모든 임베딩 및 리콜 프로세스를 자체 하드웨어에서 실행함으로써 개인 데이터가 기기를 절대 벗어나지 않도록 보장합니다.
서버는 LanceDB와 Transformers.js를 사용하여 384차원 MiniLM 모델로 on-device 임베딩을 수행합니다. 시맨틱 검색이 네트워크 호출이 아닌 로컬 벡터 쿼리로 처리되므로 25ms 미만의 리콜 지연 시간을 구현할 수 있습니다. Claude Desktop, Cursor, Windsurf, Zed를 포함한 다양한 MCP 클라이언트뿐만 아니라 ElizaOS 및 CrewAI와 같은 에이전트 프레임워크와도 호환됩니다.
사용자는 완전히 오프라인으로 작동하는 로컬 전용 모드와 선택 사항인 제로 지식 동기화 계층 중에서 선택할 수 있습니다. 복제가 활성화되면 시스템은 AES-256-GCM 암호화를 사용하여 암호문만 서버로 전송되도록 합니다. 이러한 아키텍처를 통해 MCP 프로토콜과 전용 브라우저 확장을 사용하여 여러 플랫폼에서 작동하는 단일 통합 메모리를 구축할 수 있습니다.
활용 사례
- 1민감한 산업 분야의 프라이버시 유지규제 대상 분야의 개발자는 NDA 또는 데이터 거주 정책을 위반하지 않고 AI 메모리를 사용할 수 있습니다.
- 2서로 다른 AI 플랫폼 간의 컨텍스트 통합ChatGPT 및 Claude와 같은 서로 다른 채팅 인터페이스 간에 단일 메모리 풀을 공유할 수 있습니다.
- 3자율 에이전트의 지속성 구현임베딩을 위한 호출당 API 비용을 발생시키지 않고 상태를 로컬에 유지하는 에이전트 프레임워크를 구축할 수 있습니다.
- 4기기 간 안전한 메모리 동기화서버가 데이터를 읽을 수 없도록 보장하면서 AI 컨텍스트를 원격 엔드포인트로 복제할 수 있습니다.
프로젝트의 README를 바탕으로 작성되었습니다. 모든 활용 사례는 해당 내용의 인용문과 대조하여 확인합니다.
sovseal-memory MCP 설치 방법
형식 확인: 2026년 11월 10일Claude Code에 sovseal-memory MCP 설치
$ claude mcp add core -- npx -y @sovseal/mcp-serverCursor에 sovseal-memory MCP 설치
~/.cursor/mcp.json
{
"mcpServers": {
"core": {
"command": "npx",
"args": [
"-y",
"@sovseal/mcp-server"
]
}
}
}VS Code에 sovseal-memory MCP 설치
.vscode/mcp.json
{
"servers": {
"core": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sovseal/mcp-server"
]
}
}
}Claude Desktop에 sovseal-memory MCP 설치
claude_desktop_config.json
{
"mcpServers": {
"core": {
"command": "npx",
"args": [
"-y",
"@sovseal/mcp-server"
]
}
}
}Codex에 sovseal-memory MCP 설치
~/.codex/config.toml
[mcp_servers.core] command = "npx" args = ["-y", "@sovseal/mcp-server"]
Gemini CLI에 sovseal-memory MCP 설치
~/.gemini/settings.json
{
"mcpServers": {
"core": {
"command": "npx",
"args": [
"-y",
"@sovseal/mcp-server"
]
}
}
}sovseal-memory MCP 도구 2
README에서 감지됨store_memoryrecall_memory
| store_memory | — | |
| recall_memory | — |
구성
SOVSEAL_ENDPOINTSOVSEAL_TRANSPORT
| 이름 | 설명 | 유형 |
|---|---|---|
| SOVSEAL_ENDPOINT | — | |
| SOVSEAL_TRANSPORT | — |
자동 검사
2026년 11월 14일에 실행됨전체 보고서 →자동 검사를 통과했습니다. 이는 보안 감사가 아닙니다. 코드를 직접 읽고 서버에 필요한 최소한의 권한만 부여하십시오. 검사 방식
- 소스 저장소 연결 및 접근 가능sovseal/core is public and reachablegithub.com/sovseal/core ↗통과
- 패키지가 이 저장소를 소스로 지정@sovseal/mcp-server names sovseal/core as sourcenpmjs.com/package/@sovseal/mcp-server ↗통과
- 빌드 출처(Sigstore 증명)No build attestation published for this release검사되지 않음
- 오픈 소스 라이선스 (OSI)Apache-2.0spdx.org/licenses/Apache-2.0.html ↗통과
- 최근 1년 내 커밋 또는 릴리스Last commit or release 2026-08-05github.com/sovseal/core ↗통과
- OpenSSF Scorecard검사되지 않음
- 패키지 이름이 인기 패키지와 유사하지 않음No popular package one edit away from @sovseal/mcp-server통과
- 패키지와 의존성에 심각한 보안 권고 없음235 resolved dependencies checked; no critical advisoryosv.dev ↗통과
- 모델에 대한 숨겨진 지침 없음2 tool descriptions and the README read; no override phrases, credential paths or hidden characters통과
- 파괴적인 도구에 라벨 표시됨No tool named like delete, drop or exec통과
- 원격 endpoint가 MCP 핸드셰이크에 응답검사되지 않음
README
GitHub에서 보기Why this exists
If you work with code, clients, or data you're not allowed to upload — healthcare, legal, fintech, defense, or anything under an NDA — every AI memory option today asks you to break that rule. Platform memory keeps your context on their cloud, in their walled garden, one platform at a time. Cloud memory layers route your raw conversations through third-party servers and extraction APIs.
sovseal takes the other path: all capture, embedding, and recall run on your device. Plaintext never crosses the network. The optional sync tier ships only AES-256-GCM ciphertext — the server cannot read your memories even if it wanted to. And because it speaks MCP and rides a browser extension, it's one memory across every AI you use, not six silos.
Measured Performance & Benchmarks (May 2026)
Cloud-hosted memory layers force a tradeoff between latency, privacy, and cost. Every recall is a 200–800 ms round-trip to someone else's database. sovseal collapses the tradeoff. LanceDB and Transformers.js run inside your agent's process.
| Workload | Operation | p50 | p95 | p99 | Network |
|---|---|---|---|---|---|
| 10K records · 1K queries | recall_memory (warm) |
6.1 ms | 10.4 ms | 21.8 ms | 0 RTT |
| Cold start | recall_memory (first call) |
~1.2 s | — | — | 0 RTT |
| Single write | store_memory |
3.8 ms | 7.2 ms | 12.5 ms | 0 RTT (write-behind) |
All benchmarks reproduce with: pnpm --filter @sovseal/mcp-server run bench-v2 (10K pre-seeded memories, 1K sequential queries, CPU-bound ONNX embeddings on commodity hardware).
What makes it fast and private:
- Sub-25 ms p99 recall — semantic search is a local vector query, not an HTTP call.
- On-device embeddings — a pinned, hash-verified 384-dim MiniLM model (~22 MB quantized ONNX) runs locally. No embedding API, no per-call cost.
- Zero-knowledge sync — when replication is enabled, AES-256-GCM encryption happens before any byte leaves the device. The server stores ciphertext it cannot decrypt.
- Verified Semantic Recall (VSR) — every load re-derives
sha256(canonicalize(payload))and fails closed on mismatch. - Deterministic lineage — snapshot graph enables byte-equal state restoration.
Introduction
sovseal gives AI assistants and autonomous agents persistent, portable context that you actually own. It drops into any MCP-compatible client, captures from the major chat platforms via a browser extension, and keeps your plaintext where it belongs: on your hardware.
Key Features & Use Cases
Core Capabilities:
- Local-First Semantic Memory: On-device LanceDB + 384-dim Transformers.js embeddings for 0-RTT recall.
- Cross-Platform Capture: The browser extension captures and recalls across ChatGPT, Claude, Perplexity, Grok, Gemini, and DeepSeek — one memory, six platforms, ⌘/Ctrl+M anywhere.
- Zero-Knowledge Sync (optional): Replication ships only end-to-end AES-256-GCM ciphertext. Local-only mode works fully offline with no account.
- Write-Behind Replication: Tool calls return on local commit; ciphertext sync happens asynchronously.
- Developer-Friendly: Drop-in MCP server, Node SDK, and self-hosted edge endpoints.
Who it's for:
- Privacy-Constrained Teams: Healthcare, legal, fintech, and defense-adjacent teams whose policies require plaintext to stay on-device.
- AI Power Users: People working across Claude Desktop, Cursor, ChatGPT, and more who are tired of six AIs with six separate amnesias.
- Agent Frameworks: ElizaOS, Hermes, CrewAI, and LangGraph consume the MCP server natively — local memory with no per-call API bill.
⚖️ How sovseal compares
An honest map, because you'll ask anyway:
| Platform-native memory (ChatGPT / Claude) | Cloud memory layers (mem0, Zep, hosted MCP memories) | sovseal | |
|---|---|---|---|
| Where plaintext lives | Provider's cloud | Provider's cloud, or your servers (self-host = your ops) | Your device only |
| Extraction pipeline | Provider-internal | Typically an LLM API call on your raw text | On-device embeddings; no LLM in the loop |
| Works across platforms | No — each platform is a silo | Yes (via their cloud) | Yes — locally, via MCP + extension |
| Offline | No | No (cloud) / partial (self-host) | Yes |
| Sync model | Provider-controlled | Server reads your data | Server sees ciphertext only |
| Cost per recall | Subscription-gated | API/hosting cost | $0, local compute |
What you give up with sovseal, stated plainly: there's no cloud LLM doing clever extraction on your behalf (by design — that's the leak we exist to prevent), and you are responsible for your own key (see Threat Model). If neither of those matters to you and you live inside one platform, its native memory may be all you need. If they do matter, nothing else in this table does what the right-hand column does.
🚀 Quickstart Guide
Choose your path
sovseal exposes one protocol with three delivery shapes. Pick by where your code runs:
| MCP Server | Browser Extension | Node SDK / Self-Hosted | |
|---|---|---|---|
| Best for | Claude Desktop/Code, Cursor, Windsurf, Zed, agent frameworks | ChatGPT, Claude.ai, Perplexity, Grok, Gemini, DeepSeek in the browser | In-process use in a Node/TS service; full data residency |
| Install | npx -y @sovseal/mcp-server |
Chrome Web Store + local host installer | npm install @sovseal/sdk |
| Recall latency | 0 RTT (local LanceDB) | 0 RTT (Native Messaging to local engine) | 0 RTT (local LanceDB) |
| Cost | Free (Hobby) | Free (Hobby) | Paid (Starter or above for self-hosted sync) |
MCP Server
The default for AI coding assistants and any agent framework that speaks MCP. One server binary, one config snippet, every client.
Claude Desktop, Cursor, Windsurf, Zed — add to mcp.json or claude_desktop_config.json:
{
"mcpServers": {
"sovseal-memory": {
"command": "npx",
"args": ["-y", "@sovseal/mcp-server"]
}
}
}
One-line install for Claude Code:
claude mcp add sovseal -- npx -y @sovseal/mcp-server
System Prompt Snippet (Claude Desktop / Cursor Project Instructions): To ensure the AI natively uses the memory server, paste this into your custom instructions:
This session has persistent memory via sovseal. At conversation start, check the sovseal://context/recent resource. Whenever the user shares preferences, plans, or personal context, store it via store_memory.
For always-on autonomous agents, switch to HTTP/SSE transport so the sovseal process outlives a single tool invocation:
SOVSEAL_TRANSPORT=sse SOVSEAL_PORT=4040 npx -y @sovseal/mcp-server
Browser Extension
For the AI platforms that don't speak MCP. The extension bridges ChatGPT, Claude.ai, Perplexity, Grok, Gemini, and DeepSeek to the same on-device engine over Native Messaging — capture-on-send as you chat, ⌘/Ctrl+M to recall anywhere, with per-site toggles and one-click delete.
- Install from the Chrome Web Store, then run the one-time local host installer.
- Confirm the popup shows "On-device engine connected."
- Chat normally; press ⌘/Ctrl+M in any supported platform to recall.
Everything the extension captures lives in the same local database the MCP server reads — tell Claude.ai something once, and Claude Code already knows it.
Node SDK (Library)
When you're building a backend service and want to manage agent state persistence programmatically, import the Node SDK client. It performs end-to-end AES-256-GCM encryption client-side and replicates checkpoints to a sync endpoint you choose.
npm install @sovseal/sdk
import { AgentStateClient, CryptoService } from "@sovseal/sdk";
const client = new AgentStateClient({
endpoint: "https://your-project.supabase.co/functions/v1/v2-agent-state",
apiKey: "sov_proj_your_project_uuid",
});
const key = await CryptoService.generateAESKey();
// Client-side AES-GCM encrypted snapshot upload
const receipt = await client.snapshot({
key,
payload: {
agent_id: "agent_a1b2c3",
sequence_number: 0,
parent_snapshot: null,
policy_hash: "0000000000000000000000000000000000000000000000000000000000000000",
timestamp: new Date().toISOString(),
active_context: {
project: "acme-migration",
decisions: ["Postgres over Mongo — team expertise", "Cut scope: no SSO in v1"],
open_question: "Client prefers staged rollout; confirm dates with their ops lead."
}
}
});
// Restore the latest state snapshot
const { receipt: latestReceipt, ciphertextUrl } = await client.restore({
agentId: "agent_a1b2c3",
});
Self-Hosted Edge
The replication endpoint is a Deno edge function — open source, deployable to any Supabase project for full data-residency control.
# From the repo root
supabase functions deploy v2-agent-state
supabase db push # applies the agent_state_snapshots schema
# Point any client at it:
export SOVSEAL_ENDPOINT="https://<your-project>.supabase.co/functions/v1/v2-agent-state"
Source: supabase/functions/v2-agent-state/.
🔗 Integrations & Agent Frameworks
All of these consume the same MCP server through their first-class MCP support. No sovseal-specific adapter is required:
| Framework | How it consumes MCP |
|---|---|
| ElizaOS | @fleek-platform/eliza-plugin-mcp (config-only, stdio or SSE) |
| Hermes Agent | Native MCP, stdio + remote HTTP |
| CrewAI | mcps=[...] field on the agent |
| LangGraph · LangChain | langchain-mcp-adapters (npm + PyPI) |
| Microsoft Agent Framework | Built-in MCP workbench |
| OpenAI Agents SDK | Native MCPServerStdio / MCPServerSse |
| OpenClaw | Native openclaw mcp consumer |
🛠️ MCP Tools Exposed to the LLM
| Tool | Args | Behavior |
|---|---|---|
store_memory |
{ content: string } |
Embed (384-dim, on-device) → write to local LanceDB → return. Ciphertext replication runs write-behind; nothing blocks. |
recall_memory |
{ query: string, topK?: number } |
Embed query (LRU-cached) → vector search local LanceDB → return top-K matches ranked by L2 distance. 0 RTT. |
🔒 Threat Model — Read this before depending on it
We publish exactly what is protected, what isn't yet, and what's on us versus on you. Full detail in SECURITY.md.
Guarantees that hold today:
- Sync confidentiality. AES-256-GCM with a 96-bit random IV per snapshot, encrypted before transmission. The sync server stores ciphertext it cannot read.
- Integrity (VSR). Every recall re-derives
sha256(canonicalize(payload))and compares against the storedclient_payload_hash. Corrupted storage fails closed. - No third-party processing. Embeddings are computed on-device by a version-pinned, hash-verified model. Your text is never sent to an embedding or extraction API.
- Authentication. Bearer token =
sov_proj_<uuid v4>in~/.sovseal/config.json. - Storage. Ciphertext lands in a Supabase Storage bucket. Object paths are SHA-256-derived and unguessable without your
project_id.
Honest status — hardening in flight (v0.3.5):
| Control | Status |
|---|---|
| Zero-knowledge replication (AES-256-GCM + content hashing) | ✅ Shipped |
| On-device, hash-pinned embedding model | ✅ Shipped |
| Identifier sanitization against query-predicate injection | ✅ Shipped |
| Local database encryption at rest | ✅ Shipped v0.3.5 — field-level AES-256-GCM on memory content (embedding vector still in the clear) |
| Master key in OS keychain (HKDF-separated at-rest & sync subkeys) | ✅ Shipped v0.3.5 |
| Programmatic secret redaction before any write | 🔄 Planned — today this is enforced at the prompt level only |
| Model integrity verified strictly before load | ✅ Shipped v0.3.5 — incl. the first-run download path |
As of v0.3.5, memory content is encrypted at rest and the master key lives in the OS keychain, so local filesystem read no longer exposes your memories. Programmatic secret redaction is still prompt-level only — see SECURITY.md. We'd rather tell you that here than have you find out later.
- Key loss (Hobby/Starter/Growth). Lose
~/.sovseal/config.json→ lose every synced snapshot ever made. There is no escrow or recovery flow on these tiers. - Key recovery (Pro/Enterprise). Pro tier adds managed key recovery via Shamir-split escrow custody, and Enterprise adds HSM-backed key recovery.
🤝 Contributing
pnpm install
pnpm --filter @sovseal/mcp-server build
node packages/sovseal-mcp-server/dist/index.js # stdio MCP server
Test (unit + integration + crypto round-trip):
pnpm --filter @sovseal/mcp-server test
pnpm --filter @sovseal/mcp-server run bench-v2
See CONTRIBUTING.md.
🗺️ Roadmap
The core open-source modules — the stdio/SSE MCP server, browser extension, Node SDK, and self-hosted Supabase edge functions — are stable, free, and licensed under Apache 2.0.
Next up, in order:
- v0.3.5 — Security hardening + first intelligence: local at-rest encryption, OS-keychain key custody, code-enforced secret redaction, and the start of typed memory (episodic / semantic / procedural) with reinforcement-aware recall — so sovseal remembers what you've tried, not just what you've said.
- Ambient capture: deterministic session observation for Claude Code and transcript-capable clients — memory that forms without anyone remembering to store it.
- Hosted sync tier — managed, high-availability ciphertext replication for teams that don't want to run their own edge function. (Still zero-knowledge: we host bytes we cannot read.)
- Wallet-key mode (opt-in) — Arweave permanence via Base L2 and Irys, for users who want their encrypted snapshots to outlive any company, including ours. Entirely optional; the core product has no blockchain dependency.
Track progress in CHANGELOG.md and the issue tracker.
📚 Documentation & Support
- Quickstart: see the Quickstart Guide above
- Integrations: see Integrations & Agent Frameworks
- Security: SECURITY.md
- Source:
packages/sovseal-mcp-server/·apps/extension/·supabase/functions/v2-agent-state/ - Release notes:
packages/sovseal-mcp-server/CHANGELOG.md - Issues & PRs: this repository
- Contact: founders@sovseal.com
⚖️ License
Apache 2.0 — for the entire public surface (MCP server, extension, SDK, core protocol, edge function, docs). Fork it, ship it, run it however you like.
sovseal-memory MCP 질문
sovseal-memory MCP를 Claude Code에 추가하려면 어떻게 하나요?
터미널에서 claude mcp add core -- npx -y @sovseal/mcp-server를 실행합니다. 모든 프로젝트에서 사용할 수 있게 하려면 --scope user를 추가합니다.
sovseal-memory MCP를 Cursor에 추가하려면 어떻게 하나요?
~/.cursor/mcp.json를 열고 mcpServers 아래에 서버를 추가합니다. 위 설치 섹션에 표시된 Cursor 구성을 사용합니다.
sovseal-memory MCP는 어떤 도구를 제공하나요?
2개 도구를 제공합니다. 예: store_memory, recall_memory.
sovseal은 어떻게 프라이버시를 보장하나요?
모든 캡처, 임베딩, 리콜 과정이 사용자의 기기에서 실행되므로 평문 데이터가 기기 외부로 유출되지 않습니다. 선택 사항인 동기화 기능은 AES-256-GCM 암호화를 사용하므로 서버는 암호문만 볼 수 있습니다.
Claude 및 Cursor와 함께 사용할 수 있나요?
네, Claude Desktop, Cursor, Windsurf, Zed 및 기타 MCP 호환 클라이언트와 함께 작동하도록 설계되었습니다.
오프라인에서도 사용할 수 있나요?
네, 로컬 전용 모드는 계정 없이도 완전히 오프라인 상태에서 작동합니다.