Axint
Proof and repair for Apple coding agents: validate Swift, run Xcode evidence, and repair failures.
사용해야 할까요
품질 및 안전성
발견 사항 (36)
- LOWaxint.compile에서
- LOWaxint.validate에서
- LOWaxint.swift.validate에서
- LOWaxint.swift.fix에서
- LOWaxint.scaffold에서
- LOWaxint.templates.list에서
- LOWaxint.templates.get에서
- LOWaxint.repair에서
- LOWaxint.status에서
- LOWaxint.activate에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"axint": {
"command": "npx",
"args": [
"@axint/compiler"
]
}
}
}실행 가능한 패키지
0.6.0stdio0.6.0stdio원격 엔드포인트
https://mcp.axint.ai/mcpstreamable-http할 수 있는 일
도구 목록
도구 (36)
🟢axint.compile(source, fileName, emitInfoPlist, emitEntitlements, format)
Compile TypeScript source (defineIntent() call) into native Swift App Intent code. Returns { swift, infoPlist?, entitlements? } as a string — no files written, no network requests. On validation failure, returns diagnostics (severity, AX error code, position, fix suggestion) instead of Swift. Use: use when TypeScript DSL source should become Swift; use validate for cheaper preflight only. Inputs: source is TypeScript DSL text; options add sandbox, format, plist, or entitlement proof without writing files. Effects: read-only generated Swift/diagnostics; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Full TypeScript source code containing a defineIntent() call. Must be a complete file starting with an axint import, not a fragment."
},
"fileName": {
"type": "string",
"description": "Optional file name used in diagnostic messages, e.g., 'SendMessage.intent.ts'."
},
"emitInfoPlist": {
"type": "boolean",
"description": "When true, returns an Info.plist XML fragment declaring the intent's."
},
"emitEntitlements": {
"type": "boolean",
"description": "When true, returns an .entitlements XML fragment for the intent's declared."
},
"format": {
"type": "boolean",
"description": "When true (default), pipes generated Swift through swift-format with Axint's."
}
},
"required": [
"source"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.validate(source)
Validate a TypeScript intent definition without generating Swift. Runs the full Axint validation pipeline (134 diagnostic rules) and returns a JSON array of diagnostics: { severity: 'error'|'warning', code: 'AXnnn', line: number, column: number, message: string, suggestion?: string }. Returns an empty array [] when validation passes. Use: use for TypeScript DSL diagnostics before Swift output; use swift.validate for existing Swift. Inputs: source is TypeScript DSL text; strictness options affect diagnostics only and never emit Swift. Effects: read-only diagnostics; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Full TypeScript source code containing a defineIntent() call. Must be a complete file starting with an axint import, not a code fragment."
}
},
"required": [
"source"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.swift.validate(source, file)
Validate existing Swift source against Axint's Apple-specific build-time rules (AX700–AX749) including Swift 6 concurrency and Live Activities. Use: use on generated or edited Swift before build; pair with swift.fix for mechanical repairs. Inputs: source or sources provide Swift text; projectIndex enables cross-file checks; platform filters rules. Effects: read-only Swift diagnostics; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Full Swift source code to validate."
},
"file": {
"type": "string",
"description": "Optional file name to attach to diagnostics for editor integration."
}
},
"required": [
"source"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.swift.fix(source, file, format)
Auto-fix mechanical Swift errors detected by axint.swift.validate. Use: use after swift.validate when errors are mechanical; inspect remaining diagnostics manually. Inputs: source is required; codes limits mechanical rewrites; maxPasses bounds convergence attempts. Effects: read-only fixed-source output; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Full Swift source code to fix."
},
"file": {
"type": "string",
"description": "Optional file name to attach to diagnostics."
},
"format": {
"type": "boolean",
"description": "When true (default), pipes the repaired Swift through swift-format with Axint's."
}
},
"required": [
"source"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.scaffold(name, description, domain, params)
Generate a starter TypeScript intent file from a name and description. Returns a complete defineIntent() source string ready to save as a .ts file — no files are written, no network requests made. On invalid domain values, returns an error string. The output compiles directly with axint.compile. Use: use to create a small TypeScript intent starter; use templates.get for richer examples and compile for Swift output. Inputs: name must be PascalCase; params define the starter contract; domain defaults to general. Effects: read-only generated TypeScript; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "PascalCase intent name, e.g., 'SendMessage' or 'CreateEvent'. Must start with an uppercase letter and contain no spaces."
},
"description": {
"type": "string",
"description": "Human-readable description of what the intent does, shown to users in Shortcuts and Spotlight, e.g., 'Send a message to a contact'."
},
"domain": {
"type": "string",
"description": "Apple App Intent domain."
},
"params": {
"type": "array",
"description": "Initial parameters for the intent.",
"items": {
"type": "object",
"description": "Parameter definition with name, type, and description.",
"properties": {
"name": {
"type": "string",
"description": "camelCase parameter name, e.g., 'recipient' or 'messageBody'."
},
"type": {
"type": "string",
"description": "Parameter type."
},
"description": {
"type": "string",
"description": "Human-readable description shown in Shortcuts and Spotlight when users."
}
},
"required": [
"name",
"type",
"description"
]
}
}
},
"required": [
"name",
"description"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.templates.list
List all bundled reference templates in the Axint SDK. Returns a JSON array of { id, name, description } objects — one per template. Templates cover messaging, productivity, health, finance, commerce, media, navigation, smart-home, and entity/query patterns. No input parameters required, no files written, no network requests, no side effects. Use: use to discover valid template ids before templates.get. Inputs: category and query filter metadata; call without filters to discover every valid id. Effects: read-only template metadata; writes no files and uses no network.
입력 스키마
{
"type": "object"
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.templates.get(id)
Retrieve the full TypeScript source code of a specific bundled template by id. Returns a complete, compilable defineIntent() file as a string — ready to save as .ts and compile with axint.compile. Includes perform() logic, parameter definitions, and domain-specific patterns. Use: use after templates.list to fetch a complete reference template; edit it before calling compile. Inputs: id must come from templates.list; format changes source versus metadata rendering. Effects: read-only template source; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Template id from axint.templates.list, e.g., 'send-message' or 'create-event'. Case-sensitive, kebab-case format."
}
},
"required": [
"id"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.repair(cwd, issue, source, sourcePath, fileName, ...)
Plan a project-aware Apple repair for existing apps. Indexes the local project, classifies build/UI/runtime evidence, runs Cloud Check when source is provided, ranks likely SwiftUI/App files, returns a host-aware patch/proof plan, and writes .axint/repair plus a privacy-safe .axint/feedback packet. Use: use for existing app bugs with logs, UI symptoms, or runtime evidence; not for greenfield generation. Inputs: describe the observed bug and attach logs or evidence; modifiedFiles and project index narrow the plan. Effects: writes .axint/repair and privacy-safe .axint/feedback artifacts; reads local project files.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory. Defaults to the MCP process cwd."
},
"issue": {
"type": "string",
"description": "The broken behavior or repair goal, e.g. 'comment box is visible but cannot be tapped'."
},
"source": {
"type": "string",
"description": "Optional inline Swift source for the suspected file."
},
"sourcePath": {
"type": "string",
"description": "Optional suspected Swift file path."
},
"fileName": {
"type": "string",
"description": "Display file name when passing inline source."
},
"platform": {
"type": "string",
"enum": [
"iOS",
"macOS",
"watchOS",
"visionOS",
"all"
],
"description": "Target Apple platform hint."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Active host/tool lane."
},
"expectedBehavior": {
"type": "string",
"description": "Optional expected behavior for the failing feature."
},
"actualBehavior": {
"type": "string",
"description": "Optional observed behavior from the failing run."
},
"xcodeBuildLog": {
"type": "string",
"description": "Optional Xcode build/test log evidence."
},
"testFailure": {
"type": "string",
"description": "Optional focused unit/UI-test failure text."
},
"runtimeFailure": {
"type": "string",
"description": "Optional crash, freeze, hang, or runtime failure text."
},
"changedFiles": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Changed files to pin into the project context pack."
},
"projectContextPath": {
"type": "string",
"description": "Optional .axint/context/latest.json path."
},
"writeReport": {
"type": "boolean",
"description": "Whether to write .axint/repair/latest.json and latest.md. Defaults to true."
},
"writeFeedback": {
"type": "boolean",
"description": "Whether to write a privacy-safe .axint/feedback packet. Defaults to true."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"prompt"
],
"description": "Output format. markdown returns the report, json returns structured data, and."
}
},
"required": [
"issue"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.status(format)
Report the exact running Axint MCP server version, package path, uptime, registered tool count, and same-thread MCP reload/update instructions. Use this as the first tool in a new AI-agent or Xcode chat to prove which Axint process the agent is actually connected to. This answers the running MCP server, not a guessed npm, PyPI, or docs version. Use: call first or after an MCP reload to prove the connected server version; do not use as an npm/PyPI lookup. Inputs: format changes rendering only; no project path is required. Effects: read-only; writes no files; no auth or network required.
입력 스키마
{
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"prompt"
],
"description": "Output format. markdown is human-readable, json is structured, and prompt is a."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.activate(format)
Run a source-free compiler smoke test through the real Axint pipeline. Use immediately after installing or connecting Axint so the current agent proves it did more than start the MCP server. Use: call immediately after install or first MCP connection; use validate or run for project checks. Inputs: format changes rendering only; the smoke test has no project inputs. Effects: read-only built-in compiler smoke test; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. markdown is human-readable, json is structured for automation."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🔴axint.upgrade(cwd, targetVersion, latestVersion, apply, reinstallXcode, ...)
Check the latest Axint package and optionally apply the upgrade while preserving the current agent thread. Use: call when axint.status shows a stale server; not for app dependency upgrades. Inputs: apply defaults false; targetVersion selects the install, while reinstallXcode and writeReport matter only when applying. Effects: destructive when apply=true: can run package installs, refresh Xcode wiring, and write .axint/upgrade; may use npm.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory where .axint/upgrade/latest.* should be written."
},
"targetVersion": {
"type": "string",
"description": "Specific Axint version to install. Defaults to the latest published npm version."
},
"latestVersion": {
"type": "string",
"description": "Known latest version to compare against."
},
"apply": {
"type": "boolean",
"description": "Whether to install the target package."
},
"reinstallXcode": {
"type": "boolean",
"description": "Whether apply mode should also refresh optional Xcode MCP wiring."
},
"writeReport": {
"type": "boolean",
"description": "Whether to write .axint/upgrade/latest.json and latest.md."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"prompt"
],
"description": "Output format. markdown is human-readable, json is structured, and prompt is."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.doctor(cwd, expectedVersion, format)
Audit the current Axint runtime and project wiring: running MCP version, expected version, Node/npm/npx paths, project .mcp.json, AGENTS.md, CLAUDE.md, .axint/project.json, and Xcode Claude Agent registration. Use this when an agent might be connected to a stale Axint process or when a new project needs first-try MCP setup proof. Use: call when MCP wiring, package paths, Xcode setup, or project memory may be stale; use run for build proof. Inputs: cwd selects the project; expectedVersion turns a runtime mismatch into a blocker. Effects: read-only inspection; writes no files; no auth or network required.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory to inspect. Defaults to the MCP process cwd."
},
"expectedVersion": {
"type": "string",
"description": "Expected Axint version."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟡axint.xcode.guard(cwd, projectName, expectedVersion, platform, stage, ...)
Guard an Xcode agent session against context compaction and Axint drift. Checks project memory files, active Axint session, latest Axint Run or guard proof, and long-task freshness. Use: call around long Xcode tasks, context recovery, broad Swift edits, or before claiming runtime proof; use workflow.check. Inputs: stage selects the gate; modifiedFiles and notes narrow drift checks; autoStartSession defaults true. Effects: writes .axint/guard proof and may start a session; does not edit app source or use network.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory to guard. Defaults to the MCP process cwd."
},
"projectName": {
"type": "string",
"description": "Project name for the guard report."
},
"expectedVersion": {
"type": "string",
"description": "Expected Axint version for the active project."
},
"platform": {
"type": "string",
"description": "Target Apple platform, such as macOS, iOS, visionOS, or all."
},
"stage": {
"type": "string",
"enum": [
"context-recovery",
"planning",
"before-write",
"after-write",
"pre-build",
"runtime",
"finish"
],
"description": "Current Xcode workflow stage. Defaults to context-recovery."
},
"sessionToken": {
"type": "string",
"description": "Current axint.session.start token, if already known."
},
"modifiedFiles": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Files in scope for this task."
},
"notes": {
"type": "string",
"description": "Agent/user notes to scan for compaction, drift, forgotten Axint usage, or."
},
"lastAxintTool": {
"type": "string",
"description": "Last Axint tool the agent used, e.g. axint.suggest or axint.feature."
},
"lastAxintResult": {
"type": "string",
"description": "Short result from the last Axint tool call."
},
"maxMinutesSinceAxint": {
"type": "number",
"description": "Maximum allowed minutes since latest Axint evidence. Defaults to 10."
},
"autoStartSession": {
"type": "boolean",
"description": "Whether to start axint.session.start automatically if no active session exists."
},
"writeReport": {
"type": "boolean",
"description": "Whether to write .axint/guard/latest.json and latest.md. Defaults to true."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟡axint.xcode.write(cwd, path, content, projectName, expectedVersion, ...)
Write a file inside the Xcode project through the Axint guard path. For Swift files, runs axint.swift.validate and axint.cloud.check immediately, then records .axint/guard/latest.* proof. Use this instead of raw XcodeWrite when an agent is editing Apple-native files during a long task. Use: use only for guarded Xcode-project file writes; outside Xcode, patch normally and validate after. Inputs: path must remain inside cwd; createDirs, validateSwift, and cloudCheck default true. Effects: writes the requested file inside cwd, may create dirs, validates Swift, and may write guard/check artifacts.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project root. Defaults to the MCP process cwd."
},
"path": {
"type": "string",
"description": "File path to write. Relative paths are resolved inside cwd; absolute paths must still be inside cwd."
},
"content": {
"type": "string",
"description": "Full file contents to write."
},
"projectName": {
"type": "string",
"description": "Project name for guard/session reports."
},
"expectedVersion": {
"type": "string",
"description": "Expected Axint version for this project."
},
"platform": {
"type": "string",
"enum": [
"iOS",
"macOS",
"watchOS",
"visionOS",
"all"
],
"description": "Target Apple platform for Cloud Check."
},
"sessionToken": {
"type": "string",
"description": "Current axint.session.start token, if already known."
},
"createDirs": {
"type": "boolean",
"description": "Whether to create parent directories before writing. Defaults to true."
},
"validateSwift": {
"type": "boolean",
"description": "Whether to run Swift validation for .swift files. Defaults to true."
},
"cloudCheck": {
"type": "boolean",
"description": "Whether to run Cloud Check for .swift files. Defaults to true."
},
"notes": {
"type": "string",
"description": "Agent notes or user feedback to scan for drift while writing."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
},
"required": [
"path",
"content"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}⚪axint.session.start(targetDir, projectName, expectedVersion, platform, agent, ...)
Start an enforced Axint agent session. Writes .axint/session/current.json plus token-scoped session history, refreshes .axint/AXINT_REHYDRATE.md, returns compact operating memory, docs context, a session token, and the exact axint.workflow.check args. Use: call at the start of a tool-enabled agent session or after context compaction. Inputs: cwd scopes session files; prior token and context inputs preserve continuity after compaction. Effects: writes .axint/session and rehydration artifacts; no auth or network required.
입력 스키마
{
"type": "object",
"properties": {
"targetDir": {
"type": "string",
"description": "Project directory where .axint/session/current.json and token-scoped session."
},
"projectName": {
"type": "string",
"description": "Project name to embed in the session and returned context."
},
"expectedVersion": {
"type": "string",
"description": "Expected Axint package version. Defaults to the running MCP version."
},
"platform": {
"type": "string",
"description": "Target Apple platform, such as macOS, iOS, visionOS, or all."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Agent target for the session. Defaults to all."
},
"ttlMinutes": {
"type": "number",
"description": "How long the session token remains valid. Defaults to 720 minutes."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.feature(description, surfaces, name, appName, domain, ...)
Generate a scaffolded Apple-native feature package from a description. Returns multiple files: compile-aware Swift source, companion widget/view, Info.plist fragments, entitlements, and XCTest scaffolds — all structured file-by-file so an Xcode agent can write each file directly into the project. Use: use for new Apple-native surfaces; not for repairing existing app bugs. Inputs: description is the feature brief; kind and platform constrain the generated package. Effects: read-only generated output; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"description": {
"type": "string",
"description": "What the feature does, in natural language. E.g., 'Let users log water intake via Siri' or 'Add a Spotlight-searchable recipe entity'."
},
"surfaces": {
"type": "array",
"items": {
"type": "string",
"enum": [
"intent",
"view",
"widget",
"component",
"app",
"store",
"model",
"models",
"state",
"data"
],
"description": "Allowed string value for this Axint parameter."
},
"description": "Which Apple surfaces to generate. 'intent' produces an App Intent struct for."
},
"name": {
"type": "string",
"description": "PascalCase feature name, e.g., 'LogWaterIntake'."
},
"appName": {
"type": "string",
"description": "The target app name, used in generated comments and test references."
},
"domain": {
"type": "string",
"description": "Apple App Intent domain."
},
"params": {
"type": "object",
"description": "Explicit parameter definitions as { fieldName: typeString }.",
"additionalProperties": {
"type": "string",
"description": "Swift type for this parameter."
}
},
"platform": {
"type": "string",
"enum": [
"iOS",
"macOS",
"visionOS",
"all"
],
"description": "Target Apple platform for generated starter UI."
},
"tokenNamespace": {
"type": "string",
"description": "Optional Swift token enum generated by axint.tokens.ingest, e.g., 'SwarmTokens'."
},
"componentKind": {
"type": "string",
"description": "Optional component blueprint for the component surface, such as feedCard."
},
"context": {
"type": "string",
"description": "Optional nearby SwiftUI/design context."
},
"format": {
"type": "boolean",
"description": "When true (default), pipes every generated Swift file through swift-format with."
}
},
"required": [
"description"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.project.pack(projectName, targetDir, agent, mode, format)
Generate the Axint project-start pack for a new Apple app without writing files. Use: use to bootstrap a new Apple project with Axint instructions; use project.index to inspect an existing project. Inputs: cwd and projectName identify the project; host choices control generated integration files. Effects: read-only generated file pack; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"projectName": {
"type": "string",
"description": "Project name to embed in the generated instructions."
},
"targetDir": {
"type": "string",
"description": "Project directory label to embed in the report."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Agent target. Defaults to all."
},
"mode": {
"type": "string",
"enum": [
"local",
"remote"
],
"description": "MCP mode. local uses npx stdio; remote uses mcp.axint.ai."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟡axint.project.index(targetDir, projectName, changedFiles, includeGit, dryRun, ...)
Scan the local Apple project and write a compact .axint/context pack so Axint can reason over changed files, nearby SwiftUI surfaces, and interaction-risk files instead of only one source file at a time. Use: use before project-aware repair, multi-file SwiftUI work, or interaction-risk analysis. Inputs: changedFiles seed related-file discovery; dryRun returns the pack without writing .axint/context. Effects: writes .axint/context unless dryRun=true; reads local project files only.
입력 스키마
{
"type": "object",
"properties": {
"targetDir": {
"type": "string",
"description": "Project directory to index. Defaults to the current working directory."
},
"projectName": {
"type": "string",
"description": "Optional project name override for the context pack."
},
"changedFiles": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Optional changed files to pin into the context pack."
},
"includeGit": {
"type": "boolean",
"description": "Whether to include git changed-file discovery. Defaults to true."
},
"dryRun": {
"type": "boolean",
"description": "When true, returns the index without writing .axint/context files."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟡axint.project.syncVersion(targetDir, version, dryRun, format)
Update Axint-owned project-pack version hints after an upgrade. Use this after axint.upgrade or npm/pip upgrades so .axint/project.json, AGENTS.md, CLAUDE.md, and Axint rehydration docs stop pointing agents at an older package version. Use: use after package upgrades so local project-pack hints stop naming old Axint versions. Inputs: cwd scopes Axint-owned files; targetVersion overrides running version; dryRun prevents writes. Effects: updates Axint-owned project instruction files unless dryRun=true; no network.
입력 스키마
{
"type": "object",
"properties": {
"targetDir": {
"type": "string",
"description": "Project directory to update. Defaults to the current working directory."
},
"version": {
"type": "string",
"description": "Axint version to write. Defaults to the running MCP server version."
},
"dryRun": {
"type": "boolean",
"description": "When true, reports the files that would change without writing them."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.context.memory(projectName, expectedVersion, platform)
Return the compact Axint operating memory that agents should reload at new chat start, after context compaction, or after long coding drift. Use this to keep Axint top-of-mind without rereading the full docs. Use: use after compaction or session restart for compact operating rules; use context.docs for longer workflow docs. Inputs: cwd selects project memory; format changes rendering without changing content. Effects: read-only generated context; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"projectName": {
"type": "string",
"description": "Project name to include in the memory."
},
"expectedVersion": {
"type": "string",
"description": "Expected Axint version to compare against axint.status."
},
"platform": {
"type": "string",
"description": "Target Apple platform, such as macOS, iOS, visionOS, or all."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.context.docs(projectName, expectedVersion, platform)
Return the project-local Axint docs context that agents should reload after new chats or context compaction. This is the durable docs memory that keeps the agent using Axint instead of forgetting the workflow. Use: use after compaction when the agent needs workflow docs without rereading the whole site. Inputs: cwd selects project docs context; include sections only when the longer runbook is needed. Effects: read-only generated docs context; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"projectName": {
"type": "string",
"description": "Project name to include in the docs context."
},
"expectedVersion": {
"type": "string",
"description": "Expected Axint version to compare against axint.status."
},
"platform": {
"type": "string",
"description": "Target Apple platform, such as macOS, iOS, visionOS, or all."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.suggest(appDescription, domain, mode, platform, audience, ...)
Suggest Apple-native features for an app based on its description. The domain is only a weak hint; the app description wins. Returns a ranked list of features with recommended surfaces (intent, widget, view, component, store, app), estimated complexity, and a one-line description for each. Use: use before generation to choose Apple surfaces; not a substitute for registry search or validation. Inputs: prompt is the product brief; dir adds project context; Pro mode is used only when configured. Effects: local mode is read-only; Pro mode may call Axint endpoint when credentials are configured.
입력 스키마
{
"type": "object",
"properties": {
"appDescription": {
"type": "string",
"description": "What the app does, in natural language. E.g., 'A fitness tracking app that logs workouts and counts steps' or 'A recipe app for discovering and saving meals'."
},
"domain": {
"type": "string",
"description": "Primary app domain."
},
"mode": {
"type": "string",
"enum": [
"local",
"auto",
"ai",
"pro"
],
"description": "Suggestion strategy. local is deterministic and offline. pro/ai uses the."
},
"platform": {
"type": "string",
"enum": [
"iOS",
"macOS",
"watchOS",
"visionOS",
"multi"
],
"description": "Optional Apple platform target used by AI mode to tailor suggestions."
},
"audience": {
"type": "string",
"description": "Optional audience context, such as consumers, teams, operators, developers."
},
"exclude": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Optional concepts to avoid, for example ['dating', 'fitness']."
},
"goals": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Optional product goals for Pro mode, such as activation, retention, conversion."
},
"stage": {
"type": "string",
"enum": [
"idea",
"prototype",
"mvp",
"growth",
"enterprise",
"unknown"
],
"description": "Optional product stage used by Pro mode to tune suggestions without embedding."
},
"constraints": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Optional constraints for Pro mode, such as must be macOS-native, no server, no."
},
"limit": {
"type": "number",
"description": "Maximum number of suggestions to return. Defaults to 5."
}
},
"required": [
"appDescription"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.registry.search(query, kind, platform, limit, minScore)
Search the Axint Registry for already-published packages that match a natural-language query. Use this BEFORE calling axint.feature or axint.compile so the agent can install an existing package instead of regenerating Swift the community has already shipped. Use: use before generating code to find reusable packages; not for validating local Swift. Inputs: query drives ranking; kind and platform narrow results without changing the registry source. Effects: read-only local registry search using AXINT_REGISTRY_PATH or sibling checkout; no network by default.
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Free-form description of what the agent is about to build. E.g., 'log a workout', 'capture a voice note', 'show timer'."
},
"kind": {
"type": "string",
"description": "Optional surface filter."
},
"platform": {
"type": "string",
"description": "Optional platform filter. One of: iOS, macOS, watchOS, tvOS, visionOS."
},
"limit": {
"type": "number",
"description": "Hard cap on returned hits. Defaults to 10."
},
"minScore": {
"type": "number",
"description": "Minimum normalized match score (0..1) below which results are dropped."
}
},
"required": [
"query"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}⚪axint.workflow.check(cwd, sessionStarted, agent, sessionToken, requireSession, ...)
Agent workflow gate that records a local freshness stamp. Requires the current Axint session token from axint.session.start unless requireSession=false is explicitly set. Use: use at stage gates to prove workflow coverage; use status for version checks and run for build/test proof. Inputs: stage selects the gate; sessionToken proves continuity; allowNoSession is an explicit escape hatch. Effects: writes a local .axint/session workflow freshness stamp; edits no app source and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory containing .axint/session/current.json."
},
"sessionStarted": {
"type": "boolean",
"description": "Whether axint.session.start was called in this chat/recovery pass."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Agent host/tool lane for this gate."
},
"sessionToken": {
"type": "string",
"description": "Token returned by axint.session.start."
},
"requireSession": {
"type": "boolean",
"description": "Set false only for legacy/manual checks. Defaults to true."
},
"stage": {
"type": "string",
"enum": [
"session-start",
"context-recovery",
"planning",
"before-write",
"pre-build",
"pre-commit"
],
"description": "Workflow stage being checked. Defaults to pre-build."
},
"surfaces": {
"type": "array",
"items": {
"type": "string",
"enum": [
"intent",
"view",
"widget",
"component",
"app",
"store"
],
"description": "Allowed string value for this Axint parameter."
},
"description": "Apple surfaces touched by this task. If omitted, inferred from modifiedFiles."
},
"modifiedFiles": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Files changed in this agent pass, used to infer whether Swift validation is."
},
"ranSuggest": {
"type": "boolean",
"description": "Whether axint.suggest was used during planning."
},
"ranStatus": {
"type": "boolean",
"description": "Whether axint.status was called to confirm the running MCP version."
},
"readRehydrationContext": {
"type": "boolean",
"description": "Whether .axint/AXINT_REHYDRATE.md was read after a new chat, context."
},
"readAgentInstructions": {
"type": "boolean",
"description": "Whether AGENTS.md, CLAUDE.md, or .axint/project.json was read after a new chat."
},
"readDocsContext": {
"type": "boolean",
"description": "Whether .axint/AXINT_DOCS_CONTEXT.md was read or axint.context.docs was called."
},
"ranFeature": {
"type": "boolean",
"description": "Whether axint.feature was used for a new surface scaffold."
},
"ranRepair": {
"type": "boolean",
"description": "Whether axint.repair was used for an existing-code repair plan."
},
"featureBypassReason": {
"type": "string",
"description": "Concrete reason axint.feature was intentionally bypassed."
},
"ranSwiftValidate": {
"type": "boolean",
"description": "Whether axint.swift.validate was run on modified Swift."
},
"ranCloudCheck": {
"type": "boolean",
"description": "Whether axint.cloud.check was run with source/evidence."
},
"xcodeBuildPassed": {
"type": "boolean",
"description": "Whether Xcode build evidence passed."
},
"xcodeTestsPassed": {
"type": "boolean",
"description": "Whether focused unit/UI tests passed."
},
"notes": {
"type": "string",
"description": "Optional human/agent context for why a step was skipped."
},
"availableTools": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Optional list of Axint MCP tools visible in this host session."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.fix-packet(cwd, packetDir, format)
Read the latest Fix Packet that Axint emitted locally after a compile or watch run. Returns the exact repair artifact that AI tools or Xcode helpers should consume next: verdict, top findings, full diagnostics, next steps, and an AI-ready fix prompt. Use: use after a local compile/watch/check emitted a packet; not a new analysis pass. Inputs: cwd and path locate an existing packet; latest selects the newest artifact and never reruns analysis. Effects: read-only local artifact read; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Optional working directory to search from."
},
"packetDir": {
"type": "string",
"description": "Optional explicit packet directory override."
},
"format": {
"type": "string",
"enum": [
"json",
"markdown",
"prompt"
],
"description": "Output format. json returns the full packet, markdown returns the."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.cloud.check(source, sourcePath, fileName, language, platform, ...)
Run an agent-callable Cloud Check against Swift or Axint TypeScript source. Accepts inline source or a sourcePath, then returns a Cloud-style verdict, Apple-specific findings, next steps, an AI repair prompt, and a redacted compiler feedback signal when the check finds a bug. Use: use for Apple-aware source review and repair prompts; provide evidence for UI/runtime claims. Inputs: provide source or sourcePath, not both; evidence fields strengthen UI and runtime claims. Effects: read-only response from provided source/path; may use configured Cloud Check endpoint; no source is sent unless.
입력 스키마
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Inline Swift or Axint TypeScript source to check."
},
"sourcePath": {
"type": "string",
"description": "Optional file path to read and check."
},
"fileName": {
"type": "string",
"description": "Optional display name for diagnostics when passing inline source."
},
"language": {
"type": "string",
"enum": [
"swift",
"typescript",
"unknown"
],
"description": "Optional language override."
},
"platform": {
"type": "string",
"enum": [
"iOS",
"macOS",
"watchOS",
"visionOS",
"all"
],
"description": "Optional target platform hint."
},
"expectedVersion": {
"type": "string",
"description": "Optional expected Axint version for this project/session."
},
"localPackageVersion": {
"type": "string",
"description": "Optional local CLI/package version when the caller knows it."
},
"cloudRulesetVersion": {
"type": "string",
"description": "Optional hosted/cloud ruleset version when different from the local compiler."
},
"xcodeBuildLog": {
"type": "string",
"description": "Optional short Xcode build excerpt."
},
"testFailure": {
"type": "string",
"description": "Optional short failing unit/UI-test excerpt."
},
"runtimeFailure": {
"type": "string",
"description": "Optional crash, freeze, hang, launch timeout, console, preview, or runtime."
},
"expectedBehavior": {
"type": "string",
"description": "Optional expected behavior for behavior-gap checks."
},
"actualBehavior": {
"type": "string",
"description": "Optional observed behavior for behavior-gap checks."
},
"projectContextPath": {
"type": "string",
"description": "Optional path to a local .axint/context/latest.json pack written by."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"prompt",
"feedback"
],
"description": "Output format. markdown returns the report, json returns structured data."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟡axint.feedback.create(cwd, latest, issue, source, sourcePath, ...)
Create or read a privacy-safe learning packet for Axint repair intelligence. Packets include project shape, diagnostic codes, issue class, redacted evidence, and likely product owner, but never include source code. Users can inspect the JSON before sending it to Axint Cloud. Use: create a privacy-safe issue packet when output was weak, or read the latest packet; never use it to send source. Inputs: latest reads instead of creates; outcome and diagnostic fields stay source-free unless excerpts are explicit. Effects: writes or reads redacted .axint/feedback packets; never includes source by default.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory. Defaults to the MCP process cwd."
},
"latest": {
"type": "boolean",
"description": "When true, return the latest local feedback packet instead of creating a new."
},
"issue": {
"type": "string",
"description": "Bug, weak Axint output, or failed repair behavior."
},
"source": {
"type": "string",
"description": "Optional inline Swift source used locally only."
},
"sourcePath": {
"type": "string",
"description": "Optional suspected Swift file path used locally only."
},
"fileName": {
"type": "string",
"description": "Display file name when passing inline source."
},
"platform": {
"type": "string",
"enum": [
"iOS",
"macOS",
"watchOS",
"visionOS",
"all"
],
"description": "Target Apple platform hint."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Active host/tool lane."
},
"expectedBehavior": {
"type": "string",
"description": "Optional expected behavior."
},
"actualBehavior": {
"type": "string",
"description": "Optional actual behavior."
},
"xcodeBuildLog": {
"type": "string",
"description": "Optional Xcode build/test log evidence."
},
"testFailure": {
"type": "string",
"description": "Optional focused unit/UI-test failure text."
},
"runtimeFailure": {
"type": "string",
"description": "Optional crash, freeze, hang, or runtime failure text."
},
"changedFiles": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Changed files to pin into the context pack."
},
"projectContextPath": {
"type": "string",
"description": "Optional .axint/context/latest.json path."
},
"format": {
"type": "string",
"enum": [
"json",
"markdown"
],
"description": "Output format. Defaults to json."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟡axint.agent.install(cwd, projectName, agent, privacyMode, providerMode, ...)
Install the local Axint multi-agent project brain. Writes .axint/agent.json, .axint/context/latest.*, and .axint/coordination files so AI agents, Xcode, and humans coordinate through the same local truth layer. Use: use once per project to create local multi-agent coordination; not needed for one-off compile. Inputs: cwd scopes local coordination; projectName and hosts shape generated project-brain files. Effects: writes .axint/agent, context, and coordination files; no network.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory. Defaults to the MCP process cwd."
},
"projectName": {
"type": "string",
"description": "Optional project name override."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Active host/tool lane. Defaults to all."
},
"privacyMode": {
"type": "string",
"enum": [
"local_only",
"redacted_cloud",
"source_opt_in"
],
"description": "Privacy posture for this project."
},
"providerMode": {
"type": "string",
"enum": [
"none",
"bring_your_own_key",
"axint_cloud"
],
"description": "Optional model-provider posture for future AI-enhanced advice. Defaults to none."
},
"force": {
"type": "boolean",
"description": "Rewrite the existing local agent config if present."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"prompt"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟡axint.agent.advice(cwd, issue, agent, changedFiles, format)
Ask the local Axint project brain what this agent should do next. Reads project context, latest run proof, latest repair plan, and active file claims, then returns host-specific guidance for Xcode, patch-first editors, or another agent lane. Use: use when local proof should choose the next move; use suggest for greenfield ideas and repair for known bugs. Inputs: cwd selects local context; question and modifiedFiles focus the next-move recommendation. Effects: reads local Axint context/proof and may refresh advice artifacts; no network.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory. Defaults to the MCP process cwd."
},
"issue": {
"type": "string",
"description": "Optional bug, feature, or repair goal to turn into project-aware next moves."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Active host/tool lane."
},
"changedFiles": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Files in scope. Axint uses these to detect claim conflicts and recommend proof."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"prompt"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟡axint.agent.claim(cwd, agent, task, files, ttlMinutes, ...)
Claim files before an agent edits them so other agents do not patch the same SwiftUI/App files concurrently. Claims are local, short-lived, and stored in .axint/coordination/claims.json. Use: use before editing shared files in parallel-agent work; release claims when done. Inputs: agentId and files identify the claim; ttlMinutes bounds ownership and force overrides stale claims. Effects: writes local coordination claims under .axint/coordination; no network.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory. Defaults to the MCP process cwd."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Agent lane creating the claim."
},
"task": {
"type": "string",
"description": "Task, bug, or repair pass this claim covers."
},
"files": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Files to claim before editing."
},
"ttlMinutes": {
"type": "number",
"description": "Claim TTL in minutes. Defaults to 30."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"prompt"
],
"description": "Output format. Defaults to markdown."
}
},
"required": [
"files"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}⚪axint.agent.release(cwd, agent, files, all, format)
Release active local Axint file claims for this agent after finishing or abandoning a task. This keeps parallel agents and Xcode from blocking each other on stale claims. Use: use after finishing or abandoning claimed files; use agent.claim before edits and agent.advice for next steps. Inputs: agentId releases only its matching claims unless files narrow the release set. Effects: updates local coordination claims under .axint/coordination; no network.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory. Defaults to the MCP process cwd."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Agent lane releasing claims."
},
"files": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Optional files to release. Omit to release this agent's claims."
},
"all": {
"type": "boolean",
"description": "Release all matching active claims."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"prompt"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}⚪axint.run(cwd, projectName, expectedVersion, platform, agent, ...)
Run the enforced Axint Apple build loop outside the Xcode UI. Use: use for the complete proof loop; use swift.validate, cloud.check, or fix-packet when only one stage is needed. Inputs: integration=minimal enforces local advisory no-fix behavior; background returns a job id; outputDir controls artifacts. Effects: starts child processes, writes .axint/run artifacts, may run xcodebuild/tests, and may call Cloud Check.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory to run. Defaults to the MCP process cwd."
},
"projectName": {
"type": "string",
"description": "Project name for Axint session and report labels."
},
"expectedVersion": {
"type": "string",
"description": "Expected Axint package version for the run session."
},
"platform": {
"type": "string",
"enum": [
"macOS",
"iOS",
"watchOS",
"visionOS",
"all"
],
"description": "Target Apple platform. Defaults to macOS unless inferred from destination."
},
"agent": {
"type": "string",
"enum": [
"all",
"claude",
"codex",
"cowork",
"cursor",
"xcode"
],
"description": "Current agent host lane."
},
"scheme": {
"type": "string",
"description": "Xcode scheme. If omitted, Axint tries to infer one."
},
"workspace": {
"type": "string",
"description": "Path to .xcworkspace, relative to cwd or absolute."
},
"project": {
"type": "string",
"description": "Path to .xcodeproj, relative to cwd or absolute."
},
"destination": {
"type": "string",
"description": "xcodebuild destination, e.g. platform=macOS or platform=iOS."
},
"configuration": {
"type": "string",
"description": "Xcode build configuration, e.g. Debug or Release."
},
"derivedDataPath": {
"type": "string",
"description": "Optional xcodebuild -derivedDataPath."
},
"testPlan": {
"type": "string",
"description": "Optional xcodebuild -testPlan for test runs."
},
"onlyTesting": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Optional focused xcodebuild -only-testing selectors, e.g."
},
"modifiedFiles": {
"type": "array",
"items": {
"type": "string",
"description": "String value for this Axint parameter."
},
"description": "Changed Swift files to validate and Cloud Check."
},
"skipBuild": {
"type": "boolean",
"description": "Skip xcodebuild build and only run Axint static gates."
},
"skipTests": {
"type": "boolean",
"description": "Skip xcodebuild test."
},
"runtime": {
"type": "boolean",
"description": "After build, launch the built macOS .app and capture runtime/timeout evidence."
},
"runtimeTimeoutSeconds": {
"type": "number",
"description": "Runtime launch timeout in seconds."
},
"timeoutSeconds": {
"type": "number",
"description": "Build/test timeout in seconds."
},
"expectedBehavior": {
"type": "string",
"description": "Expected runtime behavior for semantic bug checks."
},
"actualBehavior": {
"type": "string",
"description": "Actual runtime behavior for semantic bug checks."
},
"runtimeFailure": {
"type": "string",
"description": "Crash, freeze, hang, launch timeout, or UI failure evidence."
},
"integration": {
"type": "string",
"enum": [
"full",
"minimal"
],
"description": "Execution profile. minimal denies network/project mutation, disables automatic."
},
"localOnly": {
"type": "boolean",
"description": "Deny hosted/network checks for this run."
},
"advisory": {
"type": "boolean",
"description": "Keep unconfirmed static findings non-blocking while preserving them in the."
},
"fix": {
"type": "boolean",
"description": "Allow automatic fix behavior. Forced false by minimal mode."
},
"outputDir": {
"type": "string",
"description": "Explicit artifact directory."
},
"dryRun": {
"type": "boolean",
"description": "Plan xcodebuild commands without executing them."
},
"writeReport": {
"type": "boolean",
"description": "Whether to write .axint/run/latest.json and latest.md. Defaults to true."
},
"background": {
"type": "boolean",
"description": "Start the run and immediately return a resumable job id instead of waiting for."
},
"includeSource": {
"type": "boolean",
"description": "Include full Swift source and full command output in json output."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json",
"prompt"
],
"description": "Output format. markdown returns the run report, json returns structured data."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.run.status(cwd, id, format)
Read the latest or selected Axint run job record, including active child process IDs. Use this when a long xcodebuild run may still be active after an MCP timeout or client disconnect. Use: use after MCP timeouts or long builds to inspect or rejoin; it does not start, rerun, or cancel work. Inputs: jobId selects a background run; includeLogs changes returned detail without changing the job. Effects: read-only local run/job inspection; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory. Defaults to the MCP process cwd."
},
"id": {
"type": "string",
"description": "Optional Axint run id. Defaults to latest active run."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🔴axint.run.cancel(cwd, id, format)
Cancel the latest or selected Axint run by killing active child process groups. Use this when xcodebuild or a UI-test runner survived an MCP timeout or transport close. Use: use only to stop an active run or stuck child process group; use run.status for read-only inspection. Inputs: jobId is required; signal and grace period control escalation before killing the process group. Effects: destructive: kills active Axint child process groups; no network.
입력 스키마
{
"type": "object",
"properties": {
"cwd": {
"type": "string",
"description": "Project directory. Defaults to the MCP process cwd."
},
"id": {
"type": "string",
"description": "Optional Axint run id. Defaults to latest active run."
},
"format": {
"type": "string",
"enum": [
"markdown",
"json"
],
"description": "Output format. Defaults to markdown."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.tokens.ingest(source, sourcePath, namespace, format)
Ingest design tokens from JSON, JS/TS object exports, or CSS variables and return a SwiftUI token enum. Use this before generating Swarm-style views/components so agents can preserve exact brand colors, dimensions, radii, spacing, and typography. No files are written. Use: use before view/component generation when a design system should be preserved. Inputs: tokens accepts structured design values; enumName and accessLevel shape generated Swift names. Effects: read-only Swift token output; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"source": {
"type": "string",
"description": "Inline token source."
},
"sourcePath": {
"type": "string",
"description": "Path to a token file such as swarm-tokens.js, tokens.json, or tokens.css."
},
"namespace": {
"type": "string",
"description": "Swift enum namespace to generate. Example: SwarmTokens."
},
"format": {
"type": "string",
"enum": [
"swift",
"json",
"markdown"
],
"description": "Output format. swift returns the SwiftUI token enum, json returns normalized."
}
}
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}🟢axint.schema.compile(type, name, title, description, componentKind, ...)
Compile a minimal JSON schema directly to Swift, bypassing the TypeScript DSL entirely. Supports intents, views, components, widgets, and full apps via the 'type' parameter. Uses ~20 input tokens vs hundreds for TypeScript — ideal for LLM agents optimizing token budgets. Use: use for token-light JSON-to-Swift generation; use compile for full TypeScript DSL control and scaffold for TS starters. Inputs: schema kind selects intent, view, widget, or app output; options add companion metadata. Effects: read-only Swift generation; writes no files and uses no network.
입력 스키마
{
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"intent",
"view",
"component",
"widget",
"app"
],
"description": "What to compile."
},
"name": {
"type": "string",
"description": "PascalCase name, e.g., 'CreateEvent' for intents, 'EventListView' for views, 'StepsWidget' for widgets. Used as the Swift struct name."
},
"title": {
"type": "string",
"description": "Human-readable title shown in Shortcuts/Spotlight. Intent only."
},
"description": {
"type": "string",
"description": "Description of what this intent/view/widget does."
},
"componentKind": {
"type": "string",
"enum": [
"feedCard",
"mediaCard",
"utilityRow",
"cardArchetypes",
"avatar",
"statusRing",
"missionCard",
"contextPanel",
"contextUpdateCard",
"decisionLog",
"approvalCard",
"agentRow",
"roleCard",
"signalCard",
"channelRow",
"sidebarRail",
"profileCard",
"settingsView",
"semanticCard",
"semanticRow",
"semanticPill",
"semanticPanel",
"semanticBar",
"semanticList",
"custom"
],
"description": "Component only. Optional known component shape."
},
"tokenNamespace": {
"type": "string",
"description": "Optional Swift token enum generated by axint.tokens.ingest, e.g., 'SwarmTokens'."
},
"domain": {
"type": "string",
"description": "Apple App Intent domain. Intent only."
},
"params": {
"type": "object",
"description": "Intent only. Parameter definitions as { fieldName: typeString }.",
"additionalProperties": {
"type": "string",
"description": "Swift type for this parameter: string, int, double, float, boolean, date."
}
},
"props": {
"type": "object",
"description": "View only. Prop definitions as { fieldName: typeString }.",
"additionalProperties": {
"type": "string",
"description": "Swift type for this prop: string, int, double, float, boolean, date, duration."
}
},
"state": {
"type": "object",
"description": "View only.",
"additionalProperties": {
"type": "object",
"description": "State variable config with type and optional default value.",
"properties": {
"type": {
"type": "string",
"description": "Swift type: string, int, double, float, boolean, date, duration, or url."
},
"default": {
"type": "string",
"description": "Optional default value for the @State property."
}
},
"required": [
"type"
]
}
},
"body": {
"type": "string",
"description": "View/widget only."
},
"displayName": {
"type": "string",
"description": "Widget only. Human-readable name shown in the widget gallery."
},
"families": {
"type": "array",
"items": {
"type": "string",
"description": "Widget family: systemSmall, systemMedium, systemLarge, systemExtraLarge."
},
"description": "Widget only."
},
"entry": {
"type": "object",
"description": "Widget only. Timeline entry fields as { fieldName: typeString }.",
"additionalProperties": {
"type": "string",
"description": "Swift type for this entry field: string, int, double, float, boolean, date."
}
},
"refreshInterval": {
"type": "number",
"description": "Widget only. Timeline refresh interval in minutes."
},
"platform": {
"type": "string",
"enum": [
"iOS",
"macOS",
"visionOS",
"all"
],
"description": "Optional target Apple platform hint for view/widget generation."
},
"scenes": {
"type": "array",
"items": {
"type": "object",
"description": "Scene definition with kind, view, and optional title/platform.",
"properties": {
"kind": {
"type": "string",
"enum": [
"windowGroup",
"window",
"documentGroup",
"settings"
],
"description": "Scene type. windowGroup is most common for single-window apps."
},
"view": {
"type": "string",
"description": "Root SwiftUI view name, e.g., 'ContentView'. Must be defined elsewhere."
},
"title": {
"type": "string",
"description": "Window title shown in the title bar."
},
"name": {
"type": "string",
"description": "Unique scene identifier for programmatic access."
},
"platform": {
"type": "string",
"enum": [
"macOS",
"iOS",
"visionOS"
],
"description": "Platform guard — wraps scene in #if os(...). Omit for cross-platform."
}
},
"required": [
"kind",
"view"
]
},
"description": "App only. Scene definitions for the @main App struct."
},
"format": {
"type": "boolean",
"description": "When true (default), pipes generated Swift through swift-format with Axint's."
}
},
"required": [
"type",
"name"
]
}출력 스키마
{
"type": "object",
"properties": {
"text": {
"type": "string"
},
"isError": {
"type": "boolean"
}
},
"required": [
"text"
],
"additionalProperties": false
}커뮤니티
증거