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-mcpthentessera-mcp - MCP only (Node):
npx tessera-mcp - Zero-install:
uvx --from tessera-mcp tessera-mcp
npm wrapper / uv bootstrap.
npx tessera-mcplaunches the Python server viauvx. Ifuvis 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 withTESSERA_AUTO_INSTALL_UV=1. Alternatively install uv yourself from https://astral.sh/uv or use the Python install path above.
Configure
Two things are handled for you, so setup is one short step:
- Repo isolation is automatic. Memory is namespaced by the git
originremote (owner/repo), falling back to the folder name. You never declare a repo name. - The key is stored once, in a file. Run
tessera-mcp loginand it is saved to~/.tessera/credentials.json— no shellexport, no${VAR}in config, no restart.
tessera-mcp login # prompts for your tsk_live_... key (hidden input)
tessera-mcp login tsk_live_... # or pass it inline
tessera-mcp status # show the detected repo + whether a key is set
Environment overrides (all optional, and they take precedence over the stored values):
TESSERA_API_KEY: API key (overrides the credentials file)TESSERA_REPO: override the auto-detected repo namespaceTESSERA_CONFIG_DIR: directory for the credentials file (default~/.tessera)TESSERA_SESSION: optional task/session idTESSERA_RECALL_ON_PROMPT: set0to disable per-prompt lesson recall (Claude Code)TESSERA_CONSOLIDATE_TRANSCRIPT: set1to enable the Claude Code SessionEnd transcript upload (default off). See the warning 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
Register the server (no secrets in the config), then run tessera-mcp login once.
Claude Code:
claude mcp add --scope user tessera -- uvx --from tessera-mcp tessera-mcp
uvx --from tessera-mcp tessera-mcp login
Cursor / Claude Desktop:
{
"mcpServers": {
"tessera": {
"command": "uvx",
"args": ["--from", "tessera-mcp", "tessera-mcp"]
}
}
}
Codex: copy the [mcp_servers.tessera_memory] block from integrations/codex/config.toml into
~/.codex/config.toml, then run tessera-mcp login.
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, and run tessera-mcp login once. The plugin auto-detects
the repo and reads the stored key — no shell profile edits.
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_/xoxtokens, 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.
Release files for tessera-mcp 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tessera_mcp-0.1.4.tar.gz | 14.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tessera_mcp-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 27.0 kB
Release files / tessera_mcp-0.1.4.tar.gz
| Download URL | tessera_mcp-0.1.4.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
122dba4e513a81a89b1407e9898aa510f0ba05dd9d3a3c7c76ec2f6ce9e2fb2e
|
|
BLAKE2b-256 checksum How to use checksums |
f634b0534c73469f3bfe3b61820a5d897d3da23199fc0ef87105627e79d70714
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 19, 2026.
Transparency logRelease files / tessera_mcp-0.1.4-py3-none-any.whl
| Download URL | tessera_mcp-0.1.4-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
47523adcbe1b44048edec993fbf6dc1cae4fe65349542bfb6bc8a34c1db315ba
|
|
BLAKE2b-256 checksum How to use checksums |
2869a809160e1d3f3f484352431b040d4992b1d29ad0fc5cad145c39f52bb679
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 19, 2026.
Transparency log