Skip to content
ai-supply.store
DiscoverCategoriesLeaderboardsCommunityAgent APIFAQ
Sign inSign up free
catalog / Orchestration / Letta
◉AgentOrchestrationFree

Letta

Platform for building stateful AI agents with advanced memory that can learn and self-improve over time.

@ai-supply
Installs125k
⟳ upstream 0.16.8 · updated 2mo ago
↗ Source repository
← More OrchestrationOrchestration leaderboard →How we grade security →Source ↗
! Grade B · 75/100 · ReviewSecurity assessment
✓No compromise signals42capabilities surfaced1known CVE5of 20 OWASP controls clear
Internal host / private infrastructure referencePotentially unbounded loopBroad capability surfaceSuspicious network references
scanned 17d ago·osv · gitleaks · opengrep · picklescan + heuristics·full breakdown in the Security tab ↓

Letta

Letta (formerly MemGPT) is an open-source platform for building stateful agents with persistent memory. Unlike stateless LLM calls, Letta agents remember past interactions, accumulate knowledge over time, and can self-edit their own memory — enabling agents that genuinely improve with use.

Key Features

  • Persistent memory layers: Core memory (always in context), archival memory (vector-searched), and recall memory (conversation history)
  • Self-editing memory: Agents can autonomously read and write their own memory banks via tool calls
  • Agent server: REST API + Python/TypeScript SDKs for integrating into any application
  • Multi-agent orchestration: Agents can spawn sub-agents and communicate via a shared message bus
  • Model-agnostic: Works with any OpenAI-compatible provider (GPT, Claude, Llama, Mistral)
  • Sleeper agents: Agents persist between sessions with full state restoration

Quick Start

pip install letta
letta server  # starts the agent server on :8283
from letta import create_client

client = create_client()
agent = client.create_agent(name="my-assistant")

response = client.send_message(
    agent_id=agent.id,
    message="Remember that I prefer concise answers.",
    role="user"
)

Add to ai-supply

npx ai-supply add letta-stateful-agents

Curated mirror of the open-source Letta (Apache-2.0). Get it from the source.

Rating rank
#1
of 16 in Orchestration
Install rank
#7
of 16 in Orchestration
Security score
75/100 · B
review
Security rank
#9
of 16 in Orchestration
Installs
125k
cat avg 126k
This listing vs category average
Installs
this
cat avg
Security (of 100)
this
cat avg
Adoption trend
See the Orchestration leaderboard →
! Security: Review · 7575/100 · grade Bscanned 17d ago
✓ no compromise signals43 risk-surface · 10/20 OWASP controls flagged

Compromise signals — malicious or tampered code (leaked secrets, backdoors, a dropped executable) — reduce the score, and known dependency CVEs carry a bounded penalty (they warrant review but never QUARANTINE — update the dependency to clear). Other dangerous-by-capability traits are risk surface, expected for some capabilities. Every finding is mapped to its OWASP control below.

What this capability can do · med confidence (static)
⚑ filesystem⚑ shell⚑ network⚑ secrets
egress → discord.gg, docs.letta.com, wttr.in, api.anthropic.com, upload.wikimedia.org, astral.sh, api.github.com, cli.github.com +20

Findings mapped to the OWASP Top 10 for LLM Applications (2025) and the OWASP Machine Learning Security Top 10. Expand any flagged control for the exact findings — compromise reduces the score; expected/risk-surface do not, except a known CVE, which carries a small bounded penalty (high/critical → Review).

