acquiring-skills
Discover and install skills from Hermes, ClawHub, GitHub, and other registries. Load this skill whenever a user asks for a…
Reference for finding and invoking MCP tools, plus discovering and managing durable Letta Cloud events for attached managed MCP connections. Use for `letta mcp` browsing/search/calls, large or file-based arguments, MCP troubleshooting, or provider trigger subscriptions delivered
Claude Code
$ npx -y skills add letta-ai/letta-code --skill using-mcp-tools --agent claude-code
Codex
$ npx skills add letta-ai/letta-code --skill using-mcp-tools -a codex -y
Cursor
$ npx skills add letta-ai/letta-code --skill using-mcp-tools -a cursor -y
Gemini CLI
$ npx skills add letta-ai/letta-code --skill using-mcp-tools -a gemini-cli -y
GitHub Copilot
$ npx skills add letta-ai/letta-code --skill using-mcp-tools -a github-copilot -y
OpenCode
$ npx skills add letta-ai/letta-code --skill using-mcp-tools -a opencode -y
Windsurf
$ npx skills add letta-ai/letta-code --skill using-mcp-tools -a windsurf -y
name: using-mcp-tools description: Reference for finding and invoking MCP tools, plus discovering and managing durable Letta Cloud events for attached managed MCP connections. Use for `letta mcp` browsing/search/calls, large or file-based arguments, MCP troubleshooting, or provider trigger subscriptions delivered to agent webhooks.
`letta mcp` gives the agent one unified view of every MCP server it can reach: servers connected to the agent in Letta Cloud and servers configured locally on this machine. It works from any surface where the agent runs — cloud sandboxes (chat.letta.com), Letta Desktop, and terminals. All output is JSON.
letta mcp list # servers: [{name, transport}]
letta mcp get <server> # one server's connection configuration (credentials redacted)
letta mcp tools [server] # tool names + descriptions only
letta mcp tools [server] --full # ...including every tool's complete schema
letta mcp schema <tool-name> # one tool's complete schema
letta mcp search <query> [--mode] [--limit] # ranked tool schemas: [{tool, rank, score}]
letta mcp call <tool-name> [--args | --args-file] # run a tool, print a CallToolResultEvery command accepts `--agent <id>`, defaulting to `LETTA_AGENT_ID`/`AGENT_ID` — do not pass it unless targeting another agent.
For a named, Letta-managed MCP connection, Letta Cloud can keep a provider trigger subscription active after the current turn, process, or agent computer stops. Provider events are delivered only to an existing public Cloud webhook owned by the same agent. The provider credential stays server-side; never ask the user for it or try to expose it to the sandbox.
This is **not the MCP Events protocol**. MCP Events is still a draft MCP proposal for protocol-level event delivery between MCP clients and servers. The commands below manage Letta Cloud's provider-backed trigger subscriptions outside the MCP transport. Do not describe a successful subscription as MCP Events support or assume a draft MCP Events client/server contract.
Use the bundled helper. It is restricted to `AGENT_ID` and does not accept an agent override:
node <SKILL_DIR>/scripts/manage-managed-events.mjs <command> [options]
The active runtime supplies `LETTA_API_KEY`, `LETTA_BASE_URL`, and `AGENT_ID`. Do not print those values. The helper rejects redirects, caps JSON files and responses at 1 MiB, and requires `--confirm` for subscribe/cancel mutations.
1. Discover attached MCP connection identifiers. Do not guess IDs:
node <SKILL_DIR>/scripts/manage-managed-events.mjs connections
Each result provides `service_id` and `mcp_server_id`. A custom or provider-incompatible MCP server can still appear here; `types` is the authoritative capability check.
2. Discover provider trigger types and inspect their `config` schema:
node <SKILL_DIR>/scripts/manage-managed-events.mjs types \
--service-id <service_id> --server-id <mcp_server_id> --limit 50Follow `next_cursor` until null when more pages are present.
3. List existing subscriptions before creating one, to avoid accidental duplicates:
node <SKILL_DIR>/scripts/manage-managed-events.mjs list \
--service-id <service_id> --server-id <mcp_server_id> --limit 504. Choose an existing **public** Cloud webhook owned by this agent. Load the `managing-agent-webhooks` skill to list or create webhooks. Secured webhooks are intentionally ineligible because the provider cannot receive the webhook's private authorization header. Creating a public capability URL requires the user's explicit acceptance; never substitute a caller-supplied URL.
5. Write the provider configuration as a JSON object in a protected file, then subscribe only after the user approves that exact trigger and webhook:
node <SKILL_DIR>/scripts/manage-managed-events.mjs subscribe \
--service-id <service_id> --server-id <mcp_server_id> \
--trigger-slug <trigger_slug> --webhook-id <webhook_id> \
--config-file /tmp/managed-trigger-config.json --confirmOmit `--config-file` only when the trigger accepts an empty configuration. Never put sensitive configuration directly in command-line arguments.
6. Cancel one exact subscription only after confirmation:
node <SKILL_DIR>/scripts/manage-managed-events.mjs cancel \
--service-id <service_id> --server-id <mcp_server_id> \
--trigger-id <trigger_id> --confirmSubscribe/cancel can complete at the provider even when a connection failure or non-definitive HTTP response hides the receipt. If the helper returns `accepted_unconfirmed`, follow its reconciliation guidance and list before any retry. Never blindly retry a mutation: a duplicate trigger can produce duplicate agent work.
Letta Code is a stateful agent harness for creating agents that are more like people than tools. Letta Code agents have memory, identity, and a sense of experience over time.
Discover and install skills from Hermes, ClawHub, GitHub, and other registries. Load this skill whenever a user asks for a…
Control a real browser to navigate pages, click, type, fill forms, inspect rendered UI, take screenshots, or record video. Load…
Investigate and repair an agent's context — memory, system prompt, and skills — using observed behavior as evidence. Use when the…
Creates and edits trusted local Letta Code mods, including tools, slash commands, local-only model providers, lifecycle/turn…
Guide for creating effective skills. Use when creating a new skill or updating an existing one that extends Letta Code's…
Creates, edits, and enables Letta Code mod-provided slash commands. Use when the user asks to add a custom /command, slash…
Believable agent cost report for any period, default the last 7 full days PT, not counting today. Measured tokens from Claude…
Keep a durable record of work passed between Bots in the shared Hindsight memory bank. Use when handing work to another Bot, when…
Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…
Install, configure, and operate MemPalace, including a private local palace, a shared-brain hub, or a client joining an existing…