The MCP server exposes five tools. Claude Code calls them in sequence to scaffold, compile, and validate App Intents. Here's what the actual workflow looks like.
The loop
You ask Claude Code: "Create an App Intent for searching notes by tag."
Claude Code does this:
1. Calls axint_scaffold — creates a project with tsconfig.json and a starter file 2. Drafts a defineIntent() in intents.ts 3. Calls axint_validate — checks for errors before generating code 4. Calls axint_compile — emits Swift + plist + entitlements 5. Shows you the generated files for review
If validation fails at step 3, Claude Code reads the error (which includes the source location and a fix suggestion), edits the definition, and retries. The validator reports errors in terms of the TypeScript source, so Claude Code knows exactly what to change.
Real conversation
You: Create a search intent that lets Siri search notes by tag and date range.
Claude Code:
> Found existing intents.ts, adding SearchNotesByTag...
> Validating... ✓ No errors
> Compiling... ✓ Generated SearchNotesByTag.swift
>
> Parameters: tag (String), startDate (Date), endDate (Date)
> [Shows generated Swift]
You: Add a limit parameter for max results, default 10.
Claude Code:
> Updating definition...
> Validating... ✓
> Recompiling... ✓ Added limit: Int (default: 10)The whole exchange takes under a minute. No Xcode, no Swift knowledge, no context switching.
The tools in detail
axint_scaffold creates a clean project:
await mcp.callTool("axint_scaffold", {
name: "notes-intents",
language: "typescript",
includeTests: true,
})axint_compile does the heavy lifting:
await mcp.callTool("axint_compile", {
source: "intents.ts",
output: "Generated/",
format: "swift",
})axint_validate gives structured feedback:
await mcp.callTool("axint_validate", {
source: "intents.ts",
json: true,
})Returns JSON with error codes, source locations, and suggestions — structured enough for Claude Code to act on programmatically.
axint_list_templates and axint_template let the agent browse starter templates and use them as scaffolding for common patterns.
What agents can't do yet
The MCP server runs locally — you need the Axint CLI installed. Axint Cloud (remote compilation without a Mac) is coming and will remove this requirement.
Agents also can't test intents yet. They can generate and validate, but can't invoke Siri or Shortcuts to verify the intent works end-to-end. That's the next frontier — and it'll probably require Apple to expose a testing API, not something we can solve alone.
For now, the loop is: agent writes, Axint validates and compiles, human reviews and tests. Good enough to be genuinely useful.