tgss-mem

Geometric Memory Manager — TTI.TOOL.TGSS-MEM-001

Surfaces

One tgss-mem process serves three client surfaces. Per TGSS-MEM-002 v1.0 §5.2. Full reference: docs/INTEGRATIONS.md.

SurfaceTransportAuthStatus
Claude Code local stdio MCP none (single-user) supported
Claude Web remote HTTP at http://127.0.0.1:5002/api X-TGSS-Composite header (24-byte prime) open (set TGSS_MEM_REQUIRE_AUTH=1 to enforce)
Adjacent services (Conductor, GCE-MCP, pria-relate, signal-engine) HTTP + consumer scoping composite credential bound to consumer label 5 policies

Active sessions: 5 · Consumer policies: 5 · Auth enforcement: OFF

1. Claude Code (stdio)

Add to ~/.claude/mcp_settings.json (CLI) or %APPDATA%\Claude\claude_desktop_config.json (Desktop):

{
  "mcpServers": {
    "tgss-mem": {
      "command": "npx",
      "args": [
        "tsx",
        "D:/GitHub/Tribernachi-Memory-Layer/src/index.ts"
      ],
      "env": {
        "TGSS_MEM_DIR": "C:\\Users\\mark\\.tgss-mem",
        "TGSS_MEM_DB": "C:\\Users\\mark\\.tgss-mem\\memories.db"
      }
    }
  }
}

Restart Claude Code; the 9 tgss_mem_* tools should appear in the tool list.

2. Claude Web (remote MCP, composite-credential auth)

Pattern from ACO Field 25 inline TCHAS — credentials are 24-byte primes, not bearer tokens. Composite = nextPrime(hash(P_user, P_session, P_t)) per spec §5.2.2.

Step 1 — Issue a session

curl -X POST http://127.0.0.1:5002/api/auth/session \
     -H "Content-Type: application/json" \
     -d '{"consumer_label":"claude-web","ttl_seconds":86400}'

Or use the form at /sessions.

Step 2 — Configure in claude.ai

Settings → Integrations → Remote MCP. Add a server with:

  • Name: tgss-mem
  • URL: http://127.0.0.1:5002/api
  • Header: X-TGSS-Composite: <session_composite from step 1>

Step 3 — Verify

curl -H "X-TGSS-Composite: <composite>" http://127.0.0.1:5002/api/auth/whoami

Should return {"auth_mode":"valid",...}. Right now auth enforcement is OFF — calls without the header also return auth_mode: "none" instead of 401.

3. Adjacent Services (consumer-pattern)

Per spec §5.2.3. Each consumer's policy = {PentaLinear bucket} × {domain prime mask}. When strip_project_prime=1, the project prime is divided out of returned composites — privacy boundary enforced mathematically, not by policy.

# Seed default consumers (one-time)
npx tsx scripts/seed-consumers.ts C:\Users\mark\.tgss-mem\memories.db
curl -H "X-TGSS-Composite: <session_composite>" \
     "http://127.0.0.1:5002/api/consumer/query/gce-mcp?text_search=postgres&limit=10"

Manage policies at /consumers.

4. MCP Stdio Integration Tests

Sprint 6 added tests/integration/mcp-stdio.test.ts — spawns the actual server via StdioClientTransport and exercises every MCP tool over real JSON-RPC. Proves the entire MCP wiring (server.tool registrations, zod schema validation, response formatting) works end-to-end.

npx vitest run tests/integration/mcp-stdio.test.ts

9 tests · ~3 seconds · per-test temp DB (won't touch your real one).

5. Cross-Language Clients (TCE matrix)

Spec §5.3.2 Tier 2.2 — testing TCE against llama.cpp, Ollama, LM Studio, and llama.cpp's built-in MCP client — belongs to the TCE repo, not tgss-mem. tgss-mem itself targets only Claude Code (stdio) and Claude Web (remote HTTP); adjacent services use the consumer-pattern HTTP API above. When TCE's matrix lands, this section will link to its parity report.

Reference

  • docs/INTEGRATIONS.md — full v2 reference (this page is a live mirror)
  • docs/INTEGRATION_GUIDE.md — original v1 guide (install / build / basic Claude Code)
  • tribernachi/standards/TTI_TOOL_TGSS-MEM-002_V1_0.md — the parent spec
  • tribernachi/standards/TTI_SPEC_FEDERATION-WIRE-001_V0_1.md — federation wire (planned, gates Phase C.4 actual transport)