Skip to main content

Long-term memory for Claude Code, Codex, and other AI coding agents: the Tessera memory MCP server.

Project description

tessera-mcp

MCP server exposing Tessera memory to AI coding agents (Claude Code, Codex).

Install / run

  • With the SDK: pip install tessera-memory[mcp]
  • MCP only (Python): pip install tessera-mcp then tessera-mcp
  • MCP only (Node): npx tessera-mcp
  • Zero-install: uvx --from tessera-mcp tessera-mcp

npm wrapper / uv bootstrap. npx tessera-mcp launches the Python server via uvx. If uv is not on your PATH the wrapper will not silently install it. It prints instructions and exits. To let the wrapper download and run the official uv installer (curl -LsSf https://astral.sh/uv/install.sh | sh, or the PowerShell equivalent on Windows), re-run with TESSERA_AUTO_INSTALL_UV=1. Alternatively install uv yourself from https://astral.sh/uv or use the Python install path above.

Configure (env)

  • TESSERA_API_KEY: your Tessera API key (the tenant/isolation boundary)
  • TESSERA_REPO: repo identity, used as the durable user_id (e.g. repo:my-app)
  • TESSERA_SESSION: optional task/session id
  • TESSERA_RECALL_ON_PROMPT: set 0 to disable per-prompt lesson recall (Claude Code)
  • TESSERA_CONSOLIDATE_TRANSCRIPT: set 1 to enable the Claude Code SessionEnd transcript upload (default off). See the warning below.

Put TESSERA_API_KEY and TESSERA_REPO in the MCP client config (the env block of the server entry, or claude mcp add --env), not your shell. The client stores them and passes them to the server on every launch, so there is no export to re-run each session. See Editor setup below.

Tools

Tool Purpose
memory_recall(query) composed memory context for the repo/task
memory_search(query) raw hybrid search hits (no LLM)
memory_save_lesson(trigger, steps, success) save a reusable lesson
memory_recall_lessons(situation) recall lessons for a situation
memory_note(text) record a durable repo convention

Editor setup

The key lives in the config and is passed on every launch (no shell export).

Claude Code:

claude mcp add --env TESSERA_API_KEY=tsk_live_... --env TESSERA_REPO=repo:my-app \
  --scope user tessera -- uvx --from tessera-mcp tessera-mcp

Cursor / Claude Desktop:

{
  "mcpServers": {
    "tessera": {
      "command": "uvx",
      "args": ["--from", "tessera-mcp", "tessera-mcp"],
      "env": { "TESSERA_API_KEY": "tsk_live_...", "TESSERA_REPO": "repo:my-app" }
    }
  }
}

Codex: copy the [mcp_servers.tessera_memory] block from integrations/codex/config.toml into ~/.codex/config.toml (key goes in its [env] table).

Want session hooks (auto-recall, transcript consolidation) and the using-tessera-memory skill too? Install the all-in-one plugin: /plugin marketplace add harshkedia177/tessera-python then /plugin install tessera-memory@tessera. The plugin reads TESSERA_API_KEY / TESSERA_REPO from the environment, so set those in your shell profile if you use it.

Privacy: the Claude Code SessionEnd hook ships your transcript

The Claude Code SessionEnd hook can upload the entire session transcript (every user + assistant turn) to the memory backend, keyed by repo, where it is later recalled and re-injected into future sessions. Coding transcripts routinely contain secrets (pasted API keys, printed .env files, credentials in command output). Because this upload is automatic, it bypasses the agent's "never store secrets" instruction.

For that reason it is opt-in and off by default:

  • It runs only when TESSERA_CONSOLIDATE_TRANSCRIPT=1.
  • When enabled, a redaction pass strips common secret shapes (KEY=/TOKEN=/ SECRET=/PASSWORD= assignments, sk-/tsk_/ghp_/xox tokens, AWS access keys, Authorization: headers, PEM private-key blocks) before upload.

Redaction is best-effort, not a guarantee. Enable transcript consolidation only against a memory backend you trust with session contents.

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

tessera_mcp-0.1.2.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

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

tessera_mcp-0.1.2-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

File details

Details for the file tessera_mcp-0.1.2.tar.gz.

File metadata

  • Download URL: tessera_mcp-0.1.2.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tessera_mcp-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9ca5efb2b36960add8f5ae404f56858080a633143b9b106b2a8ebb755b9655d1
MD5 71a10df9b0e1f7cc4806eee69703d96c
BLAKE2b-256 0bd5942c6e650b13a5eeae9279e5bcbc0557e06c7a06e733a41d22409512b4d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for tessera_mcp-0.1.2.tar.gz:

Publisher: ci.yml on harshkedia177/tessera-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tessera_mcp-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: tessera_mcp-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tessera_mcp-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8c9e88899f85ff9812fc7119878f62724ac700d97cb9432aadc0861edea9d48f
MD5 2e7f62a1070cc9d561f092da07ec1dbc
BLAKE2b-256 a487c3db7c3a5fb4bce40c7b930c078c5e5730e8310838fc764b00b8f87b06de

See more details on using hashes here.

Provenance

The following attestation bundles were made for tessera_mcp-0.1.2-py3-none-any.whl:

Publisher: ci.yml on harshkedia177/tessera-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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