
Cursor rules for ff-orbit-mcp
概览
flutterflow-mcp is an original FlutterFlow MCP server built around a command-palette model. Orbit is different from multi-tool MCP servers by design: - One primary tool: orbit - Command palette verbs inside cmd (help, snapshots.create, changeset.apply, etc.) - SQLite snapshot cache with persisted indices/graphs - Policy engine (orbit.policy.json + env overrides) - Transactional ChangeSet flow: new -> add -> preview -> validate -> apply - Node.js 18+ TypeScript strict implementation - MCP stdio transport for Claude Desktop/Cursor/Windsurf/Claude Code/Codex - Separate HTTP health/status/policy service on port 8080 - FlutterFlow API adapter (set FLUTTERFLOW_API_TOKEN for remote reads/writes) - SQLite snapshot store (files, hashes, symbols, edges) - Navigation + component usage graph index - Safe editing policy engine with manual-approval mode - Orbit schema pack resources: - orbit://schema/index - orbit://schema/doc/{id} - orbit://schema/snippet/{id} Without a token, the MCP server...
README
以下为原文 README 节选,完整内容请查看原文。
flutterflow-mcp
flutterflow-mcp is an original FlutterFlow MCP server built around a command-palette model.
What Orbit Is
Orbit is different from multi-tool MCP servers by design:
- One primary tool:
orbit - Command palette verbs inside
cmd(help,snapshots.create,changeset.apply, etc.) - SQLite snapshot cache with persisted indices/graphs
- Policy engine (
orbit.policy.json+ env overrides) - Transactional ChangeSet flow:
new -> add -> preview -> validate -> apply
Features
- Node.js 18+ TypeScript strict implementation
- MCP stdio transport for Claude Desktop/Cursor/Windsurf/Claude Code/Codex
- Separate HTTP health/status/policy service on port
8080 - FlutterFlow API adapter (set
FLUTTERFLOW_API_TOKENfor remote reads/writes) - SQLite snapshot store (files, hashes, symbols, edges)
- Navigation + component usage graph index
- Safe editing policy engine with manual-approval mode
- Orbit schema pack resources:
orbit://schema/indexorbit://schema/doc/{id}orbit://schema/snippet/{id}
Quick Start
1) Install
npm i
2) Configure env (optional for local startup)
export FLUTTERFLOW_API_TOKEN=your_token_here
Without a token, the MCP server still starts, but commands that call FlutterFlow APIs (for example projects.list, snapshots.create, snapshots.refresh) will return a missing-token error until you set it.
Optional API path overrides:
export FLUTTERFLOW_API_BASE_URL=https://api.flutterflow.io/v2
export FLUTTERFLOW_API_LIST_PROJECTS_PATH=/l/listProjects
export FLUTTERFLOW_API_LIST_PARTITIONED_FILES_PATH=/listPartitionedFileNames
export FLUTTERFLOW_API_PROJECT_YAMLS_PATH=/projectYamls
export FLUTTERFLOW_API_VALIDATE_PROJECT_YAML_PATH=/validateProjectYaml
export FLUTTERFLOW_API_UPDATE_PROJECT_YAML_PATH=/updateProjectByYaml
export FLUTTERFLOW_API_MIN_INTERVAL_MS=1000
3) Run
npm start
This starts:
- MCP server over stdio
- HTTP server on
http://localhost:8080
Endpoints:
GET /healthGET /statusGET /policy
If the HTTP port is already in use, Orbit now continues with MCP stdio and logs a warning to stderr. You can disable HTTP endpoints entirely with:
export ORBIT_HTTP_ENABLED=0
MCP Client Setup
Use npm start as your MCP command.
Claude Desktop / Cursor / Windsurf
Use templates/mcp-config.local.json as a base:
{
"mcpServers": {
"ff_orbit_mcp": {
"command": "npm",
"args": ["start"],
"cwd": "/absolute/path/to/ff-mcp",
"env": {
"FLUTTERFLOW_API_TOKEN": "YOUR_TOKEN"
}
}
}
}
Claude Code
Use project config file .mcp.json (you can copy templates/claude-code.mcp.json):
{
"mcpServers": {
"ff_orbit_mcp": {
"command": "npm",
"args": ["start"],
"cwd": "/absolute/path/to/ff-mcp",
"env": {
"FLUTTERFLOW_API_TOKEN": "YOUR_TOKEN"
}
}
}
}
Or add it with CLI:
安装
This server does not publish a one-line install command.
Open the repository installation guide 新手?先看 mcpskill.org 教程 →配置
{
"mcpServers": {
"ff_orbit_mcp": {
"command": "npm",
"args": ["start"],
"cwd": "/absolute/path/to/ff-mcp",
"env": {
"FLUTTERFLOW_API_TOKEN": "YOUR_TOKEN"
}
}
}
}