DocC MCP
Exposes Apple DocC documentation archives to AI agents, enabling real-time access to Swift documentation.
docc-mcp
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.
Features
- 🔍 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.)
Installation
npm install
npm run build
Usage
As MCP Server
Add to your MCP client configuration:
{
"mcpServers": {
"docc": {
"command": "node",
"args": [
"/path/to/docc-mcp/dist/index.js",
"--archive-path", "/path/to/your/docc/archives",
"--archive-path", "~/Documents/Xcode/DerivedData"
]
}
}
}
Configuration Options
Configure archive paths using the --archive-path argument:
Single archive directory:
{
"mcpServers": {
"docc": {
"command": "node",
"args": [
"/path/to/docc-mcp/dist/index.js",
"--archive-path", "/Users/yourname/docc-archives"
]
}
}
}
Multiple archive directories:
{
"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-path must be specified. The server will exit with an error if no archive paths are provided.
Common DocC Archive Locations
Xcode-generated documentation:
~/Library/Developer/Xcode/DerivedData/YourApp-*/Build/Products/Debug*/Documentation/~/Library/Developer/Xcode/DerivedData/YourApp-*/Build/Products/Release*/Documentation/
Swift Package Manager:
.build/plugins/Swift-DocC/outputs/YourPackage.doccarchive
Manual DocC builds:
docs/(if you organize archives in a docs folder)- Project root directory where you run
swift package generate-documentation
Multiple projects:
{
"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"
]
}
Available Tools
1. list_archives
Lists all available DocC archives with metadata.
{
"name": "list_archives"
}
2. search_docc
Search across DocC documentation.
{
"name": "search_docc",
"arguments": {
"query": "SwiftSyntax",
"archive": "SwiftSyntax",
"type": "struct"
}
}
3. get_symbol
Get detailed information about a specific symbol.
{
"name": "get_symbol",
"arguments": {
"symbolId": "documentation/swiftsyntax/tokensyntax",
"archive": "SwiftSyntax"
}
}
4. get_article
Get detailed information about a specific article or tutorial.
{
"name": "get_article",
"arguments": {
"articleId": "meetcomposablearchitecture",
"archive": "ComposableArchitecture"
}
}
5. browse_archive
Browse the structure of a DocC archive.
{
"name": "browse_archive",
"arguments": {
"archive": "SwiftSyntax",
"path": "documentation/swiftsyntax"
}
}
Archive Structure
The server expects DocC archives in directories specified by --archive-path:
Testing
Run the test script to validate functionality:
node test-server.js
This will:
- List all available archives
- Test search functionality
- Browse archive structures
- Validate symbol retrieval
Example Queries
Find all SwiftUI navigation components:
{
"name": "search_docc",
"arguments": {
"query": "navigation",
"type": "struct"
}
}
Get details about TokenSyntax:
{
"name": "get_symbol",
"arguments": {
"symbolId": "documentation/swiftsyntax/tokensyntax",
"archive": "SwiftSyntax"
}
}
Browse SwiftSyntax types:
{
"name": "browse_archive",
"arguments": {
"archive": "SwiftSyntax",
"path": "documentation/swiftsyntax"
}
}
Performance
- 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
DocC Integration
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
Supported DocC Features
- ✅ 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
License
MIT License
Serveurs connexes
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
SonarCloud
Fetch SonarCloud issues related to pull requests.
Enhanced QR Code MCP Server
Generates QR codes with metadata, batch processing, and file management tools.
Data Center Intelligence
Real-time data center intelligence: 50K+ facilities, $51B+ M&A deals, 21+ GW pipeline, live grid data. 15 MCP tools. Free tier + Developer $49/mo.
JSONPlaceholder
A free public REST API for testing and prototyping, powered by JSONPlaceholder.
Vercel AI SDK MCP Server Project
An MCP server for the Vercel AI SDK, enabling integrations with Figma and 21st.dev Magic.
Cloudflare Remote MCP Server
An example of deploying a customizable, remote MCP server on Cloudflare Workers without authentication.
MCP Server Starter
A starter project for building MCP servers with TypeScript and Bun.
Replicate Flux MCP
Generate high-quality images and vector graphics using the Replicate API.
ChemMCP
A collection of 19 professional tools for chemical molecular processing based on the Model Context Protocol (MCP).
Gateway MCP Server
A gateway server that intelligently routes MCP requests to multiple backend servers.