Step 1 — Generate an API key
limena uses long-lived workspace API keys for agent integrations. You'll need admin role in your limena workspace.
- Sign into console.limena.app
- Go to Settings → API keys
- Click Generate new key, name it (e.g.
Claude desktop), pick scopes (Read + Write recommended for a conversational agent), and hit Generate
- Copy the plaintext
lmn_… immediately — it's only shown once
Step 2 — Add limena to your agent
Pick your agent. The connection target is the same in all cases — limena exposes seven tools (list_clients, create_client, list_programs, create_program, run_audit, get_audit, get_findings) via the Model Context Protocol.
Recommended · One-click
Claude.ai (web)
- Claude.ai → Customize → Personal plugins
- Click + → Create plugin → Add marketplace
- Paste: https://limena.app/plugins.json
- Install the limena — accessibility audits plugin
- When prompted, paste your
lmn_… key
Now in any conversation: "Use limena to audit example.com."
Native config
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"limena": {
"transport": {
"type": "http",
"url": "https://console.limena.app/api/mcp"
},
"headers": {
"Authorization": "Bearer lmn_..."
}
}
}
}
Quit and reopen Claude Desktop.
Terminal
Claude Code
- Export the key in your shell:
echo 'export LIMENA_API_KEY="lmn_..."' \
>> ~/.zshenv
source ~/.zshenv
- Install the limena skill (one-time):
mkdir -p ~/.claude/skills/limena
curl -fsSL https://limena.app/skill.md \
-o ~/.claude/skills/limena/SKILL.md
- Quit + relaunch Claude Code.
MCP-compatible
Cursor / Zed
Add to your editor's MCP config:
{
"mcpServers": {
"limena": {
"transport": {
"type": "http",
"url": "https://console.limena.app/api/mcp"
},
"headers": {
"Authorization": "Bearer lmn_..."
}
}
}
}
Reload the editor's MCP servers.
Step 3 — Try it
In any conversation with your now-connected agent, try:
- "Use limena to audit
https://example.com."
- "List my limena clients."
- "Run a limena audit on all the pages in my pricing program."
- "Show me the findings from my last limena audit."
limena's plugin walks you through "which client?" → "which program?" → "scan options?" → queue, poll, summarize. Same conversational flow on every agent.
Security and scopes
Every key carries its own scopes, optional origin allowlist, configurable rate limit (default 100/min), and a 30-day usage log. Same posture as Stripe, GitHub, or Linear API keys.
- Read scope — list clients, programs, and read audit findings (safest for browser-based connectors)
- Write scope — create clients, programs, queue audits
- Admin scope — delete resources (reserved for cleanup tools; don't grant to conversational agents)
For Claude.ai web you can lock a key to https://claude.ai using the optional origin allowlist. For server-to-server CI tools, leave origins blank.
Revoke any key in Settings → API keys — calls stop in under a second.