Skip to main content
Glama
mishafyi

Apple Docs 2.0 MCP

Get Apple Doc Content

get_apple_doc_content
Read-only

Retrieve one Apple Developer documentation page as Markdown from its URL, including symbol details, tutorials, API references, and App Store Connect help for coding agents.

Instructions

One page of Apple's documentation as Markdown, rendered from the page's JSON, the data developer.apple.com builds the page from, in its Swift version: the symbol's kind, Apple's summary, a deprecated API's message, its declaration, the overview with its code listings, tables, term lists, notes, images and videos (with Apple's alt text), the articles it's mentioned in, a property list key's details and attributes, the Topics groups with each group's description and each member's declaration and summary, a protocol requirement's default implementations, the Relationships (conforms to, inherits from, inherited by, conforming types), platform availability and the See Also links; a sample page's Download; a tutorial overview's volumes and chapters, each tutorial with its summary, and its resources, and a tutorial's steps with the code file after each and its project files; a web-service page's (App Store Connect API, App Store Server API and the like) URL, parameters, body, response codes, properties and possible values. An App Store Connect Help page comes as its article converted to Markdown. Links in the text come as links. The include… flags append related APIs, referenced types, similar APIs and a platform analysis, read from the page's JSON.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL of the Apple Developer Documentation page. Must start with https://developer.apple.com/documentation/, https://developer.apple.com/design/human-interface-guidelines/, https://developer.apple.com/tutorials/ or https://developer.apple.com/help/app-store-connect/. Example: "https://developer.apple.com/documentation/uikit/uiviewcontroller"
includeReferencesNoResolve and include all referenced types and APIs. Helps understand dependencies. Default: false
includeRelatedApisNoInclude inheritance hierarchy and protocol conformances. Useful for understanding API relationships. Default: false
includeSimilarApisNoDiscover APIs with similar functionality. Great for finding alternatives. Default: false
includePlatformAnalysisNoAnalyze platform availability and version requirements. Essential for cross-platform development. Default: false

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

B3.2/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, so the safety profile is already covered, and the description adds substantial behavioral context on top: it explains what the response contains per page type, that links arrive as links, and that the include flags are read from the source JSON and append related data. The notable gap is pagination: 'One page' implies a continuation mechanism, but nothing explains how to fetch subsequent pages or whether the include flags inflate response size/cost.

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

Conciseness2/5

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

The body is essentially a single ~190-word run-on sentence built from semicolon-separated clauses with no line breaks or headings. The most decision-relevant fact, the include-flag behavior, is buried at the very end rather than front-loaded, and the enumeration of every possible payload field is far larger than an agent needs to select the tool.

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

Completeness3/5

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

With no output schema, the description carries the return-value burden and does so exhaustively across page types, which is genuinely useful. However, for a tool explicitly framed as delivering 'one page,' the absence of any pagination or continuation guidance leaves a functional hole, and error behavior for unsupported URLs is unaddressed.

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?

Schema description coverage is 100%, so the schema already documents the url constraint and each include flag's meaning, which sets the baseline at 3. The description only loosely restates the flags' effects ('append related APIs, referenced types, similar APIs and a platform analysis'), adding no format, cost, or interaction detail beyond the schema.

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

Purpose4/5

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

The description clearly states a specific verb and resource: it returns one page of Apple Developer documentation rendered as Markdown from the page's source JSON. It also usefully signals that the payload differs by page type. What it lacks is any differentiation from siblings such as search_apple_docs, get_sample_code, or get_related_apis, and the run-on phrasing makes the core purpose harder to extract than it should be.

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

Usage Guidelines2/5

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

There is no explicit when-to-use or when-not-to-use guidance and no naming of alternatives, despite 18 sibling tools that overlap in domain (search_apple_docs, get_sample_code, get_related_apis). The only usage-adjacent statement is the trailing note that the include flags append extra data, which does not tell an agent when to pick this tool over a search.

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