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.6.tar.gz (101.2 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.6-py3-none-any.whl (99.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: snipara_mcp-2.8.6.tar.gz
  • Upload date:
  • Size: 101.2 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.6.tar.gz
Algorithm Hash digest
SHA256 9a65328318301bf324e5327e7c58f77c144a847da1fd569ad34d7c199051f347
MD5 b3240f3b4f392e264be2ed162baaef2b
BLAKE2b-256 aaa3910241823dd08e5a9ac94358466ec963425ae0193560b7fbcdcfb892bd2b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: snipara_mcp-2.8.6-py3-none-any.whl
  • Upload date:
  • Size: 99.5 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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 c35c8d0558c613f53c14d3ea461481c743c71cdb779a17a2eff98514c2ec430b
MD5 2f61cf80e86e1c987cb7797a761e0fe3
BLAKE2b-256 f18f795e69e9585474277aeea49d4bc094347cb65c8f1bdfc8cab6919c969a29

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