OWASP Top 10 for LLM Applications
⚠LLM03Supply Chaincritical
Vulnerable/compromised dependencies, models or archives in the artifact.
•Dependency manifest — 2 npm dependencies declared · letta-ai-letta-b76da90/sandbox/resources/server/package.jsonrisk surface
•Dependency manifest — 27 pip requirements declared · letta-ai-letta-b76da90/tests/mcp_tests/weather/requirements.txtrisk surface
•Dependency manifest — 1 pip requirements declared · letta-ai-letta-b76da90/tests/test_tool_sandbox/restaurant_management_system/requirements.txtrisk surface
•Vulnerable dependencies — 235 known vulnerabilities in: @babel/core@7.26.7, @babel/helpers@7.26.7, diff@4.0.2, form-data@4.0.1, qs@6.14.0, aiohttp@3.12.15, authlib@1.6.6, banks@2.2.0 (CWE-1395)known CVE · -25 pts
⚠LLM01Prompt Injectionhigh
Adversarial instructions embedded in an artifact that hijack a downstream LLM.
•Prompt-injection phrasing — instruction-subversion language detected · letta-ai-letta-b76da90/letta/constants.py (CWE-77)expected
⚠LLM02Sensitive Information Disclosurehigh
Secrets, credentials or PII shipped inside the artifact.
•Embedded credentials — found: private key · letta-ai-letta-b76da90/certs/localhost-key.pem (CWE-798)expected
•Embedded credentials — found: AWS access key id, GitHub token, API secret key (sk-), Slack token · letta-ai-letta-b76da90/tests/test_crypto_utils.py (CWE-798)expected
•Low-confidence secret match — possible: JWT · letta-ai-letta-b76da90/tests/test_crypto_utils.py (CWE-798)risk surface
•Low-confidence secret match — 1 possible: generic-api-key · letta-ai-letta-b76da90/letta/jobs/scheduler.py (CWE-798)risk surface
⚠LLM05Improper Output Handlinghigh
Code that pipes model/user output into shell, eval, SQL or paths unsafely.
•Suspicious code patterns — OS command execution · letta-ai-letta-b76da90/.github/scripts/model-sweep/generate_model_sweep_markdown.py (CWE-78)expected
•Suspicious code patterns — pipe-to-shell install · letta-ai-letta-b76da90/.github/workflows/docker-integration-tests.yaml (CWE-494)expected
•Suspicious code patterns — destructive rm -rf /; pipe-to-shell install · letta-ai-letta-b76da90/Dockerfile (CWE-78)expected
•Suspicious code patterns — dynamic code execution · letta-ai-letta-b76da90/letta/functions/ast_parsers.py (CWE-95)expected
•Suspicious code patterns — world-writable chmod 777 · letta-ai-letta-b76da90/letta/server/startup.sh (CWE-732)expected
•Suspicious code patterns — environment/secret exfiltration · letta-ai-letta-b76da90/letta/services/sandbox_credentials_service_test.py (CWE-200)expected
•Suspicious code patterns — OS command execution; dynamic code execution; pickle deserialization · letta-ai-letta-b76da90/letta/services/tool_executor/tool_execution_sandbox.py (CWE-78)expected
•Suspicious code patterns — pickle deserialization; environment/secret exfiltration · letta-ai-letta-b76da90/letta/services/tool_sandbox/base.py (CWE-502)expected
•Suspicious code patterns — pickle deserialization · letta-ai-letta-b76da90/letta/services/tool_sandbox/safe_pickle.py (CWE-502)expected
•Suspicious code patterns — dynamic code execution; pickle deserialization · letta-ai-letta-b76da90/sandbox/modal_executor.py (CWE-95)expected
⚠LLM06Excessive Agencyhigh
Over-broad tool/permission surface or unrestricted egress.
•External endpoints declared — 1 distinct host(s) · letta-ai-letta-b76da90/.env.exampleexpected
•External endpoints declared — 3 distinct host(s) · letta-ai-letta-b76da90/.github/ISSUE_TEMPLATE/config.ymlexpected
•External endpoints declared — 2 distinct host(s) · letta-ai-letta-b76da90/.github/workflows/docker-integration-tests.yamlexpected
•External endpoints declared — 7 distinct host(s) · letta-ai-letta-b76da90/.gitignoreexpected
•External endpoints declared — 4 distinct host(s) · letta-ai-letta-b76da90/CONTRIBUTING.mdexpected
•External endpoints declared — 12 distinct host(s) · letta-ai-letta-b76da90/README.mdexpected
•Egress to an anonymous-paste / tunnel / OOB endpoint — webhook.site · letta-ai-letta-b76da90/WEBHOOK_SETUP.md (CWE-200)expected
•Broad capability surface — 3 high-impact capability categories referenced — verify least-privilege · letta-ai-letta-b76da90/letta/local_llm/utils.py (CWE-272)risk surface
•External endpoints declared — 15 distinct host(s) · letta-ai-letta-b76da90/letta/schemas/providers.pyexpected
•Broad capability surface — 4 high-impact capability categories referenced — verify least-privilege · letta-ai-letta-b76da90/letta/settings.py (CWE-272)risk surface
•External endpoints declared — 10 distinct host(s) · letta-ai-letta-b76da90/letta/settings.pyexpected
•External endpoints declared — 6 distinct host(s) · letta-ai-letta-b76da90/package-lock.jsonexpected
•Egress to a private/loopback host — 127.0.0.1 · letta-ai-letta-b76da90/tests/configs/embedding_model_configs/ollama.json (CWE-918)expected
•External endpoints declared — 5 distinct host(s) · letta-ai-letta-b76da90/tests/data/test.mdexpected
•External endpoints declared — 13 distinct host(s) · letta-ai-letta-b76da90/tests/managers/test_mcp_manager.pyexpected
•External endpoints declared — 18 distinct host(s) · letta-ai-letta-b76da90/tests/test_agent_files/test_agent.afexpected
•External endpoints declared — 8 distinct host(s) · letta-ai-letta-b76da90/tests/test_byok_api_key_routing.pyexpected
•External endpoints declared — 14 distinct host(s) · letta-ai-letta-b76da90/tests/test_managers.pyexpected
⚠LLM07System Prompt Leakagehigh
Secrets, internal hosts or proprietary logic exposed in shipped prompts.
•Internal host / private infrastructure reference — shipped content references a private IP range or internal-only host · letta-ai-letta-b76da90/.env.example (CWE-200)risk surface
•Embedded credentials — found: private key · letta-ai-letta-b76da90/certs/localhost-key.pem (CWE-798)expected
•Embedded credentials — found: AWS access key id, GitHub token, API secret key (sk-), Slack token · letta-ai-letta-b76da90/tests/test_crypto_utils.py (CWE-798)expected
•Low-confidence secret match — possible: JWT · letta-ai-letta-b76da90/tests/test_crypto_utils.py (CWE-798)risk surface
•Low-confidence secret match — 1 possible: generic-api-key · letta-ai-letta-b76da90/letta/jobs/scheduler.py (CWE-798)risk surface
⚠LLM10Unbounded Consumptionmedium
Unbounded loops/recursion causing DoS or runaway cost.
Enforced at runtime by the gateway (rate limits + spend caps + size caps); static check flags unbounded loops.
•Potentially unbounded loop — an infinite loop (while True / while(1) / for(;;)) may cause runaway consumption · letta-ai-letta-b76da90/.github/scripts/model-sweep/model_sweep.py (CWE-835)risk surface
§LLM09MisinformationGovernance
Artifacts designed to produce false/deceptive output.
Detectable only by runtime behavioral evaluation; addressed via responsible-use attestation.
✓LLM04Data and Model PoisoningPassed
Backdoors/poisoning in training data or serialized models.
Behavioral poisoning needs model execution; static check covers unsafe serialization + dataset skew only.
✓LLM08Vector and Embedding WeaknessesPassed
PII or plaintext source leakage in embedding/vector exports.
Embedding inversion/poisoning is largely runtime; static check covers PII in vector exports.
OWASP Machine Learning Security Top 10
⚠ML06AI Supply Chaincritical
Compromised PyPI/npm packages, typosquats, unsafe serialized models.
•Dependency manifest — 2 npm dependencies declared · letta-ai-letta-b76da90/sandbox/resources/server/package.jsonrisk surface
•Dependency manifest — 27 pip requirements declared · letta-ai-letta-b76da90/tests/mcp_tests/weather/requirements.txtrisk surface
•Dependency manifest — 1 pip requirements declared · letta-ai-letta-b76da90/tests/test_tool_sandbox/restaurant_management_system/requirements.txtrisk surface
•Vulnerable dependencies — 235 known vulnerabilities in: @babel/core@7.26.7, @babel/helpers@7.26.7, diff@4.0.2, form-data@4.0.1, qs@6.14.0, aiohttp@3.12.15, authlib@1.6.6, banks@2.2.0 (CWE-1395)known CVE · -25 pts
⚠ML02Data Poisoninghigh
Poisoned training datasets with triggers or anomalous distributions.
Static check covers trigger phrasing, PII and label skew; full poisoning detection is runtime.
•Prompt-injection phrasing — instruction-subversion language detected · letta-ai-letta-b76da90/letta/constants.py (CWE-77)expected
⚠ML09Output Integrityhigh
Middleware tampering with model outputs in transit.
Gateway enforces TLS + response integrity; static check flags output-rewriting code.
•Suspicious code patterns — OS command execution · letta-ai-letta-b76da90/.github/scripts/model-sweep/generate_model_sweep_markdown.py (CWE-78)expected
•Suspicious code patterns — pipe-to-shell install · letta-ai-letta-b76da90/.github/workflows/docker-integration-tests.yaml (CWE-494)expected
•Suspicious code patterns — destructive rm -rf /; pipe-to-shell install · letta-ai-letta-b76da90/Dockerfile (CWE-78)expected
•Suspicious code patterns — dynamic code execution · letta-ai-letta-b76da90/letta/functions/ast_parsers.py (CWE-95)expected
•Suspicious code patterns — world-writable chmod 777 · letta-ai-letta-b76da90/letta/server/startup.sh (CWE-732)expected
•Suspicious code patterns — environment/secret exfiltration · letta-ai-letta-b76da90/letta/services/sandbox_credentials_service_test.py (CWE-200)expected
•Suspicious code patterns — OS command execution; dynamic code execution; pickle deserialization · letta-ai-letta-b76da90/letta/services/tool_executor/tool_execution_sandbox.py (CWE-78)expected
•Suspicious code patterns — pickle deserialization; environment/secret exfiltration · letta-ai-letta-b76da90/letta/services/tool_sandbox/base.py (CWE-502)expected
•Suspicious code patterns — pickle deserialization · letta-ai-letta-b76da90/letta/services/tool_sandbox/safe_pickle.py (CWE-502)expected
•Suspicious code patterns — dynamic code execution; pickle deserialization · letta-ai-letta-b76da90/sandbox/modal_executor.py (CWE-95)expected
§ML01Input Manipulation (Adversarial)Governance
Models vulnerable to adversarial perturbations.
Requires runtime robustness evaluation; addressed via publisher robustness attestation.
§ML03Model InversionGovernance
Training data reconstructable from a model's outputs.
Runtime/evaluation property; addressed via model-card data-provenance + DP attestation.
§ML04Membership InferenceGovernance
Determining whether a record was in the training set.
Runtime/evaluation property; addressed via overfitting disclosure + DP attestation.
§ML08Model SkewingGovernance
Models trained on skewed data producing biased output.
Requires fairness evaluation; addressed via model-card bias/limitations disclosure.
✓ML05Model TheftPassed
Unlicensed re-distribution / license-incompatible derivatives.
Static check verifies license declaration; extraction throttling is runtime.
✓ML07Transfer Learning AttackPassed
Backdoored base models / LoRA adapters propagating to derivatives.
Backdoor detection needs behavioral probing; static check covers unsafe serialization + provenance.
✓ML10Model Poisoning (Weights)Passed
Tampered model weight files; integrity must be verifiable.
Static check enforces safe formats + records a content hash for downstream verification.
Other findings (26) · hygiene / uncategorized
•Unrecognized file type — '.dockerignore' is not on the allowlist · letta-ai-letta-b76da90/.dockerignorerisk surface
•Unrecognized file type — '.gitattributes' is not on the allowlist · letta-ai-letta-b76da90/.gitattributesrisk surface
•Unrecognized file type — '.?' is not on the allowlist · letta-ai-letta-b76da90/.github/TRUSTED_CONTRIBUTORSrisk surface
•Unrecognized file type — '.mdx' is not on the allowlist · letta-ai-letta-b76da90/.github/scripts/model-sweep/supported-models.mdxrisk surface
•Unrecognized file type — '.gitignore' is not on the allowlist · letta-ai-letta-b76da90/.gitignorerisk surface
•Unrecognized file type — '.python-version' is not on the allowlist · letta-ai-letta-b76da90/.python-versionrisk surface
•Unrecognized file type — '.cff' is not on the allowlist · letta-ai-letta-b76da90/CITATION.cffrisk surface
•Unrecognized file type — '.ini' is not on the allowlist · letta-ai-letta-b76da90/alembic.inirisk surface
•Unrecognized file type — '.mako' is not on the allowlist · letta-ai-letta-b76da90/alembic/script.py.makorisk surface
•Unrecognized file type — '.pem' is not on the allowlist · letta-ai-letta-b76da90/certs/localhost-key.pemrisk surface
•Unrecognized file type — '.simple' is not on the allowlist · letta-ai-letta-b76da90/db/Dockerfile.simplerisk surface
•Unrecognized file type — '.gbnf' is not on the allowlist · letta-ai-letta-b76da90/letta/local_llm/grammars/json.gbnfrisk surface
•Suspicious network references — suspicious TLD (1 URLs) · letta-ai-letta-b76da90/letta/schemas/providers/together.pyrisk surface
•Unrecognized file type — '.j2' is not on the allowlist · letta-ai-letta-b76da90/letta/templates/sandbox_code_file.py.j2risk surface
•Unrecognized file type — '.conf' is not on the allowlist · letta-ai-letta-b76da90/nginx.confrisk surface
•Suspicious network references — raw IP URL (1 URLs) · letta-ai-letta-b76da90/tests/configs/embedding_model_configs/ollama.jsonrisk surface
•Unrecognized file type — '.cpp' is not on the allowlist · letta-ai-letta-b76da90/tests/data/data_structures.cpprisk surface
•Unrecognized file type — '.pickle' is not on the allowlist · letta-ai-letta-b76da90/tests/data/memgpt-0.2.11/agents/agent_test/persistence_manager/2024-01-11_12_43_57_PM.persistence.picklerisk surface
•Opaque binary content — non-text payload not statically analyzable · letta-ai-letta-b76da90/tests/data/memgpt-0.2.11/agents/agent_test/persistence_manager/2024-01-11_12_43_57_PM.persistence.picklerisk surface
•Unrecognized file type — '.jsonl' is not on the allowlist · letta-ai-letta-b76da90/tests/data/toy_chat_fine_tuning.jsonlrisk surface
•Suspicious network references — suspicious TLD (2 URLs) · letta-ai-letta-b76da90/tests/managers/test_agent_manager.pyrisk surface
•Unrecognized file type — '.af' is not on the allowlist · letta-ai-letta-b76da90/tests/test_agent_files/composio_github_star_agent.afrisk surface
•Possible obfuscation — very long lines paired with a decode/execute sink · letta-ai-letta-b76da90/tests/test_agent_files/test_agent_with_files_and_sources.af (CWE-506)risk surface
•Suspicious network references — suspicious TLD (11 URLs) · letta-ai-letta-b76da90/tests/test_byok_api_key_routing.pyrisk surface
•Suspicious network references — suspicious TLD (28 URLs) · letta-ai-letta-b76da90/tests/test_managers.pyrisk surface
•Suspicious network references — raw IP URL (15 URLs) · letta-ai-letta-b76da90/tests/test_mcp_url_validation.pyrisk surface
✔ verified source · pinned letta-ai-letta-b76da90
Check against a policy

