Back to blog

April 9, 2026·7 min·Axint Team

Axint + Claude Code: the AI-native App Intents workflow.

How the MCP integration with Claude Code enables agents to scaffold, compile, and validate App Intents without touching Xcode.

mcpclaude-codeai-agentsdeveloper-experience

The [MCP server](/blog/axint-mcp-one-click-install) 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](/blog/validator-architecture) 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:

typescript await mcp.callTool("axint_scaffold", { name: "notes-intents", language: "typescript", includeTests: true, })

**axint_compile** does the heavy lifting:

typescript await mcp.callTool("axint_compile", { source: "intents.ts", output: "Generated/", format: "swift", })

**axint_validate** gives structured feedback:

typescript 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.