A FileMaker brain for your AI coding agent — in one folder you copy.
Out of the box, Claude knows JavaScript and CSS but nothing about FileMaker — it will happily invent script steps and hand you XML that won't paste. This folder fixes that. Duplicate it, point Claude Code at it, and the agent already speaks FileMaker: your conventions, the paste-ready XML format, the gotchas, and how to read your actual solution.
📊 Watch the walkthrough / get set up: claude-code-filemaker.vercel.app The companion deck — Claude Code & FileMaker — covers the why, the five-piece stack, and a live demo, and ends with scan-and-go QR codes for everything below.
- Duplicate this folder and rename it for your project — no spaces (
use_underscoresor-dashes). - Open Claude Desktop → Code tab → Select folder → pick your copy. (Or open it with the Claude Code CLI.)
- Say hello, ask it to explain the folder, then: "write me a script that…" — you'll get a paste-ready snippet.
- Paste it into a dev copy of your file (Script Workspace). With the MBS plugin installed, the clipboard format is handled for you.
You are always the gate: the agent generates, you paste. Dev copies only, never production.
your-project/ ← your renamed copy
├── CLAUDE.md ← the agent reads this first: the rules + what lives where
├── PROJECT_NOTES.md ← the project's memory (the agent updates it; you read it)
├── quirks.md ← gotchas, pre-seeded; grows as you hit your own
├── connection.example.json ← template for hosted-server credentials (copy → connection.json)
├── .claude/skills/filemaker/ ← the expertise:
│ ├── SKILL.md ← calc syntax, script patterns, AI steps, MBS round-trip
│ └── references/ ← calc-patterns · script-patterns · xml-snippets ·
│ step-catalog · server-connection · linting
├── scripts/ ← tools the AGENT runs (you never touch these):
│ ├── fmlint/ ← lints generated snippets before you paste them
│ ├── validate_snippet.py ← the canonical lint entry point
│ ├── fmsavexml/ ← parses Save-a-Copy-as-XML / DDR exports
│ └── fmserver/ ← reads a hosted file's data over the Data API
├── schema/ ← the standing map of YOUR solution
│ ├── xml/ ← drop your Save-a-Copy-as-XML exports here
│ └── parsed/ ← the agent splits them into greppable per-object files
├── resources/ ← things YOU bring in (incl. the Claris markdown-docs reference)
└── documents/ ← things CLAUDE makes for you (plans, summaries, drafts)
The core loop: describe → the agent writes a snippet → fmlint checks it → you paste → you verify.
- The clipboard (MBS). FileMaker's clipboard holds XML sealed in a private format, which is why a copied script won't paste into a text editor and raw XML won't paste back into FileMaker. The free MBS plugin (SyntaxColoring component, one checkbox, macOS + Windows) translates both ways automatically, so the agent's snippet just pastes.
- The self-check (fmlint). Before handing you a snippet, the agent runs it through
fmlint— catching malformed XML, unbalancedIf/Loopblocks, unknown steps, and broken calculations. Stdlib-only Python, no install:python3 scripts/validate_snippet.py path/to/snippet.xml
- Know your solution (the snapshot). Do File → Save a Copy as XML (or export a DDR), drop it in
schema/xml/, and ask the agent to parse it. From then on it writes against your real table-occurrence and field names, and calls your existing scripts instead of duplicating them — including reading script contents (which a live MCP can't see). - Connect to a hosted file. Given a server, database, and a key or username/password, the agent can read live data over the Data API — no MCP, no open file. Paste the details and say "connect to this database."
Everything else, Claude will explain — ask it.
| Need | For |
|---|---|
| A paid Claude plan (Pro or up) + Claude Desktop or Claude Code | the agent itself (free tier has no Code) |
| MBS FileMaker Plugin 15.4+ (free SyntaxColoring component) | the clipboard round-trip |
| Python 3.9+ | the agent's scripts — fmlint is stdlib-only; fmsavexml needs lxml (the agent installs it) |
| macOS recommended | the smoothest "golden path"; Windows works with caveats |
Built on the community's work:
- fmlint is vendored from John Petrowsky's agentic-fm (Apache-2.0 — see
scripts/fmlint/LICENSE). - The XML exploder approach and the patch-tool walkthroughs come from Soliant Consulting (Mislav Kos).
- The MBS Clipboard Converter is by Monkey Bread Software (Christian Schmitz).
- The paste/clipboard tooling ecosystem includes work from Codence and the BaseElements plugin.
- The stepping-away / what's-next session pattern came from Full City.
- ProofKit (live MCP eyes) is by Proof + Geist.
Part of the agentic-fm framework — the on-ramp from FileMaker developer to agentic developer: agentic-fm-framework.vercel.app