Skip to main content

MCP connector for Snipara project memory and context optimization

Project description

snipara-mcp

PyPI version Python 3.10+ License: MIT

snipara-mcp is the lightweight stdio MCP connector for Snipara project memory and context optimization.

Memory belongs to the project, not the model.

Use it when an MCP client needs a local stdio process that talks to Snipara's hosted project memory and context optimization APIs. If your client supports streamable HTTP MCP directly, prefer the hosted endpoint and skip the local process.

What Is Snipara?

Snipara is project-scoped persistent context for AI-assisted work.

It gives Claude Code, Cursor, Codex, OpenAI Agents, and other MCP-compatible clients a shared memory layer that survives sessions, users, tools, and model switches.

Your agent still uses its own LLM. Snipara gives it the right project context: source-backed docs, reviewed memory, shared guidance, and code graph structure.

Why MCP?

MCP is becoming a standard adapter layer for agent tools. snipara-mcp makes Snipara available through that layer without forcing developers into a specific IDE, model, or orchestration framework.

The integration should feel small:

uvx snipara-mcp

The impact is larger: agents can retrieve durable project context instead of starting cold every session.

What It Unlocks

Need Snipara MCP tool group
Ask project docs a source-backed question rlm_context_query, rlm_get_chunk
Recall durable decisions and learnings rlm_recall
Persist reusable memory after a task rlm_remember, rlm_end_of_task_commit
Reuse team standards and shared guidance rlm_shared_context
Inspect structural code relationships rlm_code_callers, rlm_code_imports, rlm_code_neighbors
Plan risky code changes rlm_code_symbol_card, rlm_code_impact on paid Context plans

Architecture

flowchart LR
    Agents["Claude Code, Cursor, Codex, ChatGPT, OpenAI agents"] --> Stdio["snipara-mcp stdio process"]
    Stdio --> Hosted["Hosted Snipara MCP API"]
    Hosted --> Context["Context engine"]
    Hosted --> Memory["Project memory"]
    Hosted --> Graph["Code graph"]
    Context --> AgentLLM["Agent's own LLM"]
    Memory --> AgentLLM
    Graph --> AgentLLM

Hosted HTTP Or Stdio?

Use the hosted HTTP endpoint when your MCP client supports streamable HTTP:

{
  "mcpServers": {
    "snipara": {
      "type": "http",
      "url": "https://api.snipara.com/mcp/your-project-id-or-slug",
      "headers": {
        "Authorization": "Bearer snp-your-key"
      }
    }
  }
}

Use snipara-mcp when your client expects a local stdio command:

{
  "mcpServers": {
    "snipara": {
      "command": "uvx",
      "args": ["snipara-mcp"],
      "env": {
        "SNIPARA_API_KEY": "snp-your-key",
        "SNIPARA_PROJECT_ID": "your-project-id-or-slug"
      }
    }
  }
}

Decision rule:

  • HTTP MCP first for modern clients
  • snipara-mcp for stdio-only clients or local compatibility
  • create-snipara when you want guided setup across clients and templates

Install

No local install:

uvx snipara-mcp

Python package:

pip install snipara-mcp

With RLM Runtime helper integration:

pip install "snipara-mcp[rlm]"

Quickstart

Sign in through the browser:

pip install snipara-mcp
snipara login

Initialize a project:

snipara init

The initializer detects common project files, writes MCP configuration, and can upload local project docs when you are authenticated.

Useful options:

snipara init --slug my-project
snipara init --dry-run
snipara init --no-upload
snipara init --skip-test

Claude Code

claude mcp add snipara uvx snipara-mcp

Then export credentials in your shell:

export SNIPARA_API_KEY="snp-your-key"
export SNIPARA_PROJECT_ID="your-project-id-or-slug"

Cursor

Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "snipara": {
      "command": "uvx",
      "args": ["snipara-mcp"],
      "env": {
        "SNIPARA_API_KEY": "snp-your-key",
        "SNIPARA_PROJECT_ID": "your-project-id-or-slug"
      }
    }
  }
}

Environment

Variable Required Description
SNIPARA_API_KEY Yes, unless using snipara login Snipara API key
SNIPARA_PROJECT_ID Yes, unless using SNIPARA_PROJECT_SLUG Project identifier
SNIPARA_PROJECT_SLUG Yes, unless using SNIPARA_PROJECT_ID Project slug
SNIPARA_API_URL No Defaults to https://api.snipara.com

OAuth tokens created by snipara login are stored in ~/.snipara/tokens.json. If a project id or slug is set, the connector selects the matching token and does not silently fall back to another project.

What You Get

The connector exposes the same MCP contract as the hosted backend. The packaged tool surface is generated from the server source of truth.

Common tool groups:

  • retrieval: rlm_context_query, rlm_search, rlm_get_chunk, rlm_load_document
  • durable memory: rlm_recall, rlm_remember, rlm_memory_compact
  • shared context: rlm_shared_context, collection and template tools
  • document upload: rlm_upload_document, rlm_sync_documents
  • project setup: client, project, and business-context workspace tools
  • operations: rlm_settings, rlm_index_health, rlm_reindex
  • code graph: rlm_code_* tools when code indexes are available
  • coordination: swarm, hierarchical task, and state tools when enabled

Tool availability can vary by plan, hosted deployment, and project index state.

CLI Commands

Command Description
snipara login Browser login and token setup
snipara init Initialize Snipara in the current project
snipara logout Clear stored tokens
snipara status Show auth and project status
snipara-mcp Run the MCP stdio server

Legacy aliases such as snipara-init, snipara-mcp-login, snipara-mcp-logout, and snipara-mcp-status are still supported.

Relationship To Other Repos

Repo Role
Snipara/snipara-server Hosted and self-hosted server surface
alopez3006/snipara-mcp This stdio connector package
Snipara/snipara-memory Open memory primitives and schema

snipara-mcp is intentionally thin. It should be easy to install, easy to audit, and boring to operate. The heavy lifting stays in Snipara's hosted context and memory engine.

Development

pip install -e ".[dev]"
pytest
ruff check .

The source of truth for the generated tool contract lives in the Snipara server. When backend tools change, regenerate the packaged contract before publishing this package.

License

MIT. See LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

snipara_mcp-2.8.9.tar.gz (102.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

snipara_mcp-2.8.9-py3-none-any.whl (100.2 kB view details)

Uploaded Python 3

File details

Details for the file snipara_mcp-2.8.9.tar.gz.

File metadata

  • Download URL: snipara_mcp-2.8.9.tar.gz
  • Upload date:
  • Size: 102.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for snipara_mcp-2.8.9.tar.gz
Algorithm Hash digest
SHA256 ec08efecde389f2f1d15d580a4ba369ab2fb3ee7f3b268257fda9a3e9f83f4b1
MD5 be9496dcdec9e9c723016cb4a8db2a5f
BLAKE2b-256 4f3a5bc1838fe653276f69fe694811c5218d1a1e5655b7a9dc05b21b7531acf6

See more details on using hashes here.

File details

Details for the file snipara_mcp-2.8.9-py3-none-any.whl.

File metadata

  • Download URL: snipara_mcp-2.8.9-py3-none-any.whl
  • Upload date:
  • Size: 100.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for snipara_mcp-2.8.9-py3-none-any.whl
Algorithm Hash digest
SHA256 6002d262a5e0d1d65742b1d6222cd93d7180b4bf3fab03ca190a66b2352ec508
MD5 7a1930e821837e00759ebd66208744d6
BLAKE2b-256 579bee714d1a39f54c242faa08cb5020d2ab02cdf62f9077fdfc9d39fd10dc42

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page