Skip to main content
Glama

Apple Docs MCP - Apple Developer Documentation Model Context Protocol Server

npm version License: MIT

Apple Developer Documentation MCP Server - Access Apple's official developer docs, frameworks, APIs, SwiftUI, UIKit, and WWDC videos through Model Context Protocol. Search iOS, macOS, watchOS, tvOS, and visionOS documentation with AI-powered natural language queries. Get instant access to Swift/Objective-C code examples, API references, and technical guides directly in Claude, Cursor, or any MCP-compatible AI assistant.

English | 日本語 | 한국어 | 简体中文

✨ Features

  • 🔍 Smart Search: Intelligent search across Apple Developer Documentation for SwiftUI, UIKit, Foundation, CoreData, ARKit, and more

  • 📚 Complete Documentation Access: Full access to Apple's JSON API for Swift, Objective-C, and framework documentation

  • 🔧 Framework Index: Browse hierarchical API structures for iOS, macOS, watchOS, tvOS, visionOS frameworks

  • 📋 Technology Catalog: Explore Apple technologies including SwiftUI, UIKit, Metal, Core ML, Vision, and ARKit

  • 📰 Documentation Updates: Track WWDC 2024/2025 announcements, iOS 26, macOS 26, and latest SDK releases

  • 🎯 Technology Overviews: Comprehensive guides for Swift, SwiftUI, UIKit, and all Apple development platforms

  • 💻 Sample Code Library: Swift and Objective-C code examples for iOS, macOS, and cross-platform development

  • 🎥 WWDC Video Library: Search WWDC 2014-2025 sessions with transcripts, Swift/SwiftUI code examples, and resources

  • 🔗 Related APIs Discovery: Find SwiftUI views, UIKit controllers, and framework-specific API relationships

  • 📊 Platform Compatibility: iOS 13+, macOS 10.15+, watchOS 6+, tvOS 13+, visionOS compatibility analysis

  • High Performance: Optimized for Xcode, Swift Playgrounds, and AI-powered development environments

  • 🔄 Smart UserAgent Pool: Intelligent UserAgent rotation system with automatic failure recovery and performance monitoring

  • 🌐 Multi-Platform: Complete iOS, iPadOS, macOS, watchOS, tvOS, and visionOS documentation support

  • 🏷️ Beta & Status Tracking: iOS 26 beta APIs, deprecated UIKit methods, new SwiftUI features tracking

Related MCP server: Apple RAG MCP

🚀 Quick Start

Add this to your Claude Desktop configuration:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "apple-docs": {
      "command": "npx",
      "args": ["-y", "@kimsungwhee/apple-docs-mcp"]
    }
  }
}

Note: If you encounter issues with an old version being used, add @latest to force the latest version:

"args": ["-y", "@kimsungwhee/apple-docs-mcp@latest"]

Restart Claude Desktop and start asking about Apple APIs!

📦 Installation

claude mcp add apple-docs -- npx -y @kimsungwhee/apple-docs-mcp@latest

📖 Claude Code MCP docs

Via Settings: Settings → Cursor Settings → MCP → Add new global MCP server

Via Config File: Add to ~/.cursor/mcp.json:

{
  "mcpServers": {
    "apple-docs": {
      "command": "npx",
      "args": ["-y", "@kimsungwhee/apple-docs-mcp"]
    }
  }
}

📖 Cursor MCP docs

Add to your VS Code MCP config:

{
  "mcp": {
    "servers": {
      "apple-docs": {
        "type": "stdio",
        "command": "npx",
        "args": ["-y", "@kimsungwhee/apple-docs-mcp"]
      }
    }
  }
}

📖 VS Code MCP docs

Add to your Windsurf MCP config:

{
  "mcpServers": {
    "apple-docs": {
      "command": "npx",
      "args": ["-y", "@kimsungwhee/apple-docs-mcp"]
    }
  }
}

📖 Windsurf MCP docs

Add to your Zed settings.json:

{
  "context_servers": {
    "Apple Docs": {
      "command": {
        "path": "npx",
        "args": ["-y", "@kimsungwhee/apple-docs-mcp"]
      },
      "settings": {}
    }
  }
}

📖 Zed Context Server docs

Via Marketplace:

  1. Open Cline → Menu (☰) → MCP Servers → Marketplace

  2. Search "Apple Docs MCP" → Install

Via Config: Add to cline_mcp_settings.json:

