Atlas / MCP servers / sgx-labs / SAME

SAMEBLOCK

mcp/sgx-labs/same

Your AI forgets everything between sessions. SAME fixes that. Local-first, no API keys, single binary.

Verdict
BLOCK
Grade
F
Trust score
42 /100
Exposed tools
—
Transport
stdio · streamable-http
License
NOASSERTION
Stars
23
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

[](LICENSE) [](https://go.dev) [](https://github.com/sgx-labs/statelessagent/releases) [](https://github.com/sgx-labs/statelessagent) [](#mcp-server) [](https://discord.gg/9KfTkcGs7g)

Your AI forgets everything between sessions. SAME fixes that.

SAME gives every AI coding tool persistent memory. Claude Code, Cursor, Windsurf, Codex CLI, Gemini CLI — one memory layer that works everywhere. It indexes your markdown notes, surfaces relevant context automatically, and records decisions and handoffs so your AI picks up where it left off.

One binary. Fully local. No cloud. No telemetry. Mac, Linux, Windows, Raspberry Pi.

Install

# macOS / Linux
curl -fsSL https://statelessagent.com/install.sh | bash

# Windows (PowerShell)
irm https://statelessagent.com/install.ps1 | iex

Or via npm (all platforms): npm install -g @sgx-labs/same

Installed via npm? Update with npx same@latest or npm update -g @sgx-labs/same.

See It Work

same demo
Indexing 5 sample notes...
Searching: "authentication decision"

1. decisions/auth-strategy.md (score: 0.94)
"We chose JWT with refresh tokens for..."

2. notes/api-security.md (score: 0.87)
"Auth middleware validates tokens at..."

Asking: "what did we decide about authentication?"

Based on your notes, you decided to use JWT with refresh
tokens (decisions/auth-strategy.md). The API middleware
validates tokens at the g
Read from source at commit 0d5870d92624OBSERVED · 2026-10-10
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code (npm)
claude mcp add same -- npx -y @sgx-labs/[email protected] mcp
03

Trust audit

BLOCKgrade F · trust 42/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)FAIL
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (5 observation(s))
Network
declared (6 observation(s))
Shell
none-observed
Dependencies
pinned
Secrets in source
found

Findings (25)

HIGHPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
install.sh:321
echo "    Install: sudo apt-get install build-essential"
Why it matters. asks for elevated privileges
HIGHPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
install.sh:323
echo "    Install: sudo dnf install gcc"
Why it matters. asks for elevated privileges
HIGHPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
install.sh:490
if sudo apt-get install -y nodejs npm 2>/dev/null; then
Why it matters. asks for elevated privileges
HIGHPrivilege escalation / persistence · priv.escalate · CWE-269, CWE-250
install.sh:496
if sudo dnf install -y nodejs 2>/dev/null; then
Why it matters. asks for elevated privileges
HIGHPrompt injection · prompt.tool_poisoning · CWE-94, CWE-1427
CHANGELOG.md:352
- **Fixed case-insensitive tag matching for `IMPORTANT`** — the `IMPORTANT` tag was listed in uppercase but compared against lowercased text, so `<IMPORTANT>` injection payloads were not neutralized.
Why it matters. a tool description carrying instructions to the agent
Fix. tool descriptions describe the tool; nothing else
MEDIUMFilesystem / path · fs.system_paths · CWE-22, CWE-59
eval/memoryagentbench/run_bench.py:37
SAME_BIN = shutil.which("same") or "/usr/local/bin/same"
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
.scripts/provider-smoke.sh:70
local ollama_url="${SAME_SMOKE_OLLAMA_URL:-${OLLAMA_URL:-http://127.0.0.1:11434}}"
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
.scripts/provider-smoke.sh:106
local ollama_url="${SAME_SMOKE_OLLAMA_URL:-${OLLAMA_URL:-http://127.0.0.1:11434}}"
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
.scripts/provider-smoke.sh:162
if curl -fsS --max-time 1 "http://127.0.0.1:${port}/api/status" >/dev/null 2>&1; then
MEDIUMHard-coded secrets · secret.anthropic · CWE-798, CWE-321
internal/guard/patterns_security_test.go:151
"sk-ant-abc123456789012345678",
MEDIUMHard-coded secrets · secret.anthropic · CWE-798, CWE-321
internal/guard/patterns_security_test.go:168
line := "sk-ant-abc12345678901234567890 // test value"
MEDIUMHard-coded secrets · secret.anthropic · CWE-798, CWE-321
internal/guard/patterns_security_test.go:197
{"anthropic_key", "sk-ant-api03-abcdefghijklmnopqrstuvwxyz", true},
MEDIUMHard-coded secrets · secret.anthropic · CWE-798, CWE-321
internal/guard/patterns_security_test.go:272
{"anthropic_key", "mixed_case_prefix", "Sk-ant-abcdefghijklmnopqrstuvwxyz1234"},
MEDIUMHard-coded secrets · secret.anthropic · CWE-798, CWE-321
internal/guard/patterns_security_test.go:412
content := "Here is my API key: sk-ant-api03-abcdefghijklmnopqrstuvwxyz\nAnd a Stripe key: sk_test_ABCDEFGHIJKLMNOPQRSTUVWXYZab"
MEDIUMHard-coded secrets · secret.aws · CWE-798, CWE-321
internal/guard/guard_test.go:110
results := scanLine("aws_key = AKIAIOSFODNN7EXAMPL0", "deploy.sh", patterns)
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
internal/guard/guard_test.go:101
results := scanLine(`api_key = "sk-abcdefghijklmnopqrst1234"`, "config.go", patterns)
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
internal/guard/patterns_security_test.go:26
{"ghp personal access token", "token: ghp_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkl", true},
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
internal/guard/patterns_security_test.go:27
{"ghs server token", "ghs_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkl", true},
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
internal/guard/patterns_security_test.go:154
"ghp_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijkl",
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
internal/guard/patterns_security_test.go:209
{"github_pat_fine", "github_pat_11AAAAAAA0abcdefghijklmnopqrstuvwxyz", true},
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
internal/guard/patterns_security_test.go:304
{"github_pat_fine", "mixed_case_prefix", "GitHub_pat_11AAAAAAA0abcdefghijklmnopqrstuvwxyz"},
MEDIUMHard-coded secrets · secret.private_key · CWE-798, CWE-321
internal/guard/guard_test.go:125
results := scanLine("-----BEGIN PRIVATE KEY-----", "cert.pem", patterns)
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
internal/guard/patterns_security_test.go:60
{"xoxb bot token", "xoxb-1234567890-abcdefghij", true},
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
internal/guard/patterns_security_test.go:61
{"xoxp user token", "xoxp-1234567890-abcdefghij", true},
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
internal/guard/patterns_security_test.go:214
{"slack_bot_token", "xoxb-1234567890-abcdefghij", true},

Gates applied: no_behavioural_pass.

Audited 2026-10-10 · audit v0.4.1 · source sha 0d5870d92624full audit observations/trust-audit/mcp-server/sgx-labs__same.json · Report an issue / request a re-scan
04

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-100d5870d92624BLOCKF42first audit
05

Questions

What is the SAME MCP server?

Your AI forgets everything between sessions. SAME fixes that. Local-first, no API keys, single binary.

Is SAME safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (42/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on.

What credentials does SAME need?

No credential environment variables were found in its source, so it appears to need none.

How does SAME run?

It speaks stdio and streamable-http, so it runs as a local process your client starts. It is published on npm as @sgx-labs/same at 0.12.5.

How current is this page?

The grade is for one exact copy of the source (0d5870d92624), read on 2026-10-10. The repository is watched and re-audited when it changes.

Advertisement