Quickstart — Bring your own CLI
Give Claude Code or Codex every one of Libi's tools over one local MCP endpoint — no window, no tab, nothing written into your project but skills.
Connect your agent
Start Libi any way you like — the desktop app, or npx @nagellabs/libi — and leave it running. It serves all of its own tools on one local endpoint: http://127.0.0.1:3457/mcp. (If something else already has that port, Libi picks another one; connect always writes whichever it is using.)
Then, in the folder you work from, run connect. It registers Libi's tools for your whole account and installs Libi's skills in that folder. Start Claude Code or Codex in that same folder and both are there. (Codex finds a folder's skills from a subfolder only inside a git repo — open Codex in the folder itself otherwise.)
# Libi already running (desktop app or npx — anywhere).
# In the folder you work from:
npx @nagellabs/libi connect
# then, same folder:
claude # or: codexWhat gets registered
connect touches three things and nothing else.
- Claude Code — an HTTP MCP server named
libi, registered in Claude Code's user scope, so every folder has Libi's tools. Claude Code stores the registration itself; nothing is written into your project for it. - Codex — the same server, registered user-wide. Codex has no per-folder registration, and the Codex desktop app picks it up too (restart the app once).
- Skills — Libi's skills, installed into
.claude/skills/and.agents/skills/in that folder, and recorded so Libi keeps them current. A skill whose name you already use there is skipped and listed, never overwritten.
libi: http://127.0.0.1:3457/mcp (HTTP) - ✓ ConnectedEverywhere instead of one folder
Add --global to install Libi's skills for every folder instead of one: ~/.claude/skills (or $CLAUDE_CONFIG_DIR/skills) and ~/.agents/skills. The tools are registered for your whole account either way. One level per agent: installing for every folder removes any folder installs Libi recorded for that agent, since every folder has them then.
npx @nagellabs/libi connect --globalGeneration providers
Libi doesn't generate images, video or voice itself — the agent does that through a provider's own MCP server, such as fal.ai, Higgsfield or ElevenLabs, added to your Claude Code or Codex. Libi never holds a provider key, not on your machine and not on any server of ours. The key lives where your agent keeps its MCP servers, the request goes from your machine straight to the provider, and the bill is between you and them.
Agents → Providers helps you add one. Pick the agent at the top, then Add on a provider: Libi types the agent's own mcp add command into a terminal under the row, and nothing runs until you press Enter. For a provider that uses a key, the command asks for it at a hidden prompt and passes it straight to your agent — Libi never sees it. Higgsfield has no key: you sign in with your Higgsfield account in your browser. The row shows Connected once your agent has it, and has Remove for taking it out again.
You don't need Libi for any of this. The same commands work in your own terminal — put your key where it says <your key>. Codex reads fal.ai's key from a FAL_KEY variable instead, so export that in your shell profile first.
- ElevenLabs runs through
uvx, so it needs uv on your PATH. - Some things run on your machine instead, free and offline once downloaded: on-device voice, music and transcription. They're on Agents → Libi MCP, each with its download size.
- Your model sign-in — Claude or ChatGPT — is your agent's business, not Libi's. Libi never asks for an Anthropic or OpenAI key.
# Claude Code
claude mcp add --scope user --transport http fal-ai https://mcp.fal.ai/mcp --header "Authorization: Bearer <your key>"
claude mcp add --scope user elevenlabs -e "ELEVENLABS_API_KEY=<your key>" -- uvx elevenlabs-mcp
claude mcp add --transport http --scope user higgsfield https://mcp.higgsfield.ai/mcp
claude mcp login higgsfield # signs in with your Higgsfield account
# Codex
codex mcp add fal-ai --url https://mcp.fal.ai/mcp --bearer-token-env-var FAL_KEY
codex mcp add elevenlabs --env "ELEVENLABS_API_KEY=<your key>" -- uvx elevenlabs-mcp
codex mcp add higgsfield --url https://mcp.higgsfield.ai/mcp # opens your browser to sign inKeeping it current
Nothing to do. Libi records every skills install connect (or the app) makes, and rewrites it after every skill change and every time Libi starts — new Libi versions with new skills reach your folders on their own.
Manage it in the app
Everything connect does is also on the Global setup tab (Agents → Global setup), with a Claude Code | Codex switch at the top (Set up libi for) and, below it, two sections for the agent you picked: Tools has the Libi MCP row (Connect / Reconnect / Disconnect — Reconnect shows up once the registration points at an old port), and Skills has Every folder (Install / Remove) and Specific folders (Add folder / Remove). The command each button builds opens in a terminal under the row you clicked, with a line saying what it will do before you press Enter. Folders added with connect show up there labelled "added with libi connect".
Every folder shows Not installed, Installed · N skills, or Couldn't update with the reason. Specific folders shows each folder as Up to date, Folder not found, or Couldn't update with the reason. Either row can also note skills skipped because you already use the name. Libi's own chats and terminal always have Libi's tools and skills; the tab is only about your own Claude Code and Codex.
- Claude Code — every folder:
~/.claude/skills(or$CLAUDE_CONFIG_DIR/skills); a folder:<folder>/.claude/skills. - Codex — every folder:
~/.agents/skills; a folder:<folder>/.agents/skills.
Removing it
Skills come out from the app; the tool registrations come out with each agent's own command.
- Skills — Agents → Global setup, Remove on the install. It deletes only the files Libi wrote; skills you added yourself stay.
claude mcp remove --scope user libi— Libi's tools, for the whole account (Disconnect on the same tab does this for you).codex mcp remove libi