Ever notice Claude struggling to write Swift code? It might not be their fault!
Apple Developer docs are locked behind JavaScript,
making them invisible to most LLMs.
If they try to fetch it, all they see is
This page requires JavaScript. Please turn on JavaScript in your browser and refresh the page to view
its content.
This service translates Apple Developer documentation, Human Interface Guidelines, WWDC sessions, and external Swift-DocC sites into AI-friendly Markdown.
Access it in your browser, over MCP, from the command line, as an AI skill, or with an unofficial Chrome extension.
HTTP Usage
Replace developer.apple.com with sosumi.ai:
- Original
-
https://developer.apple.com/documentation/swift/array - AI-readable
-
https://sosumi.ai/documentation/swift/array
Examples
MCP Usage
Connect your MCP client to
https://sosumi.ai/mcp.
GitHub Copilot for Xcode
- Open GitHub Copilot for Xcode and go to Settings…
- Select the MCP tab
- Click
Edit Config
- Enter the following configuration:
{
"servers": { "sosumi": {
"type": "http",
"url": "https://sosumi.ai/mcp"
} }
}
For more information, see the GitHub Copilot for Xcode README.
Cursor
Click the button below to automatically install the sosumi MCP server:
For more information, see the Cursor documentation.
VSCode
Create a .vscode/mcp.json file in your workspace and enter the following
configuration:
{
"servers": { "sosumi": {
"type": "http",
"url": "https://sosumi.ai/mcp"
} }
}
For more information, see the VSCode documentation.
Claude Desktop
- Open Claude Desktop
- Go to Settings → Connectors
- Click "Add custom connector"
- Set "Name" to sosumi
- Set "Remote MCP server URL" to https://sosumi.ai/mcp
- Click "Add"
See the Claude Desktop documentation for more information.
Claude Code
Run the following command in your terminal:
claude mcp add --transport http sosumi https://sosumi.ai/mcp
For more information, see the Claude Code MCP documentation.
Other MCP Clients
Sosumi's MCP server supports Streamable HTTP and Server-Sent Events (SSE) transport.
If your client supports either of these,
configure it to connect directly to https://sosumi.ai/mcp.
Otherwise, you can run this command to proxy over stdio:
{
"mcpServers": {
"sosumi": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://sosumi.ai/mcp"
]
} }
}
Available Tools
-
searchAppleDocumentation- Searches Apple Developer documentation
Parameters:query(string)
Returns structured results with titles, URLs, descriptions, breadcrumbs, and tags
-
fetchAppleDocumentation- Fetches Apple Developer documentation and Human Interface Guidelines by path
Parameters:path(string) - Documentation path (e.g., '/documentation/swift', 'design/human-interface-guidelines/foundations/color')
Returns content as Markdown
-
fetchAppleVideoTranscript- Fetches video transcripts, including WWDC sessions, by video path
Parameters:path(string) - video path (e.g., '/videos/play/wwdc2021/10133', '/videos/play/meet-with-apple/208')
Returns content as Markdown
-
fetchExternalDocumentation- Fetches external Swift-DocC documentation by absolute HTTPS URL
Parameters:url(string) - External URL (e.g., 'https://apple.github.io/swift-argument-parser/documentation/argumentparser')
Returns content as Markdown
Troubleshooting
If you're experiencing connection timeouts or network issues with the MCP server, you may need to configure a proxy. This is particularly common in corporate environments or regions with restricted internet access.
Configure your MCP client to use a proxy by adding environment variables:
{
"mcpServers": {
"sosumi": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://sosumi.ai/mcp"
],
"env": {
"HTTP_PROXY": "http://proxy.example.com:8080",
"HTTPS_PROXY": "http://proxy.example.com:8080"
}
} }
}
Replace proxy.example.com:8080 with your actual proxy server details.
For authenticated proxies, use the format:
http://username:password@proxy.example.com:8080
CLI Usage
Sosumi also provides a CLI that complements MCP.
Run directly with npx
(included with Node.js):
npx @nshipster/sosumi fetch https://developer.apple.com/documentation/swift/array
If you use it regularly, install it once:
npm i -g @nshipster/sosumi
Run directly with bunx
(included with Bun):
bunx @nshipster/sosumi fetch https://developer.apple.com/documentation/swift/array
If you use it regularly, install it once:
bun i -g @nshipster/sosumi
Run directly with deno run:
deno run -A npm:@nshipster/sosumi fetch https://developer.apple.com/documentation/swift/array
If you use it regularly, install it once:
deno install -g -A npm:@nshipster/sosumi
Fetching Documentation
Fetch any content type supported by the MCP tools — API docs, Human Interface Guidelines, WWDC sessions, and external Swift-DocC pages:
sosumi fetch /documentation/swift/array
sosumi fetch /design/human-interface-guidelines/color
sosumi fetch /videos/play/wwdc2021/10133
sosumi fetch https://apple.github.io/swift-argument-parser/documentation/argumentparser
Searching
Search Apple Developer documentation:
sosumi search "SwiftData"
JSON Output
By default, output is plain text / Markdown.
Add --json for scripts:
sosumi fetch /documentation/swift/array --json
sosumi search "SwiftData" --json
Local Server
Run a local instance of the server from the published package:
sosumi serve
sosumi serve --port 8787
AI Agent Skill
Teach your coding assistant to use Sosumi consistently with:
https://sosumi.ai/SKILL.md
Install as a reusable skill (personal or project-level):
# Personal skill (all your projects)
mkdir -p ~/.claude/skills/sosumi
curl -o ~/.claude/skills/sosumi/SKILL.md https://sosumi.ai/SKILL.md
# Project skill (just this project)
mkdir -p .claude/skills/sosumi
curl -o .claude/skills/sosumi/SKILL.md https://sosumi.ai/SKILL.md
Install globally:
# Global instructions (all your projects)
curl -o ~/.codex/AGENTS.md https://sosumi.ai/SKILL.md
Install as a Cursor skill (global or project-level):
# Personal skill (all your projects)
mkdir -p ~/.cursor/skills/sosumi
curl -o ~/.cursor/skills/sosumi/SKILL.md https://sosumi.ai/SKILL.md
# Project skill (just this project)
mkdir -p .cursor/skills/sosumi
curl -o .cursor/skills/sosumi/SKILL.md https://sosumi.ai/SKILL.md
For AGENTS-compatible tools, you can add project instructions:
curl -o AGENTS.md https://sosumi.ai/SKILL.md