DocC MCP

by angelodipaolo

Not rated
GitHub

About

Exposes Apple DocC documentation archives to AI agents, enabling real-time access to Swift documentation.

Details

Author
angelodipaolo
Categories
Developer Tools, Knowledge Base, Other

Setup

Install DocC MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/angelodipaolo/docc-mcp

Follow the installation instructions in the repository README, then restart your MCP client.

A Model Context Protocol (MCP) server that exposes Apple DocC documentation archives to AI agents, enabling real-time access to Swift documentation without requiring training data or massive context windows.

- 🔍 Search Documentation: Find symbols, types, functions across all DocC archives
- 📖 Symbol Details: Get detailed information about specific Swift symbols
- 📄 Article Access: Get detailed information about tutorials and articles
- 🗂️ Browse Archives: Navigate DocC archive structures interactively
- ⚡ Real-time Access: Query current documentation without stale data
- 🎯 Filtered Search: Search by symbol type (class, struct, enum, protocol, etc.)

{ "mcpServers": { "docc": { "command": "node", "args": [ "/path/to/docc-mcp/dist/index.js", "--archive-path", "/path/to/your/docc/archives", "--archive-path", "~/Documents/Xcode/DerivedData" ] } } }

Configure archive paths using the--archive-pathargument:

{ "mcpServers": { "docc": { "command": "node", "args": [ "/path/to/docc-mcp/dist/index.js", "--archive-path", "/Users/yourname/docc-archives" ] } } }
{ "mcpServers": { "docc": { "command": "node", "args": [ "/path/to/docc-mcp/dist/index.js", "--archive-path", "/Users/yourname/Project1/docs", "--archive-path", "/Users/yourname/Project2/docs", "--archive-path", "~/Documents/Xcode/DerivedData" ] } } }

Using Xcode's generated documentation:

{ "mcpServers": { "docc": { "command": "node", "args": [ "/path/to/docc-mcp/dist/index.js", "--archive-path", "~/Library/Developer/Xcode/DerivedData/YourApp-/Build/Products/Debug/YourApp.doccarchive" ] } } }

Note: At least one--archive-pathmust be specified. The server will exit with an error if no archive paths are provided.

- ~/Library/Developer/Xcode/DerivedData/YourApp-/Build/Products/Debug/Documentation/
- ~/Library/Developer/Xcode/DerivedData/YourApp-
/Build/Products/Release*/Documentation/

- .build/plugins/Swift-DocC/outputs/YourPackage.doccarchive

- docs/(if you organize archives in a docs folder)
- Project root directory where you runswift package generate-documentation

{ "args": [ "/path/to/docc-mcp/dist/index.js", "--archive-path", "~/MySwiftPackage1/docs", "--archive-path", "~/MySwiftPackage2/.build/plugins/Swift-DocC/outputs", "--archive-path", "~/Library/Developer/Xcode/DerivedData" ] }

Lists all available DocC archives with metadata.

{ "name": "list_archives" }
{ "name": "search_docc", "arguments": { "query": "SwiftSyntax", "archive": "SwiftSyntax", "type": "struct" } }

Get detailed information about a specific symbol.

{ "name": "get_symbol", "arguments": { "symbolId": "documentation/swiftsyntax/tokensyntax", "archive": "SwiftSyntax" } }

Get detailed information about a specific article or tutorial.

{ "name": "get_article", "arguments": { "articleId": "meetcomposablearchitecture", "archive": "ComposableArchitecture" } }
{ "name": "browse_archive", "arguments": { "archive": "SwiftSyntax", "path": "documentation/swiftsyntax" } }

The server expects DocC archives in directories specified by--archive-path:

Run the test script to validate functionality:

- List all available archives
- Test search functionality
- Browse archive structures
- Validate symbol retrieval

{ "name": "search_docc", "arguments": { "query": "navigation", "type": "struct" } }
{ "name": "get_symbol", "arguments": { "symbolId": "documentation/swiftsyntax/tokensyntax", "archive": "SwiftSyntax" } }
{ "name": "browse_archive", "arguments": { "archive": "SwiftSyntax", "path": "documentation/swiftsyntax" } }

- Caching: Archives and symbols are cached for fast repeated access
- Search limits: Results limited to 50 per query for performance
- Lazy loading: Archives loaded on-demand
- File limits: Search limited to 100 files per archive for performance

This server works with standard DocC archives. To generate compatible archives:

# Using Swift-DocC swift package generate-documentation --target MyLibrary # Using Xcode # Product → Build Documentation

- ✅ Symbol metadata (title, kind, role, platforms)
- ✅ Documentation hierarchy
- ✅ Symbol references and relationships
- ✅ Code declarations with syntax highlighting
- ✅ Abstract/summary text
- ✅ Platform availability information
- ✅ Module organization

This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.

Extentos is a multi-vendor development platform for adding smart-glasses capabilities to existing iOS and Android apps. The simplest analogy is Stripe for smart glasses

An MCP server tailored for React Native–first development using Gluestack UI

Create and read feature flags, review experiments, generate flag types, search docs, and interact with GrowthBook's feature flagging and experimentation platform.

Gives AI agents public URLs (tunnels) for localhost, live HTTP traffic inspection, snapshot publishing, and access control.

Understand, develop, and debug authorization policies in Oso Cloud.

Up-to-date documentation for your coding agent. Covers 1000s of public repos and sites. Built by ref.tools

Points agents to the canonical Agentry install docs for errors, product analytics, and deploy attribution.

Gives coding agents deterministic, read-only documentation handoffs with edit boundaries, ownership, and required checks before repository changes.

Deterministic JSON checks with signed evidence and x402-paid execution

Search Apple's Developer Documentation with smart search and wildcard support.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.