ios-agent
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| review_app_intentsA | Review SiriKit/INIntent migration opportunities and, when explicitly requested, missing Apple Intelligence entity schemas or onscreen entity associations. Findings are heuristic advisories, not blanket deprecations or proof of invalid code. Use when integrating Siri, Shortcuts or Apple Intelligence. |
| review_swift_concurrencyA | Check a Swift project for Swift 6 concurrency and isolation defects: @Observable types missing @MainActor, Task.detached, DispatchQueue.main.async in async code, @unchecked Sendable, nonisolated(unsafe), unstructured Tasks in onAppear, empty catch blocks, and types named Task that shadow _Concurrency.Task. Use when reviewing Swift code, migrating to Swift 6, or diagnosing a data race. |
| review_swift_architectureA | Check a Swift project for architecture and testability defects: dependencies defaulting to live implementations, the presentation layer naming concrete data-layer types (URLSession, APIClient, ModelContext), singletons resolved inside view models, the domain layer importing UI frameworks, nested NavigationStacks, and deprecated NavigationView. Use when reviewing MVVM or Clean Architecture code, or when a screen cannot be previewed without a network. |
| review_swiftuiA | Check SwiftUI code for view and state defects: fixed font sizes and heights that break Dynamic Type, AnyView, deprecated .cornerRadius, literal spacing values instead of design tokens, materials applied over solid backgrounds, transient presentation state stored on models, legacy ObservableObject and @EnvironmentObject, and try!. Use when reviewing or building SwiftUI screens. |
| check_availability_guardsA | Verify that version-gated Apple APIs are guarded on the version where they were INTRODUCED rather than the newest SDK. Catches both missing guards and over-restrictive ones — for example Liquid Glass (iOS 26) guarded at iOS 27, which silently drops every iOS 26 device to the fallback. Also flags Foundation Models used without a runtime SystemLanguageModel.availability check. Use before shipping, or after bumping an SDK. |
| audit_app_store_readinessA | Check a Swift project for issues that cause App Store rejection or runtime termination: permission-gated frameworks used without an Info.plist purpose string, a missing PrivacyInfo.xcprivacy manifest, unlocalized user-facing strings, icon-only buttons with no accessibility label, and print() used for logging. Use before submitting to App Review. |
| analyze_swift_projectA | Produce an overview of a Swift project — file and line counts, deployment target, Swift tools version, frameworks in use, whether tests exist — together with a summary count of findings across every rule category (concurrency, architecture, SwiftUI, availability, App Store). Use this first when you are unfamiliar with a codebase, then run the focused tools on whichever category has findings. |
| lint_skillA | Validate the metadata of an Agent Skill repository rather than Swift source: SKILL.md frontmatter (required keys, kebab-case name, semver version, description length limits), subagent definitions in .claude/agents/ (name matches filename, unknown tool names, and read-only agents that are nonetheless granted Edit or Write), whether generated mirror files such as CLAUDE.md and AGENTS.md have drifted from SKILL.md, and backtick-quoted doc paths that do not resolve. Use when authoring or reviewing a skill, before publishing a release, or when a subagent or skill is not being invoked as expected. |
| review_swift_memoryA | Check a Swift project for retain cycles and lifetime defects: repeating Timers and block-based NotificationCenter observers capturing self strongly, Combine sinks stored in a cancellables set owned by the same object, non-weak delegate properties, stored closure properties capturing self, |
| review_swift_securityA | Check a Swift project for security defects: hardcoded API keys, tokens, and passwords in source; credentials written to UserDefaults instead of the Keychain; App Transport Security disabled; cleartext http:// endpoints; TLS server trust accepted without evaluation; MD5 and SHA-1; Keychain items with over-permissive accessibility; non-cryptographic randomness used for nonces and salts; secrets written to logs; and string interpolation into evaluated JavaScript. Use before shipping, during a security review, or when handling credentials. |
| review_swift_testingA | Check a Swift test suite for defects that make it unreliable or vacuous: tests that wait by sleeping, tests with no assertion at all, |
| review_swift_performanceA | Check for runtime cost that shows up as dropped frames: DateFormatter and JSONDecoder allocated inside |
| search_apple_technologiesA | Find Apple frameworks, tools, services and legacy technologies in the bundled 405-entry source snapshot. |
| get_apple_technologyA | Get a compact technology overview and local source routes by default. Use view full only when the entire guide and API topic map are required. |
| get_apple_updatesA | Search dated Apple update and release-note landing pages with version-specific source links. Does not claim live results. |
| plan_ios_appA | Return an implementation workflow and safe CLI argument array for a named app. No files are created and no build is claimed. |
| plan_app_iconA | Return a separate-layer icon specification, Apple workflow and appearance checks. Does not fabricate a native .icon document. |
| search_local_referencesB | Search complete repository guides, Swift source, templates and assets offline. Returns compact file matches without loading bodies. Source files and guide code blocks have different verification status. |
| read_local_referenceA | Read exact bundled file content in bounded character ranges. Use nextOffset to continue without omission; no network or user filesystem access. Offset is a JavaScript UTF-16 string index. |
| get_reference_outlineA | Get heading offsets so only the relevant section needs to be read. |
| simulator_listA | List available Simulator devices using xcrun simctl. Use before booting, installing, launching, or capturing screenshots when you do not know the simulator UDID. |
| simulator_bootA | Boot a simulator by UDID using xcrun simctl boot. Use before install_app, launch_app, screenshot, or open_deep_link. This does not erase or reset simulator content. |
| simulator_shutdownA | Shut down a simulator by UDID using xcrun simctl shutdown. Use after runtime validation to clean up a booted simulator. This does not erase content. |
| install_appA | Install a built .app bundle into a simulator using xcrun simctl install. Use after build_project or after locating a derived-data app bundle. |
| launch_appA | Launch an installed app in the simulator by bundle identifier. Optional arguments are passed after the bundle id and are useful for UI-test/debug launch flags. |
| terminate_appA | Terminate a running simulator app by bundle identifier without uninstalling it or resetting its state. |
| open_deep_linkA | Open a URL in the simulator using xcrun simctl openurl. Use to verify deep links, universal links, onboarding routes, and state restoration. |
| screenshotA | Capture a simulator screenshot to a PNG path using xcrun simctl io screenshot. Use as evidence for visual review and before/after comparison. |
| build_projectA | Run xcodebuild build for a project or workspace. Use before installing and launching the app. Requires a scheme and either project or workspace. |
| run_testsB | Run xcodebuild test for a project or workspace. Use to verify runtime/test behavior before visual review. Requires an explicit destination. |
| simulator_environmentA | Report selected Xcode, installed runtimes and real device profiles, including Duo when installed. Does not download or update Xcode. |
| simulator_showB | Boot and wait for a selected available device, then open its native Simulator window for touch/keyboard interaction. |
| simulator_preview_startA | Start a token-protected loopback screenshot viewer for a booted device. Open the returned URL in the client sidebar/browser. Read-only visual preview; interact in the native Simulator. Not a public hosted simulator. |
| simulator_preview_stopA | Stop this server’s preview for a device and remove its temporary screenshots; leaves the Simulator running. |
| create_appA | Create an editable Swift app starter, implementation brief and optional XcodeGen specification/icon layers. Writes a NEW project; does not implement the full app idea. Then use source retrieval, review and simulator tools to implement and verify it. |
| prepare_issue_reportA | Prepare a LOCAL issue preview for an ios-agent-mcp failure, not a defect in the user app. Accepts fixed categories only, never source, logs, paths or credentials. Makes no network requests or submissions. Show the complete preview to the user; opening a link or submitting requires their approval. GitHub sign-in is required to submit. Do not repeatedly suggest a report after dismissal. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| project-info | Structure and shape of the configured Swift project: file and line counts, deployment target, UI framework, inferred architecture with the evidence behind it, whether dependency injection is in use, and which Apple frameworks it imports. |
| project-dependencies | Third-party packages resolved from Package.swift, Package.resolved, or a Podfile, plus the Apple frameworks the project imports. |
| project-issues | Every finding across all nine analysis categories for the configured project, with counts by severity and by category. Capped at 100 issues, with the remainder reported as a count. |
TDQS
Scored across 36 tools
Most tools target a distinct action or review category, and the review_swift_* family is well separated by concern. Some potential confusion exists between simulator_show and simulator_boot, and between search_apple_technologies and search_local_references, but descriptions mostly resolve this.
The dominant verb_noun snake_case pattern is clear and predictable, e.g. install_app, launch_app, build_project, run_tests. A few tools break the pattern, such as simulator_environment, simulator_preview_start/stop, and lint_skill, but these are minor deviations.
36 tools is well above the 25-tool threshold and creates real selection overhead for an agent. The tools cluster into sensible groups, but the sheer number makes the surface feel heavy for what is ultimately an iOS development and review assistant.
The surface covers project analysis, targeted Swift reviews, build/test, simulator lifecycle, previews, app creation, planning, and reference lookup. Minor gaps such as uninstall_app, simulator content reset, or source-editing tools are not critical but keep this from a perfect score.