Skip to main content
Glama

Flutter Motion Kit

A collection of previewable Flutter animations, each annotated with its pitfalls (with sources and confidence), and reusable from Claude Code / Cursor in one click (MCP).

developers connected animations License: MIT

๐ŸŽ› Live interactive playground: motion.markxian.cn ยท ๐Ÿ“š Verified catalog: motion.markxian.cn/gallery

Claude Code โ€” one line:

claude mcp add --transport http flutter-motion https://mcp.markxian.cn/mcp

One-click connect (remote MCP ยท zero install)

Hosted on a Cloudflare Worker โ€” add one URL and go, content updates take effect instantly:

Claude Code

claude mcp add --transport http flutter-motion https://mcp.markxian.cn/mcp

Cursor / VS Code โ€” import with one button:

Add to Cursor Add to VS Code

Prefer offline/local (npx, no hosting)? See Connect Claude Code (local) below.

One structured source, three outputs:

content/animations/<id>/{meta.yaml, main.dart, bad.dart}   โ† single source of truth
        โ”‚  scripts/build-catalog.mjs (schema validation + aggregation)
        โ–ผ
   catalog.json
   โ”œโ”€โ”€โ–ถ Site (Astro): real running Flutter web previews (self-hosted) + code + pitfalls + [Copy for AI]
   โ””โ”€โ”€โ–ถ MCP server: search / get / list_pitfalls, callable directly by AI coding assistants

Related MCP server: GSAP MCP Server

Why this isn't just another snippet blog

"Best practices" shouldn't rest on someone's word โ€” they should be provable + sourced + machine-verified:

  • Every pitfall carries a source + confidence (official-docs / measured / author-experience โ€ฆ) โ€” an honest signal of how strong the basis is, returned to the AI alongside the code.

  • CI gate: every main.dart must pass dart format + flutter analyze (very_good_analysis) + flutter build web; if it doesn't, it isn't included.

  • Reproducible: every entry self-hosts a real running Flutter web preview (compiled by npm run previews, not a screen recording); bad.dart demonstrates the wrong way for side-by-side comparison.

  • Anti-rot: every entry records verifiedOn, and CI re-runs monthly to catch deprecations in new Flutter releases.

Quick start

npm install

# 1) Build the catalog (validate schema โ†’ catalog.json)
npm run catalog

# 2) Build the self-hosted previews (compile each main.dart into runnable Flutter web)
#    Requires a local Flutter (auto-detects fvm; outputs to site/public/preview/, gitignored)
npm run previews

# 3) Run the site locally (embeds the running previews + copy buttons)
npm run site:dev

# 4) Build and connect the MCP server
npm run mcp:build

Connect Claude Code (one-click reuse)

Once published to npm, anyone can connect with zero install:

claude mcp add flutter-motion -- npx -y flutter-motion-mcp

Local dev build:

npm run mcp:build
claude mcp add flutter-motion -- node /abs/path/to/flutter-motion-kit/mcp/dist/index.js

Then, right in Claude Code: "find a Flutter list-entrance animation and add it to my page" โ€” it calls search_flutter_animation โ†’ get_animation and lands the verified code + pitfalls.

MCP tools

Tool

Purpose

search_flutter_animation

Search animations by keyword/category (returns summaries)

get_animation

Return full code + pitfalls + sources by id

list_pitfalls

Pull the pitfall list for an AI to self-check after writing

list_categories

Browse categories

Deploy the remote MCP (Cloudflare Worker)

cd worker
npm i -g wrangler && wrangler login

cp wrangler.toml.example wrangler.toml   # real config stays out of the repo (gitignored)

# Create the KV namespace (connection counter) and put the printed id into your local wrangler.toml
wrangler kv namespace create STATS
wrangler kv namespace create STATS --preview

npm run deploy        # rebuilds the catalog and bundles + deploys

After deploy: /stats shows the live connection count, /mcp is the MCP endpoint, / shows connect hints.

On the site side: cp site/.env.example site/.env and set PUBLIC_MCP_ORIGIN to your Worker endpoint (this .env is also kept out of the repo).

Private deploy config: worker/wrangler.toml, site/.env, and .dev.vars are all gitignored โ€” your KV id / account / subdomain never appear in the public repo, which only keeps *.example placeholders. To avoid exposing even the account subdomain, bind a custom domain to the Worker (see the comments in wrangler.toml.example).

Stats: each initialize counts one connection (an approximate KV counter โ€” good enough for a live badge). For exact de-duplication, upgrade to a Durable Object / Analytics Engine.

Layout

content/animations/   # single source of truth (one directory per animation)
schema/               # JSON Schema for meta.yaml
scripts/              # build-catalog (aggregate) / build-previews (self-hosted previews) / sync-gists (DartPad, optional)
site/                 # interactive playground at / + verified gallery at /gallery (Astro)
mcp/                  # MCP server (TypeScript)
.github/workflows/    # verify: schema + analyze + format + build

Contributing

Please run through the quality checklist in CONTRIBUTING.md before adding a new animation. Corrections via issue/PR are welcome โ€” being publicly correctable is exactly what makes this more trustworthy than a blog.

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    C
    maintenance
    Enables AI models to generate production-ready, 60fps-optimized GSAP animation code from natural language requests. It provides expert-level tools for creating complex sequences, debugging performance issues, and setting up GSAP within modern web frameworks.
    6
    72 npm
    4
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Enables LLMs to generate safe, accessible scroll-driven web animations by translating natural language requests into validated JSON specs, then compiling them into GSAP or WAAPI/CSS code with built-in reduced-motion and pause controls.
    5
    91 npm
    MIT
  • F
    license
    B
    quality
    B
    maintenance
    Provides Flutter and Dart reference data, code generation, live API lookups, and a verified sample corpus for AI coding assistants, enabling efficient Flutter development with accurate guidance and boilerplate generation.
    14
    -