{
  "mcpServers": {
    "apple-docs": {
      "command": "npx",
      "args": ["-y", "@kimsungwhee/apple-docs-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Via Config File: Add to ~/.aws/amazonq/mcp.json:

{
  "mcpServers": {
    "apple-docs": {
      "command": "npx",
      "args": ["-y", "@kimsungwhee/apple-docs-mcp"]
    }
  }
}

📖 Amazon A Developer CLI MCP docs

For Windows systems, use:

{
  "mcpServers": {
    "apple-docs": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "@kimsungwhee/apple-docs-mcp"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Global Installation:

# Using pnpm (recommended)
pnpm add -g @kimsungwhee/apple-docs-mcp

# Using npm
npm install -g @kimsungwhee/apple-docs-mcp

Direct Usage:

npx @kimsungwhee/apple-docs-mcp --help

Development Setup:

git clone https://github.com/kimsungwhee/apple-docs-mcp.git
cd apple-docs-mcp

# Using pnpm (recommended)
pnpm install && pnpm run build

# Using npm
npm install && npm run build

💬 Usage Examples

"Search for SwiftUI animations"
"Find withAnimation API documentation"
"Look up async/await patterns in Swift"
"Show me UITableView delegate methods"
"Search Core Data NSPersistentContainer examples"
"Find AVFoundation video playback APIs"

📚 Documentation Access

"Get detailed information about the SwiftUI framework"
"Show me withAnimation API with related APIs"
"Get platform compatibility for SwiftData"
"Access UIViewController documentation with similar APIs"
"Show me NSManagedObjectContext documentation"
"Get URLSession async/await methods"

🔧 Framework Exploration

"Show me SwiftUI framework API index"
"List all UIKit classes and methods"
"Browse ARKit framework structure"
"Get WeatherKit API hierarchy"
"Explore Core ML model loading APIs"
"Show Vision framework image analysis APIs"

🔗 API Discovery

"Find APIs related to UIViewController"
"Show me similar APIs to withAnimation"
"Get all references from SwiftData documentation"
"Discover alternatives to Core Data NSManagedObject"

📋 Technology & Platform Analysis

"List all Beta frameworks in iOS 26"
"Show me Graphics & Games technologies"
"What machine learning frameworks are available?"
"Analyze platform compatibility for Vision framework"

📰 Documentation Updates

"Show me the latest WWDC updates"
"What's new in SwiftUI?"
"Get technology updates for iOS"
"Show me release notes for Xcode"
"Find beta features in the latest updates"

🎯 Technology Overviews

"Show me technology overviews for app design and UI"
"Get comprehensive guides for games development"
"Explore AI and machine learning overviews"
"Show me iOS-specific technology guides"
"Get data management technology overviews"

💻 Sample Code Library

"Show SwiftUI sample code projects"
"Find sample code for machine learning"
"Get UIKit example projects"
"Show featured WWDC sample code"
"Find Core Data sample implementations"
"Show only beta sample code projects"
"Search WWDC videos about SwiftUI"
"Find WWDC sessions on machine learning"
"Show me WWDC 2024 videos"
"Search for async/await WWDC talks"
"Find WWDC videos about Swift concurrency"
"Show accessibility-focused WWDC sessions"

📺 WWDC Video Details

"Get details for WWDC session 10176"
"Show me the transcript for WWDC23 session on SwiftData"
"Get code examples from WWDC video 10019"
"Show resources from Vision Pro WWDC session"
"Get transcript for 'Meet async/await in Swift' session"

📋 WWDC Topics & Years

"List all WWDC topics"
"Show me Swift topic WWDC videos"
"Get WWDC videos about developer tools"
"List WWDC videos from 2023"
"Show all SwiftUI and UI frameworks sessions"
"Get machine learning WWDC content"

🛠️ Advanced Usage

"Find related APIs for @State with platform analysis"
"Resolve all references from SwiftUI documentation"
"Get platform compatibility analysis for Vision framework"
"Find similar APIs to UIViewController with deep search"

🛠️ Available Tools

Tool

Description

Key Features

search_apple_docs

Search Apple Developer Documentation

Official search API, find specific APIs, classes, methods

get_apple_doc_content

Get detailed documentation content

JSON API access, optional enhanced analysis (related/similar APIs, platform compatibility)

list_technologies

Browse all Apple technologies

Category filtering, language support, beta status

search_framework_symbols

Search symbols in specific framework

Classes, structs, protocols, wildcard patterns, type filtering

get_related_apis

Find related APIs

Inheritance, conformance, "See Also" relationships

resolve_references_batch

Batch resolve API references

Extract and resolve all references from documentation

get_platform_compatibility

Platform compatibility analysis

Version support, beta status, deprecation info

find_similar_apis

Discover similar APIs

Apple's official recommendations, topic groupings

get_documentation_updates

Track Apple documentation updates

WWDC announcements, technology updates, release notes

get_technology_overviews

Get technology overviews and guides

Comprehensive guides, hierarchical navigation, platform filtering

get_sample_code

Browse Apple sample code projects

Framework filtering (with limitations), keyword search, beta status

search_wwdc_videos

Search WWDC video sessions

Keyword search, topic/year filtering, session metadata

get_wwdc_video_details

Get WWDC video details with transcript

Full transcripts, code examples, resources, platform info

list_wwdc_topics

List all available WWDC topics

19 topic categories from Swift to Spatial Computing

list_wwdc_years

List all available WWDC years

Conference years with video counts

🏗️ Technical Architecture for Apple Developer Documentation Access

apple-docs-mcp/
├── 🔧 src/
│   ├── index.ts                      # MCP server entry point with all tools
│   ├── tools/                        # MCP tool implementations
│   │   ├── search-parser.ts          # HTML search result parsing
│   │   ├── doc-fetcher.ts            # JSON API documentation fetching
│   │   ├── list-technologies.ts      # Technology catalog handling
│   │   ├── get-documentation-updates.ts # Documentation updates tracking
│   │   ├── get-technology-overviews.ts # Technology overviews and guides
│   │   ├── get-sample-code.ts        # Sample code library browser
│   │   ├── get-framework-index.ts    # Framework structure indexing
│   │   ├── get-related-apis.ts       # Related API discovery
│   │   ├── resolve-references-batch.ts # Batch reference resolution
│   │   ├── get-platform-compatibility.ts # Platform analysis
│   │   ├── find-similar-apis.ts      # Similar API recommendations
│   │   └── wwdc/                     # WWDC video tools
│   │       ├── wwdc-handlers.ts      # WWDC tool handlers
│   │       ├── content-extractor.ts  # Video content extraction
│   │       ├── topics-extractor.ts   # Topic listing
│   │       └── video-list-extractor.ts # Video list parsing
│   └── utils/                        # Utility functions and helpers
│       ├── cache.ts                  # Memory cache with TTL support
│       ├── constants.ts              # Application constants and URLs
│       ├── error-handler.ts          # Error handling and validation
│       ├── http-client.ts            # HTTP client with performance tracking
│       ├── user-agent-pool.ts        # Smart UserAgent rotation system
│       ├── http-headers-generator.ts # Dynamic browser headers generation
│       └── url-converter.ts          # URL conversion utilities
├── 📦 dist/                          # Compiled JavaScript
├── 📄 package.json                   # Package configuration
└── 📖 README.md                      # This file

🚀 Performance Features

  • Memory-Based Caching: Custom cache implementation with automatic cleanup and TTL support

  • Smart UserAgent Pool: Intelligent rotation system with automatic failure recovery and performance monitoring

  • Dynamic Headers: Realistic browser headers generation (Accept, Accept-Language, User-Agent)

  • Smart Search: Official Apple search API with enhanced result formatting

  • Enhanced Analysis: Optional related APIs, platform compatibility, and similarity analysis

  • Error Resilience: Graceful degradation with comprehensive error handling

  • Type Safety: Full TypeScript with Zod v4.0.5 runtime validation

  • Latest Dependencies: MCP SDK v1.15.1, optimized package footprint

💾 Caching Strategy

Content Type

Cache Duration

Cache Size

Reason

API Documentation

30 minutes

500 entries

Frequently accessed, moderate updates

Search Results

10 minutes

200 entries

Dynamic content, user-specific

Framework Indexes

1 hour

100 entries

Stable structure, less frequent changes

Technologies List

2 hours

50 entries

Rarely changes, large content

Documentation Updates

30 minutes

100 entries

Regular updates, WWDC announcements

📦 WWDC Data

All WWDC video data (2014-2025) is bundled directly in the npm package, providing:

  • Zero network latency - No API calls needed for WWDC content

  • 100% offline access - Works without internet connection

  • No rate limits - Unlimited WWDC searches and browsing

  • Instant responses - All data is locally available

The package includes:

  • 📹 1,260+ WWDC session videos with full transcripts

  • 🏷️ 20 topic categories for organized browsing

  • 📅 13 years of content (2012-2025)

  • 💾 35MB of optimized JSON data

Note: Keep your package updated to get the latest WWDC content additions.

⚙️ Configuration

🔄 UserAgent Pool Configuration

The MCP server includes an intelligent UserAgent rotation system to improve API reliability:

Environment Variables

Variable

Description

Default

Example

USER_AGENT_ROTATION_ENABLED

Enable/disable rotation

true

true

USER_AGENT_POOL_STRATEGY

Rotation strategy

random

smart

USER_AGENT_MAX_RETRIES

Max retry attempts

3

5

USER_AGENT_POOL_CONFIG

Custom pool config (JSON)

Built-in agents

See below

Custom Pool Configuration

# Configure custom UserAgent pool
export USER_AGENT_POOL_CONFIG='[
  {"userAgent": "MyApp/1.0 (compatible)", "weight": 3, "maxUsageCount": 1000},
  {"userAgent": "MyApp/2.0 (advanced)", "weight": 2, "maxUsageCount": 800}
]'

# Set rotation strategy (random/sequential/smart)
export USER_AGENT_POOL_STRATEGY=smart

# Enable debugging
export NODE_ENV=development

Available Strategies

  • random: Fast random selection (best performance)

  • sequential: Round-robin rotation (predictable order)

  • smart: Success rate optimization (best reliability)

Built-in UserAgents

The server includes 12+ pre-configured UserAgent strings covering:

  • Chrome (Mac Intel/Apple Silicon, Windows, Linux)

  • Firefox (Mac Intel/Apple Silicon, Windows, Linux)

  • Safari (Mac Intel/Apple Silicon, latest versions)

  • Edge (Windows, Mac Intel/Apple Silicon)

🧪 Development

Quick Commands

# Development with auto-reload
pnpm run dev    # or: npm run dev

# Build for production  
pnpm run build  # or: npm run build

# Type checking
pnpm exec tsc --noEmit  # or: npx tsc --noEmit

# Clean build artifacts
pnpm run clean  # or: npm run clean

Testing Locally

# Test the MCP server directly
node dist/index.js

# Test with sample queries
npx @kimsungwhee/apple-docs-mcp --test

🤝 Contributing

Contributions are welcome! Here's how to get started:

  1. Fork the repository

  2. Create a feature branch: git checkout -b feature/amazing-feature

  3. Commit your changes: git commit -m 'Add amazing feature'

  4. Push to the branch: git push origin feature/amazing-feature

  5. Open a Pull Request

📄 License

MIT License - see LICENSE for details.

⚠️ Disclaimer

This project is not affiliated with or endorsed by Apple Inc. It uses publicly available Apple Developer Documentation APIs for educational and development purposes.


Made with ❤️ for the Apple Developer Community

Search Apple Developer Documentation | iOS Development | macOS Development | Swift Programming | SwiftUI | UIKit | Xcode | WWDC Videos | Model Context Protocol | MCP Server

Report IssuesRequest FeaturesDocumentation

Available Tools

18 tools
browse_wwdc_topicsA
Read-only

List all WWDC topic categories with their IDs. Essential first step before using list_wwdc_videos with topic filtering. Returns topic IDs like "swiftui-ui-frameworks" that can be used in other tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
topicIdNoTopic ID to explore. Available IDs: "accessibility-inclusion", "app-services", "app-store-distribution-marketing", "audio-video", "business-education", "design", "developer-tools", "essentials", "graphics-games", "health-fitness", "machine-learning-ai", "maps-location", "photos-camera", "privacy-security", "safari-web", "spatial-computing", "swift", "swiftui-ui-frameworks", "system-services". Leave empty to see all topics with video counts.
includeVideosNoList videos in the topic. Set false for topic structure only. Default: true
yearNoFilter topic videos by year. Only when browsing specific topic.
limitNoMax videos per topic (default: 20).

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true, and the description adds value by specifying the output (IDs) and their reuse in other tools. No destructive behavior or contradictions.

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?

Two sentences directly convey purpose, usage, and output without waste. Front-loaded with key action and appropriate detail.

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?

No output schema exists, but the description sufficiently explains the return value (IDs and usage). Parameter meanings are fully covered in schema. Complete enough for an agent.

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

Parameters4/5

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

Schema coverage is 100%, but the description adds context beyond schema by mentioning that leaving topicId empty shows all topics with video counts, and provides example IDs.

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 lists WWDC topic categories with IDs. It distinguishes itself from siblings like 'list_wwdc_videos' by positioning as the essential first step for topic filtering.

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?

Explicitly says 'Essential first step before using list_wwdc_videos with topic filtering', providing clear context and instruction on when to use this tool.

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

find_similar_apisA
Read-only

Discover alternative and related APIs. Finds APIs with similar functionality, modern replacements for deprecated APIs, and platform-specific alternatives. Perfect when looking for better ways to implement functionality.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiUrlYesStarting API URL. Example: "https://developer.apple.com/documentation/uikit/uialertview" (finds modern alternatives)
searchDepthNoHow thoroughly to search. "shallow" = direct recommendations only, "medium" = topic siblings, "deep" = full relationship analysis. Default: "medium"
filterByCategoryNoFocus on specific functionality like "Animation", "Navigation", "Data". Case-sensitive partial match.
includeAlternativesNoInclude functionally similar APIs that might be better choices. Default: true

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, which the description supports by using read-only verbs like 'discovers' and 'finds'. However, the description does not add deeper behavioral traits such as result format, pagination, or rate limits. With annotations covering safety, a score of 3 is appropriate.

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 two sentences, front-loaded with the core purpose, and every sentence adds value. No fluff or redundancy.

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?

Given the tool has 4 parameters and no output schema, the description covers purpose and usage context well. It does not describe the output format, but for a discovery tool, it is mostly complete. Minor gap for a high score.

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 each parameter is already well-documented. The description reinforces the purpose of includeAlternatives but does not add new semantics beyond the schema. Baseline 3 is appropriate when the schema carries the burden.

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 finds alternative and related APIs, including similar functionality, modern replacements, and platform-specific alternatives. It distinguishes from sibling tools by emphasizing discovery of better ways to implement functionality.

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

Usage Guidelines4/5

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

The description indicates when to use ('Perfect when looking for better ways to implement functionality'), but does not explicitly mention when not to use or contrast with siblings like get_related_apis. It provides clear context but lacks exclusions.

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

get_apple_doc_contentA
Read-only

Get detailed content from a specific Apple Developer Documentation page. Use this after search_apple_docs to get full documentation. Supports enhanced analysis options for comprehensive API understanding. Best for: reading API details, understanding usage, checking availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesFull URL of the Apple Developer Documentation page. Must start with https://developer.apple.com/documentation/. Example: "https://developer.apple.com/documentation/uikit/uiviewcontroller"
includeRelatedApisNoInclude inheritance hierarchy and protocol conformances. Useful for understanding API relationships. Default: false
includeReferencesNoResolve and include all referenced types and APIs. Helps understand dependencies. 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

TDQS

A4.2/5.0
Behavior4/5

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

The description adds value beyond the readOnlyHint annotation by detailing that the tool retrieves content and supports enhanced analysis options (includeRelatedApis, includeReferences, etc.). No contradictions with annotations.

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 concise (4 sentences) and front-loads the core purpose. Every sentence adds value: positioning after search, mentioning analysis options, and listing best uses. No redundant information.

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?

Given the tool's complexity (5 parameters, no output schema), the description covers purpose, workflow, and optional features adequately. It does not explain return values, but the schema hints at the output. Still sufficient for an agent to understand when and how to use it.

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?

With 100% schema description coverage, the input schema already explains each parameter well. The description does not add significant additional meaning beyond what the schema provides, warranting a baseline score of 3.

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 uses a specific verb ('Get') and resource ('content from a specific Apple Developer Documentation page'), clearly distinguishing it from sibling tools like search_apple_docs (which finds pages) and find_similar_apis (which suggests alternatives).

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

Usage Guidelines4/5

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

The description explicitly recommends using this after search_apple_docs and lists best use cases (reading API details, understanding usage, checking availability). It does not explicitly exclude other usage scenarios or name alternatives, but the context is clear.

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

get_documentation_updatesA
Read-only

Track latest Apple platform updates, new APIs, and changes. Shows WWDC announcements, framework updates, and release notes. Essential for staying current with Apple development. For detailed WWDC videos, use WWDC-specific tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoUpdate type filter. "wwdc" = conference highlights, "technology" = API updates, "release-notes" = version changes. Default: "all"
technologyNoFilter by framework (case-sensitive). Examples: "SwiftUI", "UIKit", "ARKit". Get names from list_technologies.
yearNoWWDC year filter ("2025", "2024", etc.). Only for wwdc category.
searchQueryNoSearch keywords. Examples: "async", "performance", "widgets". Case-insensitive.
includeBetaNoInclude beta/preview features. Default: true
limitNoMax results (default: 50). Sorted by relevance and date.

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the tool is known to be non-destructive. The description does not add behavioral context beyond this, such as rate limits or output behavior, but it is consistent with annotations.

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 concise (3 sentences) and front-loaded with the core purpose. No unnecessary information is included, and the alternative tool guidance adds value without redundancy.

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?

Given the 6 parameters, 100% schema coverage, and lack of output schema, the description provides adequate context for understanding the tool's role and usage. It could mention output format or pagination, but overall it is complete enough for selection and invocation.

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?

All 6 parameters have descriptions in the input schema (100% coverage). The tool description does not add meaningful extra information about parameters beyond what the schema provides, so it meets baseline expectations.

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 purpose: tracking latest Apple platform updates, new APIs, and changes, including WWDC announcements, framework updates, and release notes. It also distinguishes from sibling WWDC-specific tools, making its scope unambiguous.

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 provides explicit guidance on when to use this tool ('Essential for staying current with Apple development') and when not to ('For detailed WWDC videos, use WWDC-specific tools'), effectively directing the agent to alternatives.

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

get_platform_compatibilityA
Read-only

Check API availability across Apple platforms and OS versions. Shows minimum deployment targets, deprecations, and platform-specific features. Critical for cross-platform development. Use when: planning app requirements, checking API availability, finding platform alternatives.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiUrlYesAPI URL to check compatibility. Example: "https://developer.apple.com/documentation/swiftui/list"
compareModeNoCheck single API or entire framework. "framework" shows all APIs in the framework. Default: "single"
includeRelatedNoAlso check related APIs' compatibility. Useful for finding platform-specific alternatives. Default: false

TDQS

A4.2/5.0
Behavior4/5

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

Annotations include readOnlyHint: true, indicating a read operation. The description adds behavioral context by detailing the output (minimum deployment targets, deprecations, platform-specific features) and emphasizing its importance for cross-platform development, going 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.

Conciseness5/5

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

The description is three sentences: purpose, output, and usage. Every sentence adds value, is front-loaded, and contains no redundant information.

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 tool with three well-documented parameters and no output schema, the description adequately covers purpose, output, and usage. It lacks details on return format but is sufficient for the agent to decide when to use it.

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 coverage is 100% with good parameter descriptions (e.g., 'API URL to check compatibility', 'Check single API or entire framework'). The description does not repeat parameter details, but baseline 3 is appropriate since schema already provides sufficient semantics.

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 checks API availability across Apple platforms and OS versions, listing outputs like deployment targets and deprecations. It distinguishes itself from siblings by focusing on platform compatibility, a unique function among the listed tools.

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

Usage Guidelines4/5

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

The description explicitly includes 'Use when:' with three specific scenarios: planning app requirements, checking API availability, finding platform alternatives. It does not state when not to use or list alternatives, but the provided use cases give clear guidance.

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

get_sample_codeA
Read-only

Browse complete sample projects from Apple. Full working examples demonstrating best practices and implementation patterns. Different from search_apple_docs which returns code snippets. Use for learning by example.

ParametersJSON Schema
NameRequiredDescriptionDefault
frameworkNoFramework filter (case-insensitive). Examples: "SwiftUI", "ARKit", "CoreML". Note: Some samples are under generic categories - use searchQuery for better results.
betaNoBeta samples: "include" = all, "exclude" = stable only, "only" = beta only. Default: "include"
searchQueryNoSearch keywords. Most effective approach. Examples: "animation", "camera", "machine learning", "widgets".
limitNoMax results (default: 50).

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already include readOnlyHint=true. Description does not contradict and adds context about browsing full sample projects, reinforcing read-only nature. No extra behavioral details needed beyond what annotations provide.

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?

Two informative sentences with a third differentiating from sibling. Front-loaded with purpose, no redundant words. Highly concise and structured.

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?

No output schema, but description mentions 'full working examples' which implies the result type. Lacks details on pagination or ordering, but sufficient for a browsing tool given annotations and schema coverage.

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 baseline is 3. Description provides examples for 'framework' and 'searchQuery' but these are already in the parameter descriptions. No additional semantic meaning beyond schema.

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?

Description clearly states 'Browse complete sample projects from Apple' with 'Full working examples' specifying it returns complete projects, not snippets. It explicitly distinguishes from sibling 'search_apple_docs' which returns code snippets.

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

Usage Guidelines4/5

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

States 'Use for learning by example', giving clear usage intent. Also contrasts with sibling tool, providing guidance on when to use this vs alternatives. No explicit exclusions, but adequate.

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

get_technology_overviewsA
Read-only

Access comprehensive guides and tutorials for Apple technologies. Includes getting started guides, architectural overviews, best practices, and implementation patterns. Perfect for learning new frameworks or understanding Apple's recommended approaches.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoTopic category. Popular: "app-design-and-ui", "games", "ai-machine-learning", "augmented-reality", "privacy-and-security". Leave empty to browse all.
platformNoTarget platform. "all" for cross-platform content. Default: "all"
searchQueryNoSearch terms. Try: "getting started", "best practices", "architecture", "performance".
includeSubcategoriesNoInclude nested topics for comprehensive results. Set false for overview only. Default: true
limitNoMax results (default: 50). Includes subcategories when enabled.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds content-level detail (guides, tutorials) but does not disclose any additional behavioral traits such as rate limits, auth requirements, or pagination behavior. With annotations present, the bar is lower, but no extra behavioral insight is provided.

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 two sentences long, front-loaded with the key verb and resource, and every sentence adds value. No fluff or redundancy.

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?

Given the lack of an output schema, the description does not detail return values, but it conveys the type of content returned (guides, tutorials, best practices). With 5 well-documented parameters and a clear purpose, the description is fairly complete for a read-only overview tool, though more detail on result structure could help.

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%, with each parameter having a clear description. The tool description does not add any new semantics to the parameters; it only describes the overall content. Per guidelines, baseline 3 is appropriate when schema coverage is high.

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 verb 'access' and the resource 'comprehensive guides and tutorials for Apple technologies'. It specifies the content types (getting started guides, architectural overviews, best practices, implementation patterns) and use case (learning new frameworks, understanding recommended approaches), distinguishing it from sibling tools like get_apple_doc_content or browse_wwdc_topics.

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

Usage Guidelines4/5

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

The description provides clear usage context: 'Perfect for learning new frameworks or understanding Apple's recommended approaches'. However, it does not explicitly state when not to use this tool or how it compares to alternatives like get_apple_doc_content or search_apple_docs, leaving some ambiguity.

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

get_wwdc_code_examplesA
Read-only

Browse all code examples from WWDC sessions. Perfect for finding implementation patterns, seeing new API usage, or learning by example. Each result includes the code and its session context.

ParametersJSON Schema
NameRequiredDescriptionDefault
frameworkNoFramework to find examples for. Examples: "SwiftUI", "SwiftData", "RealityKit".
topicNoTopic ID or concept keyword. Can use exact topic IDs ("swiftui-ui-frameworks", "machine-learning-ai", etc.) for precise filtering, or general keywords like "animation", "performance", "concurrency" for broader search.
yearNoWWDC year filter ("2025", "2024", etc.).
languageNoProgramming language: "swift", "objc", "javascript", "metal".
limitNoMax examples (default: 30). Each includes code and source video info.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate readOnlyHint=true. The description adds that results include code and session context, but does not disclose pagination, defaults, or other behavioral traits beyond the annotation.

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?

Two efficient sentences that state the core action and value proposition without extraneous words.

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 browsing tool with no output schema, the description gives a clear idea of output (code and session context) but could mention default behavior or result limits more explicitly.

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 covers all parameters with descriptions (100% coverage). The tool description does not add additional meaning to parameters beyond what is already in the schema.

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 retrieves code examples from WWDC sessions, distinguishing it from sibling tools that focus on topics, videos, or APIs.

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

Usage Guidelines3/5

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

The description suggests use cases ('finding implementation patterns, seeing new API usage') but does not provide guidance on when not to use or alternatives among siblings.

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

get_wwdc_videoA
Read-only

Access complete WWDC session content including full transcript, code examples, and resources. Use after finding videos with list_wwdc_videos or search_wwdc_content. Provides offline access to entire session content.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearYesWWDC year. Example: "2025"
videoIdYesSession ID. Example: "10101" for keynote, "238" for session 238.
includeTranscriptNoInclude full session transcript with timestamps. Default: true
includeCodeNoInclude all code examples from the session. Default: true

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already include readOnlyHint=true, so the bar is lower. The description adds context about providing offline access and full content, which is valuable. No contradictions.

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?

Two sentences: first states purpose, second gives usage guidance. No extraneous information, front-loaded with key details.

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 no output schema, the description sufficiently explains the tool returns complete session content with transcript, code, and resources. It also mentions offline access, covering all necessary context.

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 coverage is 100%, so the description does not need to add much. However, it does not elaborate on parameters beyond what the schema already provides, maintaining the baseline of 3.

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 accesses complete WWDC session content including transcript, code examples, and resources. It distinguishes itself from siblings by specifying it is used after finding videos with list_wwdc_videos or search_wwdc_content.

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

Usage Guidelines4/5

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

The description explicitly states to use after finding videos with list_wwdc_videos or search_wwdc_content, providing clear context. No when-not-to-use instructions are given, but the guidance is sufficient for an agent.

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

list_technologiesA
Read-only

Browse all Apple technologies and frameworks by category. Essential for discovering available frameworks and understanding Apple's technology ecosystem. Use this when: exploring what's available, finding framework identifiers for search_framework_symbols, checking beta status.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoryNoFilter by category (case-sensitive). Popular: "App frameworks" (SwiftUI, UIKit), "Graphics and games" (Metal, SpriteKit), "App services" (CloudKit, StoreKit), "Media" (AVFoundation), "System" (Foundation). Leave empty to see all categories.
languageNoFilter by language support. "swift" for Swift-compatible frameworks, "occ" for Objective-C. Leave empty for all.
includeBetaNoInclude beta/preview technologies. Set to false to see only stable frameworks. Default: true
limitNoMax results per category. Useful for quick overviews. Default: 200

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the bar is lower. The description adds behavioral context like browsing by category, discovering frameworks, and checking beta status, which are helpful but not extensive. It doesn't contradict annotations.

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 only 4 sentences, front-loaded with the main action, and efficiently covers value and usage cases. Every sentence adds information without redundancy.

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?

The tool is simple with no output schema. The description explains purpose and usage well but could briefly mention the response format (e.g., list of technology names/identifiers). Still, it is largely complete for its complexity.

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

Parameters4/5

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

Schema coverage is 100%, so baseline is 3. The description adds value by mentioning case-sensitivity for category, providing popular examples, and linking parameter use to real tasks (e.g., checking beta status). This goes beyond schema descriptions.

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 browses Apple technologies by category, using specific verbs like 'browse' and 'discover'. It distinguishes itself from siblings by mentioning the use case of finding framework identifiers for search_framework_symbols, providing a clear resource and differentiator.

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

Usage Guidelines4/5

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

The description explicitly lists when to use the tool: exploring available frameworks, finding identifiers, and checking beta status. It references search_framework_symbols as a sibling, providing an alternative. However, it lacks explicit when-not-to-use guidance beyond that.

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

list_wwdc_videosA
Read-only

Browse WWDC session videos with full offline access to transcripts and code. Shows all available sessions with filtering options. Use this to discover WWDC content, find sessions by topic, or identify videos with code examples.

ParametersJSON Schema
NameRequiredDescriptionDefault
yearNoWWDC year ("2025", "2024", etc.) or "all". Available: 2020-2025. Example: "2025" for latest.
topicNoTopic ID for exact filtering or keyword for title search. Available topic IDs: "accessibility-inclusion", "app-services", "app-store-distribution-marketing", "audio-video", "business-education", "design", "developer-tools", "essentials", "graphics-games", "health-fitness", "machine-learning-ai", "maps-location", "photos-camera", "privacy-security", "safari-web", "spatial-computing", "swift", "swiftui-ui-frameworks", "system-services". Use exact ID for topic filtering, or any keyword to search in video titles.
hasCodeNoFilter by code availability. true = sessions with code, false = without code. Leave empty for all.
limitNoMax videos to show (default: 50). Videos include title, duration, and content indicators.

TDQS

A4/5.0
Behavior3/5

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

Annotations already mark readOnlyHint=true. Description adds 'full offline access to transcripts and code', which is useful but not critical. No destructive behavior disclosed; aligns with annotations.

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?

Two sentences, front-loaded with key action, no wasted words. Every sentence adds value.

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?

Given 4 parameters, no output schema, and no nested objects, the description sufficiently explains the tool's purpose and output. Could mention pagination or sorting, but limit parameter covers size.

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 has 100% coverage with detailed descriptions for all four parameters. Description does not add new parameter semantics beyond 'filtering options' which is implicit from schema.

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 browses WWDC session videos with offline access, distinguishing it from sibling tools like get_wwdc_video or browse_wwdc_topics. The verb 'browse' and resource 'WWDC session videos' are specific.

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

Usage Guidelines4/5

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

The description explicitly states use cases: discover WWDC content, find sessions by topic, identify videos with code examples. It does not name alternatives but context implies when to use this vs. search or detail tools.

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

list_wwdc_yearsA
Read-only

List all available WWDC years with video counts and statistics. Shows which years have content available and how many videos each year contains.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint=true, so the description adds value by specifying the output includes video counts and statistics. No contradiction, and no hidden behaviors need disclosure for such a simple read-only operation.

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?

Two concise sentences, front-loaded with the main purpose. Every sentence is informative and there is no fluff.

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?

Description adequately covers the return shape (years, video counts, statistics) for a simple list tool with no output schema. The term 'statistics' is vague but acceptable given the context.

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

Parameters4/5

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

With zero parameters and 100% schema coverage, the description adds meaning by explaining what data the tool returns (video counts and statistics), going beyond the empty schema.

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?

Description clearly states the verb 'list', the resource 'WWDC years', and the data returned (video counts and statistics). It distinguishes from sibling tools like list_wwdc_videos which lists individual videos.

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?

No explicit guidance on when to use this tool versus alternatives like browse_wwdc_topics or list_wwdc_videos. The description implies it's for an overview of years, but lacks when-not or exclusion criteria.

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

resolve_references_batchA
Read-only

Deep dive into all types and APIs referenced in a documentation page. Resolves all mentioned types, methods, and properties to understand dependencies. Use when: analyzing complex APIs, understanding type requirements, exploring API ecosystems.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceUrlYesDocumentation URL to analyze for references. Example: "https://developer.apple.com/documentation/swiftui/view"
maxReferencesNoLimit resolved references (default: 20, max: 50). Higher values = more comprehensive but slower.
filterByTypeNoFilter by reference type. Use "protocol" for protocol requirements, "class" for class hierarchies. Default: "all"

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare 'readOnlyHint: true', indicating a safe read operation. The description adds that the tool 'resolves all mentioned types', but does not elaborate on performance, scope limits, or other behavioral traits beyond what annotations provide. It does not contradict annotations, but adds minimal extra context.

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 concise, with three clear sentences: the action, details, and usage guidance. It is front-loaded with the core purpose and contains no redundant elements.

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

Completeness2/5

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

The tool has no output schema, yet the description does not explain what the result looks like (e.g., list of references, structure, or metadata). For a tool that resolves references from a documentation page, this is a significant gap. The description would benefit from outlining the return format or behavior.

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 coverage is 100%, and the input schema already provides detailed descriptions for all three parameters (e.g., sourceUrl example, maxReferences bounds, filterByType enum). The description does not add any parameter semantics beyond the schema. Per guidelines, baseline 3 is appropriate.

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: 'Deep dive into all types and APIs referenced in a documentation page. Resolves all mentioned types, methods, and properties.' It uses a specific verb-resource combination and outlines concrete use cases, making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description provides explicit when-to-use scenarios ('Use when: analyzing complex APIs, understanding type requirements, exploring API ecosystems'). However, it does not mention when not to use this tool or compare it to sibling tools (e.g., get_related_apis), which slightly limits guidance.

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

search_apple_docsA
Read-only

Search Apple Developer Documentation for APIs, frameworks, guides, and samples. Best for finding specific APIs, classes, or methods. For browsing sample code projects, use get_sample_code. For WWDC videos, use the dedicated WWDC tools (list_wwdc_videos, search_wwdc_content).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch query for Apple Developer Documentation. Tips: Use specific API names (e.g., "UIViewController"), framework names (e.g., "SwiftUI"), or technical terms. Avoid generic terms like "how to" or "tutorial". Examples: "NSPredicate", "SwiftUI List", "Core Data migration", "URLSession authentication".
typeNoType of content to filter. Use "all" for comprehensive results, "documentation" for API references/guides, "sample" for code snippets. Note: "sample" returns individual code examples, not full projects. For complete sample projects, use get_sample_code instead. Default: "all".

TDQS

A4.4/5.0
Behavior4/5

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

The description is consistent with the readOnlyHint annotation, implying no side effects. It adds context about the scope of search but does not elaborate on other behavioral traits like rate limits or auth requirements. With annotations covering the read-only nature, the description provides sufficient additional context for a search tool.

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 three sentences, front-loaded with the main purpose, and each sentence adds value. It avoids unnecessary detail and wastes no words.

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 search tool with two parameters and no output schema, the description covers purpose, scope, and alternatives adequately. It does not mention pagination or result format, but this is a minor gap given the tool's simplicity and the presence of annotations.

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?

The input schema already provides detailed descriptions for both parameters (query and type), including tips and examples. The tool description itself does not add new parameter information beyond what the schema provides. With 100% schema coverage, the baseline is 3, and the description does not elevate it further.

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 purpose: searching Apple Developer Documentation for APIs, frameworks, guides, and samples. It differentiates from sibling tools by explicitly mentioning alternatives (get_sample_code and WWDC tools) and their use cases, making it easy for an agent to understand what this tool is for.

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 provides explicit guidance on when to use this tool: 'Best for finding specific APIs, classes, or methods.' It also tells when to use alternatives and includes tips in the parameter descriptions about avoiding generic terms. This helps the agent choose correctly between siblings.

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

search_framework_symbolsA
Read-only

Browse and search symbols within a specific Apple framework. Perfect for exploring framework APIs, finding all views/controllers/delegates in a framework, or discovering available types. Use after list_technologies to get framework identifiers.

ParametersJSON Schema
NameRequiredDescriptionDefault
frameworkYesFramework identifier in lowercase. Common: "uikit", "swiftui", "foundation", "combine", "coredata". Get exact names from list_technologies. Example: "swiftui" for SwiftUI framework.
symbolTypeNoFilter by symbol type. Use "class" for UIViewController subclasses, "protocol" for delegates, "struct" for value types. Default: "all" shows everything.
namePatternNoFilter by name pattern. Use "*View" for all views, "UI*" for UI-prefixed symbols, "*Delegate" for delegates. Case-sensitive. Leave empty for all symbols.
languageNoLanguage preference. Some APIs differ between Swift and Objective-C. Default: "swift"
limitNoResults limit (default: 50, max: 200). Includes nested symbols.

TDQS

A4/5.0
Behavior3/5

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

Annotations provide readOnlyHint=true which is consistent. The description adds no extra behavioral traits such as auth needs, rate limits, or output format. It sufficiently describes the read operation but no additional transparency beyond the purpose.

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?

Two sentences with zero wasted words. Front-loaded with verb and resource, followed by use cases and prerequisite. Highly efficient.

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?

Despite no output schema, the description is sufficient for a search tool: it tells what it does, when to use it, and hints at output (list of symbols). Missing explicit return type but not critical.

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% with detailed parameter descriptions. The tool description only adds context like 'Get exact names from list_technologies' which is helpful but minimal. Baseline 3 is appropriate.

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 it browses and searches symbols within a specific Apple framework, uses specific verbs and resource, and distinguishes from siblings by prescribing use after list_technologies.

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

Usage Guidelines4/5

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

The description explicitly recommends using after list_technologies and provides example use cases ('exploring framework APIs, finding all views/controllers/delegates'). It lacks direct exclusions but provides clear context.

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

search_wwdc_contentA
Read-only

Full-text search across all WWDC video transcripts and code examples. Find specific discussions, API mentions, or implementation examples. More powerful than list_wwdc_videos for finding specific content.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesSearch terms. Examples: "async await", "@Observable", "Vision Pro", "performance optimization".
searchInNoSearch scope. "transcript" = spoken content, "code" = code examples only, "both" = everything. Default: "both"
yearNoLimit to specific year ("2025", "2024", etc.). Leave empty for all years.
languageNoCode language filter ("swift", "objc", "javascript"). Only for code search.
limitNoMax results (default: 20). Results include context snippets.

TDQS

A4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's job is lighter. It adds that results include context snippets but does not detail other behavioral traits like pagination, rate limits, or auth requirements. The description does not contradict annotations.

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 two sentences, front-loaded with the core purpose, and contains no filler. Every sentence adds value.

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?

Given no output schema, the description mentions return format ('results include context snippets'), but lacks details on pagination, empty result behavior, or performance. Still, it is reasonably complete for a search tool with good annotations.

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 coverage is 100% (all parameters have descriptions). The description does not add meaningful extra meaning beyond what the schema already provides for each parameter, so a baseline score of 3 is appropriate.

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 explicitly states it performs full-text search across WWDC video transcripts and code examples, using specific verbs ('search', 'find') and naming the resource. It clearly distinguishes itself from sibling 'list_wwdc_videos' by noting it is more powerful for finding specific content.

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

Usage Guidelines4/5

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

The description provides context on when to use this tool over a sibling ('More powerful than list_wwdc_videos for finding specific content'), but does not explicitly state when not to use it or mention alternatives.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 18 tool updatesv1.0.26
    • First observedbrowse_wwdc_topics
    • First observedfind_related_wwdc_videos
    • First observedfind_similar_apis
    • First observedget_apple_doc_content
    • First observedget_documentation_updates
    • First observedget_platform_compatibility
    • First observedget_related_apis
    • First observedget_sample_code
    • First observedget_technology_overviews
    • First observedget_wwdc_code_examples
    • First observedget_wwdc_video
    • First observedlist_technologies
    • First observedlist_wwdc_videos
    • First observedlist_wwdc_years
    • First observedresolve_references_batch
    • First observedsearch_apple_docs
    • First observedsearch_framework_symbols
    • First observedsearch_wwdc_content

TDQS

A4.3/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, covering different aspects of Apple documentation and WWDC content. Tools like browse_wwdc_topics, list_wwdc_videos, and list_wwdc_years are unambiguously separate, and search tools are differentiated by source (docs, WWDC, framework symbols).

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., browse_wwdc_topics, get_apple_doc_content, list_technologies). The naming is predictable and readable, with no mixing of conventions.

Tool Count5/5

18 tools cover a broad domain (Apple documentation, WWDC, framework browsing, sample code, platform compatibility) without being excessive. Each tool serves a clear purpose, and the count feels well-scoped for the intended functionality.

Completeness5/5

The tool set is comprehensive for exploring Apple developer resources. It covers search, navigation, getting content, related APIs, updates, and sample code. No obvious gaps for typical documentation tasks.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides AI agents with instant access to official Apple developer documentation, Swift programming guides, design guidelines, and Apple Developer YouTube content including WWDC sessions. Uses advanced RAG technology with semantic search and AI reranking to deliver accurate, contextual answers for Apple platform development.
    7
    -
  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Provides AI agents with instant access to official Apple developer documentation, Swift docs, design guidelines, and Apple Developer YouTube content through advanced semantic and hybrid search capabilities. Features AI-powered reranking for accurate retrieval of Apple platform knowledge including iOS, macOS, watchOS, tvOS, and visionOS development resources.
    5
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Provides comprehensive access to Apple's development documentation ecosystem including hidden Xcode docs, Swift Evolution proposals, GitHub repositories, and WWDC session notes. Enables developers to search and retrieve advanced Apple development resources not available through public channels.
    15
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kimsungwhee/apple-docs-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server