Skip to main content

Overview

Framelane runs a hosted, authenticated MCP (Model Context Protocol) action server at:
Any MCP host — Claude, Claude Desktop, Cursor, VS Code, LangChain, CrewAI, etc. — can connect and drive Framelane over MCP without writing HTTP integration code. It speaks the Streamable HTTP transport, and every tool requires authentication (see below). It is an action server — it renders, runs tasks, and edits projects. For documentation, agents read the static channels instead: llms.txt, the installable skill, or any docs page as raw markdown (append .md to its URL).

Getting a credential first

Onboarding happens over REST, not MCP — an MCP client connects after it holds a key:
  1. POST /v1/signup with a workspace_name and an email you control — returns an fl_ API key and emails a 6-digit code.
  2. POST /v1/signup/verify with the code. The key works the moment this succeeds; until then authed calls return 403 email_not_verified.
GET /v1/capabilities (no auth) returns an onboarding block describing this loop plus the action_mcp_url in machine-readable form. See Self-provisioning for agents. Interactive clients can instead authenticate via OAuth 2.1 (PKCE) — Framelane is an OAuth resource server and delegates the login to Clerk as the authorization server; MCP hosts discover it automatically from the server’s WWW-Authenticate challenge.

Key tools

Every tool requires a verified credential (an fl_ key or a Clerk OAuth token). The ones an agent reaches for most:
Start by reading the framelane://capabilities resource — the machine-readable menu of every effect, motion, transition, format, and task parameter (with valid ranges), so the agent builds a correct request on the first try instead of discovering limits through 422s.
Waiting is one tool call, not a loop. wait_for_render / wait_for_task block until the job is terminal, streaming progress as it advances. If a call returns still_running: true (the server hold elapsed), call again. Ensure your MCP client’s per-tool timeout is ≥ 30s.
Tool errors carry a stable machine code: domain failures come back as {"error": {"code", "message", "details"}} — branch on code (quota_exceeded, email_not_verified, conflict, invalid_request, not_found).

Connecting

Point your MCP host at https://mcp.framelane.io/mcp and send your key as a Bearer token.

Cursor / VS Code

Add to your MCP settings (~/.cursor/mcp.json, or the workspace .vscode/mcp.json):
Then ask: “Use the Framelane MCP to render this composition…”

Claude Desktop

Add to claude_desktop_config.json (mcp-remote bridges the hosted server over stdio):

Agent Skills

The Framelane Agent Skills are static YAML playbooks — read them from the docs (append .md) or install the skill, then drive the calls through the tools above.