Skip to main content
Glama

Your agent already knows how to code. The problem is that it forgets your project.

Snipara gives Claude Code, Codex, Cursor, Gemini CLI, Windsurf, and any MCP client a shared project memory: decisions, changes, relevant code, and work from other agents.

The public server is designed to run on infrastructure you control. Documents, embeddings, memories, logs and usage records stay in your PostgreSQL database. No Snipara Cloud account or hosted service is required for self-hosting.

Get started

The same activation engine works with Snipara Cloud or with an existing local Snipara Server. Both paths seed the project and verify a first Project Brain answer so the first run proves the workflow instead of only installing files.

Cloud

From the project you want to connect:

npx create-snipara@latest

The default path connects to Snipara Cloud, writes the agent MCP configuration, seeds a small README/docs corpus, and verifies a first project-grounded answer.

Self-hosted

Start the server locally, then connect the same activation engine:

./scripts/quickstart.sh
export SNIPARA_LOCAL_API_KEY="<your-local-key>"
npx create-snipara@latest --self-hosted \
  --server-url http://localhost:8000/mcp/local \
  --api-key "$SNIPARA_LOCAL_API_KEY"

Both paths aim to finish with: endpoint connected, repository seed submitted, and first Project Brain answer verified.

Related MCP server: codex-mcp-server

Why it matters

Without Snipara

With Snipara

New session starts from a task description

New session starts from project memory

Agent searches broadly and rediscovers decisions

Agent retrieves decisions, changes, and relevant code

Work from other agents is invisible

Every connected agent can build on the same context

What the Project Brain remembers

  • Decisions — why the project chose a design, dependency, or boundary.

  • Changes — what moved, which files matter, and what another agent already did.

  • Code — relevant project structure, symbols, and impact paths.

  • Memory — durable project context and session continuity.

What is included

  • FastAPI REST and streamable HTTP MCP transport

  • project-local documents, chunks, summaries and embeddings

  • persistent memory, decisions and session context

  • optional code graph and multi-agent coordination tools

  • PostgreSQL + pgvector and Redis local Compose services

  • local API-key authentication and local-only usage tracking

  • tests, Docker build and a reproducible local setup

Public compatibility contract: snipara-server-oss-v2.

What is deliberately excluded

The public server is not the Snipara Cloud application. It does not include the web UI, login/OAuth/device flow, SaaS multi-tenancy, billing, plans, resellers, partners, integrator administration, customer analytics or private deployment secrets.

Those surfaces remain in the private Cloud repository and consume tagged, immutable Snipara Server releases.

Self-hosted quickstart

The one-command bootstrap creates a local API key, starts PostgreSQL, Redis, and Snipara, initializes a local workspace, and prints the MCP endpoint:

./scripts/quickstart.sh

For an explicit, step-by-step setup:

cp .env.example .env
# Replace the placeholder SNIPARA_LOCAL_API_KEY with a long random value.
docker compose up -d --build
docker compose exec -T snipara bash /app/scripts/setup.sh

Check the server:

curl http://localhost:8000/health
curl http://localhost:8000/ready

The local MCP endpoint is http://localhost:8000/mcp/local and the public capability contract is available at http://localhost:8000/capabilities.

Example MCP configuration:

{
  "mcpServers": {
    "snipara": {
      "type": "http",
      "url": "http://localhost:8000/mcp/local",
      "headers": {
        "X-API-Key": "<SNIPARA_LOCAL_API_KEY>"
      }
    }
  }
}

Configuration

Required:

  • DATABASE_URL

  • SNIPARA_LOCAL_API_KEY

Recommended local services:

  • REDIS_URL for distributed rate limits, cache and event streaming

  • CORS_ALLOWED_ORIGINS when a browser client is used

Optional:

  • PRELOAD_EMBEDDINGS=false to load models lazily

  • EMBEDDING_SERVICE_URL for an operator-managed embedding service

  • SENTRY_DSN only when the operator explicitly opts in to external error reporting

  • USAGE_TRACKING_ENABLED=false to disable the local PostgreSQL query ledger

Never put real keys, customer data or provider credentials in Git.

Proof and verification

The public evidence is deliberately split between server verification and product-level evaluation. Product results are not a performance guarantee for every self-hosted deployment; they show the narrower conditions under which Snipara's context and continuity workflows were measured.

This repository

The current public server release has been checked with:

  • 477 Python tests passing, plus the OSS boundary verifier.

  • 102 public MCP tools exposed by the snipara-server-oss-v2 contract, with no Cloud-only routes or external_user_id surface.

  • Docker image, Python package, and Prisma schema validation passing locally.

  • The same lint, test, and Docker build gates run in GitHub Actions.

These are compatibility and release checks, not a claim that a fresh install has been benchmarked on your corpus. Run the boundary check yourself with:

python scripts/verify_oss_boundary.py
pytest -q

Public product evidence

  • Project continuity proof replay: six continuity-heavy coding scenarios, repeated ten times per model. Aggregate passes moved from 25/180 to 179/180 for Codex CLI and from 7/120 to 120/120 for Claude; local models moved from 0/180 to 170/180. The replay measures project-history- dependent work, not generic coding ability, and its negative control is not published yet. See the proof page and the dated evidence summary.

  • Hosted context benchmark: a frozen 12-case GPT-4.1 run measured a mean context of 6,317 tokens versus 32,000 for a fixed first-window baseline (80.26% less), with answer quality 9.15/10 versus 8.30/10 and factual accuracy 93.0% versus 69.9%. It is one run per task, not a universal model leaderboard. Recompute the committed result with the standard-library verifier in the public benchmark pack.

Development

python -m pip install -e ".[dev]"
prisma generate --schema prisma/schema.prisma
DATABASE_URL="postgresql://..." prisma validate --schema prisma/schema.prisma
ruff check src tests
pytest -q

prisma db push is supported by scripts/init-db.sh for a fresh local database only. Production Cloud schema changes use the private migration path.

License

Snipara Server is licensed under Apache-2.0. See LICENSE and docs/LICENSING.md.

Documentation

Related MCP Connectors

Related MCP Servers