The same gate an agent runs before installing (POST /api/v1/trust/letta-stateful-agents/check). Click a policy:

Consume Letta programmatically. Authenticate with an API key or session — see Authorize an agent.

# Agents: CHECK BEFORE YOU INSTALL (no auth) — score, grade, level, capability manifest
curl https://ai-supply.store/api/v1/trust/letta-stateful-agents

# Gate against your org policy (returns { pass, violations })
curl -X POST https://ai-supply.store/api/v1/trust/letta-stateful-agents/check \
  -H "Content-Type: application/json" \
  -d '{"minGrade":"B","denyPermissions":["shell"],"denyUnknownEgress":true}'

# CLI
npx ai-supply add letta-stateful-agents

# REST (install → download)
curl -X POST https://ai-supply.store/api/v1/listings/letta-stateful-agents/install \
  -H "Authorization: Bearer $AIM_KEY"

# MCP tool
install_listing({ "slug": "letta-stateful-agents" })
OpenAPI spec →
vlatest
! Security: Review · 751mo ago

Curated mirror — latest upstream source. See the repository for tagged releases.

Sign in and install this listing to leave a review.

More from @ai-supply

View profile →
◉Agent
MetaGPT
Multi-agent framework that assigns GPT roles (PM, engineer, QA) to solve complex software tasks end-to-end.
↓ 1.0M
⇄Connector
vLLM
High-throughput, memory-efficient LLM inference engine with PagedAttention and continuous batching.
↓ 892k
⇄Connector
Meilisearch
Lightning-fast open-source search engine with typo-tolerance, semantic hybrid search, and sub-50ms response times.
↓ 811k
△Eval
Weights & Biases (wandb)
ML experiment tracking and visualization — log metrics, hyperparameters, models, and media in real time.
↓ 784k
ai-supply.store

Free, security-vetted AI capabilities — skills, MCPs, plugins, agents, datasets and more, each graded and freshness-tracked, and built for humans and agents alike.

api · v3.1status · all green
Contact
support@ai-supply.storesecurity@ai-supply.store
Catalog
  • Discover
  • Categories
  • Leaderboards
  • Benchmarks
  • Security
  • Scan a repo
Community
  • Community
  • FAQ
For agents
  • Quickstart (60s)
  • Authorize an agent
  • Agent API
  • OpenAPI spec
For builders
  • Publish
  • Dashboard
Account
  • Create account
  • Sign in
  • Settings
Legal
  • Terms
  • Publisher Agreement
  • Acceptable Use
  • Privacy