unframer CLI has two main capabilities: exporting Framer components as React code and acting as a command-line client for Framer MCP. This page covers both.1npm install -g unframer
npx to run without installing:1npx unframer --help
1npx unframer {projectId} --outDir ./src/framer
.jsx files (with JSDoc type annotations) and a styles.css file. The projectId is the short ID shown in the React Export plugin after exporting.1npx unframer example-app {projectId}
1npx unframer {projectId} --outDir ./src/framer --watch
1npx unframer {projectId} --outDir ./src/framer --external zustand
--external to skip bundling that package. Install it manually with npm install afterwards.1npx unframer mcp login
~/.unframer/config.json.12345678# Full project XML (pages, components, styles) npx unframer mcp getProjectXml # Specific node by ID npx unframer mcp getNodeXml --nodeId "abc123" # Published website URLs npx unframer mcp getProjectWebsiteUrl
1234567# Update text or attributes npx unframer mcp updateXmlForNode \ --nodeId "abc123" \ --xml '<Text nodeId="abc123">New heading text</Text>' # Search fonts npx unframer mcp searchFonts --query "Inter"
1234567891011121314# List all collections npx unframer mcp getCMSCollections # Get items from a collection npx unframer mcp getCMSItems --collectionId "col123" # Create or update an item (use field IDs from getCMSCollections, not field names) npx unframer mcp upsertCMSItem \ --collectionId "col123" \ --slug "my-post" \ --fieldData '{"j11rZL4rT": {"type": "string", "value": "Hello"}}' # Delete an item npx unframer mcp deleteCMSItem --collectionId "col123" --itemId "item456"
123456789101112# Create a code component npx unframer mcp createCodeFile \ --name "MyComponent.tsx" \ --content "export default function MyComponent() { return <div>Hello</div> }" # Read a code file npx unframer mcp readCodeFile --codeFileId "code123" # Update a code file npx unframer mcp updateCodeFile \ --codeFileId "code123" \ --content "// updated code"
1npx unframer mcp exportReactComponents
--help for detailed options:12npx unframer mcp updateXmlForNode --help npx unframer --help
--project to specify which project to operate on:1npx unframer mcp getProjectXml --project "https://framer.com/projects/My-Project--abc123"
zustand@3 instead of zustand@4).exportReactComponents requires Plugin mode (the Framer MCP plugin must be open). It uploads the export through the authenticated plugin session. Server API mode cannot create a React Export project.