Keyframer is a remote MCP server that gives an AI agent 11 tools, among them create_scene, generate_code, get_preview_qr. It answers at https://api.keyframer.dev/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 1 of 7 times since 10 September 2026; the last check, on 8 November 2026, succeeded.
150+ React Native animation recipes, scene authoring, phone preview via QR, Reanimated v4 codegen
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
create_scene | Save a scene and get an editor URL where it opens in the visual editor (timeline, canvas, node graphs, mobile QR preview). Validates first. Works without a key: the scene is then a public 24-hour guest scene with a scannable QR, kept foreve Inputs: scene, name, make_public |
generate_code | Compile a scene into a runnable React Native component. Pass inline scene JSON or a scene_id from your account. Output targets Reanimated v4 by default ("animated" targets the RN core Animated API, reduced feature set). Deterministic — no A Inputs: scene, scene_id, api, relative_positioning, gesture_handler_version |
get_preview_qr | A terminal-scannable QR code for a scene. Scan it with a phone camera and the scene runs live in the Keyframer preview app on real hardware — edits sync as they happen. Public scenes (including guest scenes) work without a key; private scen Inputs: scene_id |
get_recipe | Fetch one recipe by slug: metadata, the scene JSON (usable as a starting point for create_scene), and the generated React Native Reanimated component code. Recipe code is free to use. Inputs: slug, id, scene_id, include_code |
get_scene | Fetch one of your scenes (or any public scene) as JSON — edit it and re-save with update_scene, or feed it to generate_code. Requires an API key. Inputs: id |
get_scene_format | The Keyframer scene JSON format — read this before authoring a scene. Section "scene" covers elements/keyframes/easing; section "nodes" covers node graphs (procedural animation: clocks, springs, repeaters) with the full node-type schema. Inputs: section |
list_scenes | List the scenes in the connected Keyframer account (id, name, updated, visibility). Requires an API key. |
sample_scene | Numerically preview a scene: evaluates keyframes AND node graphs at N evenly spaced times and returns each moving prop as a value series (the same math the editor preview runs). validate_scene checks structure — this checks MOTION: confirm Inputs: scene, samples, element_ids |
search_recipes | Search 150+ free Keyframer recipes (bounce, carousels, progress rings, particles, text effects, shaders, scroll animations…). Each recipe has a scene + verified React Native Reanimated code. Returns slugs for get_recipe. Inputs: query, category, limit |
update_scene | Replace the content of one of your scenes (full scene JSON, validated first) — the edit loop for iterating instead of duplicating. Live previews watching the scene update in place. Requires an API key; own scenes only. Inputs: scene_id, scene, name, make_public |
validate_scene | Validate a scene against the Keyframer format before create_scene or generate_code. Returns errors (must fix) and warnings (advisory). Free to call — iterate until clean. Inputs: scene |
Every block below points at https://api.keyframer.dev/mcp. Pick your client and copy.
claude mcp add --transport http keyframer https://api.keyframer.dev/mcp
{
"mcpServers": {
"keyframer": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.keyframer.dev/mcp"]
}
}
}{
"mcpServers": {
"keyframer": {
"url": "https://api.keyframer.dev/mcp"
}
}
}{
"servers": {
"keyframer": {
"type": "http",
"url": "https://api.keyframer.dev/mcp"
}
}
}{
"context_servers": {
"keyframer": {
"url": "https://api.keyframer.dev/mcp"
}
}
}{
"mcpServers": {
"keyframer": {
"serverUrl": "https://api.keyframer.dev/mcp"
}
}
}{
"mcpServers": {
"keyframer": {
"url": "https://api.keyframer.dev/mcp"
}
}
}name: Keyframer
version: 0.0.1
schema: v1
mcpServers:
- name: Keyframer
type: streamable-http
url: https://api.keyframer.dev/mcp{
"mcpServers": {
"keyframer": {
"httpUrl": "https://api.keyframer.dev/mcp"
}
}
}{
"mcpServers": {
"keyframer": {
"type": "http",
"url": "https://api.keyframer.dev/mcp"
}
}
}{
"mcpServers": {
"keyframer": {
"url": "https://api.keyframer.dev/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fapi.keyframer.dev%2Fmcp&type=streamable_http&id=keyframer&name=Keyframer
It answered our last check on 8 November 2026 in 951 ms. Over 7 checks since 10 September 2026 it answered 1. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by keyframer.dev and served from api.keyframer.dev, the vendor's own domain: https://api.keyframer.dev/mcp.
11, as returned by the server's own tools/list on 9 November 2026: create_scene, generate_code, get_preview_qr, get_recipe, get_scene, get_scene_format, list_scenes, sample_scene, and 3 more.
It answered our last check on 8 November 2026 in 951 ms. Over 7 checks since 10 September 2026 it answered 1.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://api.keyframer.dev/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: dev.keyframer. Endpoint host: api.keyframer.dev. ARD identifier: urn:air:dev.keyframer:mcp:keyframer.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.