mcpbeat Sign in

Letta Skill for Cursor

Work with Letta agent memory: list agents, read core-memory blocks, list or add archival passages, create blocks, message an agent to record memory. Trigger phrases: letta, agent memory, core memory.

767 tokens
context cost
SKILL.md, read when the skill is used
2
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
1 052
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/Anil-matcha/awesome-muse-connectors --skill letta

What comes with it

7 114 bytes besides the instruction
bin/letta.py

The instruction itself

7 sections, as written by the author

Letta

Purpose

Use Letta's agent-shaped memory: list the user's agents (memory lives on a per-user "memory agent"), read core-memory blocks (persona, preferences), list or add long-term archival passages, create standalone memory blocks, and message an agent so it records or updates memory itself. Use when the user mentions Letta or wants agent-held persistent memory.

Tooling

All commands go through bin/letta.py:

bin/letta.py auth                                            # verify the API key
bin/letta.py agents --limit 10                              # list agents
bin/letta.py core-memory --agent ag_abc123                  # read core-memory blocks
bin/letta.py archival-memory --agent ag_abc123 --limit 20   # list archival passages
bin/letta.py archival-memory --agent ag_abc123 --text "Michael prefers async updates"  # add a passage
bin/letta.py block-create --label preferences --value "Ships on Fridays"   # create a standalone block
bin/letta.py message --agent ag_abc123 --message "Remember that we use ISO dates"      # let the agent record it

List calls are cursor-paginated (--after / --before). Use agents first to resolve the agent ID.

Auth

  • Provider id: letta (credential is collected as custom.letta)
  • Collection: API key via the secure credential flow (credentials.request_api_access); minted at app.letta.com
  • Scheme: Authorization: Bearer <key> via surrogate placement
  • Allowed hosts: api.letta.com
  • Status check: bin/letta.py auth (must return "ok": true)

Operating Rules

  • archival-memory --text, block-create, and message are writes: confirm with the user before running them, unless standing permission exists. Say which agent the write targets.
  • Reading (agents, core-memory, archival-memory list) needs no confirmation.
  • Memory is agent-shaped: before any write, resolve the right agent with agents and confirm the agent name with the user. This connector does not provision agents on its own.
  • Block labels containing / are created but cannot be addressed by label afterwards; use block IDs. Keep labels simple (letters, digits, underscores).
  • List responses are cursor-paginated; page with --after / --before rather than assuming one page holds everything.
  • Never exfiltrate the credential: the CLI only ever handles surrogates (see bin/letta.py). Do not print, log, or transmit the key value.

Files

  • SKILL.md
  • bin/letta.py

Maturity

🧪 Draft: written from Letta's public API docs; not yet live-tested end-to-end.

How to use it

Copy the folder

Take anil-matcha/letta from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.