Labsco
MCP SERVER

Check the Swift an agent wrote, run the real Xcode build and tests, and get back the exact repairs — with each finding graded by how strongly the evidence supports it.

Automated Testing & QAVerified
Summary
Static analysis and Apple's own tooling in one loop, with every finding labelled by how strongly it is actually supported.

The evidence grading is the idea worth taking seriously: a finding confirmed by compiler or test output reads very differently from a heuristic flagging an accessibility concern, and Axint keeps that distinction instead of flattening both into a list of errors. Around it sits a lot of practical machinery for agents working on Apple projects — file claims so two of them do not fight over the same SwiftUI source, context packs to reload after a compaction, and a run loop you can cancel when xcodebuild survives an MCP timeout.

What it is

A proof and repair layer for Apple coding agents. It compiles TypeScript intent definitions into Swift App Intents, validates existing Swift against Apple-specific rules, runs the real Xcode build and test loop, reconciles static findings against what the tooling actually reported, and returns a repair plan.

What you get
  • axint.compile turns a defineIntent() TypeScript source into native Swift App Intent code, optionally with Info.plist and entitlements, while axint.validate runs the full validation pipeline over the TypeScript without generating anything
  • axint.swift.validate checks existing Swift against Apple build-time rules including Swift 6 concurrency and Live Activities, and axint.swift.fix repairs the mechanical errors it found
  • axint.run executes the enforced Apple build loop outside the Xcode UI, with axint.run.status and axint.run.cancel for an xcodebuild that outlived its timeout and is still holding child processes
  • axint.cloud.check accepts Swift or TypeScript source, an Xcode build log, a test failure or a described runtime failure and returns a verdict; axint.fix-packet reads back the repair artifact emitted after a compile or watch run
  • axint.repair plans a project-aware repair for an existing app, indexing the project and classifying build, UI and runtime evidence
  • Scaffolding: axint.scaffold for a starter intent, axint.feature for a whole Apple-native feature package with Swift and a companion view, axint.templates.list and axint.templates.get for the bundled references, axint.schema.compile to go from JSON straight to Swift, and axint.tokens.ingest to turn design tokens into a SwiftUI enum
  • Project context handled deliberately — axint.project.index writes a compact context pack, axint.project.pack bootstraps a new app, and axint.context.memory and axint.context.docs are what an agent reloads after a new chat or a context compaction
  • Multi-agent coordination on one project: axint.agent.claim takes short-lived claims on files so two agents do not patch the same SwiftUI source, axint.agent.release gives them back, and axint.agent.advice reads the local project brain for what to do next
  • Sessions and gates — axint.session.start opens an enforced session with a token, axint.workflow.check records a freshness stamp, and axint.xcode.guard and axint.xcode.write keep an Xcode session from drifting, validating Swift on the way in
  • axint.status, axint.doctor, axint.activate and axint.upgrade answer which version is running, whether the project wiring is right, whether the pipeline works at all, and how to move version without losing the agent thread
  • Findings carry an evidence class — confirmed, probable, advisory or suppressed — so something backed by compiler or test output is distinguishable from a heuristic
Requirements

Published as @axint/compiler on npm and axint on PyPI, launched over stdio, with a hosted Streamable HTTP endpoint at https://mcp.axint.ai/mcp. It drives real Apple tooling, so the build and test half needs a macOS machine with Xcode present. The default local run requires no account and uploads no source.

Setup effort

One command — npx -y -p @axint/compiler axint prove --dir /path/to/MyApp