Flutter Motion Kit v3.32.0
Connect
// connect

Wire any AI assistant to verified Flutter animations.

One MCP server, four tools, a machine-readable catalog. Your agent stops hallucinating AnimationController APIs and starts copying from snippets that actually compile.

1. Connect your assistant

~30 seconds
CC
Claude Code
CLI · MCP transport: http

Run once in your project. Claude Code persists the server in .mcp.json.

claude mcp add --transport http flutter-motion https://mcp.markxian.cn/mcp
CR
Cursor
Editor · one-click deep link

Opens Cursor and pre-fills the MCP server entry. Hit save.

+ Add to Cursor
VS
VS Code
Editor · MCP install redirect

Adds the server to your user settings.json under mcp.servers.

+ Add to VS Code

2. The four MCP tools

your assistant calls these by name

Small surface area on purpose. Every tool returns sourced, machine-verified data — never freeform.

search_flutter_animation
Find animations by name, tag, or category. Returns ranked ids with one-line summaries.
get_animation
Fetch one entry: verified main.dart, the wrong-way badCode, and the full pitfalls list with sources.
list_pitfalls
Surface every sourced gotcha in the catalog, optionally filtered by category.
list_categories
Enumerate the taxonomy — implicit / explicit / hero / staggered / physics / custom-painter — with counts.

3. Example prompts

Paste these into your assistant. It will reach for the MCP tools automatically.

↗ list
"Add a staggered list entrance like flutter-motion-kit's, and follow its pitfalls."
↗ pick
"Suggest the cheapest implicit animation for a button that morphs into a card. Use flutter-motion-kit to ground your answer."
↗ audit
"Audit my custom_painter.dart against flutter-motion-kit's CustomPainter pitfalls and patch the leaks."
// for agents

The catalog is machine-readable.

If your agent doesn't speak MCP, fall back to these static endpoints. Same data, no transport.

/llms.txt
Flat text crawler index. One line per animation + its URL. Drop it into a vector store.
/api/animations.json
Full catalog. Same shape as the MCP get_animation response, in one fetch.