Skip to main content
Glama

axint.compile

Read-onlyIdempotent

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.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
formatNoWhen true (default), pipes generated Swift through swift-format with Axint's.
sourceYesFull TypeScript source code containing a defineIntent() call. Must be a complete file starting with an axint import, not a fragment.
fileNameNoOptional file name used in diagnostic messages, e.g., 'SendMessage.intent.ts'.
emitInfoPlistNoWhen true, returns an Info.plist XML fragment declaring the intent's.
emitEntitlementsNoWhen true, returns an .entitlements XML fragment for the intent's declared.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
textYes
isErrorNo

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false, but the description goes further by stating 'no files written, no network requests' and 'writes no files and uses no network.' It also discloses failure behavior (returns diagnostics instead of Swift), adding valuable context beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise with clear sections (Returns, Use, Inputs, Effects) and front-loads the core purpose. There is some redundancy between the return statement and the later 'Effects' line, but overall it is well-organized and scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a five-parameter compile tool, the description covers purpose, output structure, error behavior, side effects, and usage alternative. It does not attempt to restate return values in detail (output schema exists), but it omits any mention of prerequisites or permissions, though those may not be relevant given the no-network, no-write nature.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Input schema covers all five parameters with descriptions, so baseline is 3. The description adds little parameter-specific meaning: it groups options as 'sandbox, format, plist, or entitlement proof' but does not clarify individual parameters like fileName or the exact semantics of each boolean. No contradiction, but also no substantial added value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Compile TypeScript source (defineIntent() call) into native Swift App Intent code.' It clearly distinguishes this from siblings by naming 'validate' as a cheaper preflight alternative and by specifying the exact return object.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit guidance is provided: 'Use: use when TypeScript DSL source should become Swift; use validate for cheaper preflight only.' This clearly states when to use this tool and directly names an alternative, satisfying the dimension fully.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation4/5

Most tools have clearly distinct purposes, with descriptions specifying exact use cases (e.g., axint.activate for smoke test, axint.status for version). There is minor potential overlap between axint.suggest and axint.feature, but descriptions clarify suggestion vs generation.

Naming Consistency5/5

All tools follow a consistent hierarchical pattern: 'axint.<category>.<action>' (e.g., axint.agent.advice, axint.swift.validate). Even standalone tools like axint.compile fit the pattern. No mixing of conventions.

Tool Count2/5

36 tools is well above the typical 3-15 range for a well-scoped set. While the server covers a broad domain, the sheer number may overwhelm agents and reduce efficiency. A reduction or grouping would improve coherence.

Completeness4/5

The tool set covers the full Axint development lifecycle: installation, compilation, validation, repair, upgrade, session management, and coordination. Minor gaps exist (e.g., no dedicated tool for deleting project artifacts), but core workflows are well-supported.