Skip to main content
Glama
tina4stack

Claude Pascal MCP Server

by tina4stack

check_ios_deploy

Verify a Delphi project file has the required iOS deployment entries, preventing codesign failures when Deploy finds no files.

Instructions

Check whether a .dproj has the iOS DeployFile entries required for Deploy.

PAServer's iOS Deploy target reads the dproj's section to decide what to ship to the Mac for codesign + .app assembly. The IDE writes 4 entries per Config × Platform on first deploy: ProjectiOSEntitlements, ProjectiOSInfoPList, ProjectiOSLaunchScreen, ProjectOutput. If they're missing — common when a project was renamed or never IDE-deployed to a given target — Deploy ships nothing and codesign fails with ".app: No such file or directory".

This tool only INSPECTS; it never mutates. Use synthesize_ios_manifest=True on build_dproj to add missing entries (with .bak backup).

Args: dproj_path: Absolute path to the .dproj. config: Build configuration to check (Debug, Release, etc.). platform: iOS platform: iOSDevice64 or iOSSimARM64.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
configNoDebug
platformNoiOSDevice64
dproj_pathYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.13.6

TDQS

A4.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It clearly states the tool is read-only ('only INSPECTS; never mutates') and explains the consequence of missing entries. However, it does not describe the exact return value or any potential errors beyond the missing-entry scenario, though the output schema likely covers the return structure.

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

Conciseness5/5

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

The description is well-structured: it opens with the primary purpose, provides necessary context (PAServer behavior and failure mode), states the read-only nature and the alternative, then lists args. Every sentence earns its place, and it is front-loaded with the key action.

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

Completeness5/5

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

Given the tool's narrow scope (checking a dproj for specific entries) and the presence of an output schema, the description is complete. It explains why the check matters, what entries are expected, how to fix if missing, and covers all parameters. No critical information is omitted.

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

Parameters5/5

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

The schema only provides titles and defaults with no descriptions, so the description must compensate. It does so thoroughly: dproj_path is 'Absolute path to the .dproj', config is 'Build configuration to check (Debug, Release, etc.)', and platform is 'iOSDevice64 or iOSSimARM64'. This adds meaning beyond the schema and fully documents each parameter.

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 clearly states the tool's function: it checks whether a .dproj has the iOS DeployFile entries required for Deploy. It names the specific entries (ProjectiOSEntitlements, ProjectiOSInfoPList, etc.) and contrasts with the sibling build_dproj, which is the repair path. This fully distinguishes it from the many simulator/deploy tools.

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?

The description explicitly says when to use it (to verify required entries) and what to do when entries are missing (use synthesize_ios_manifest=True on build_dproj). It also explains the common cause (renamed project or never IDE-deployed) and the failure mode, leaving no ambiguity about the appropriate context.

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