searchAppleDocumentation
Search Apple Documentation
Search Apple Developer documentation (https://developer.apple.com/documentation) and return structured results
query必填
ai.sosumi由 sosumi.ai 發布官方發布者v1.1.0更新於 Nov 7, 2026
Search and read Apple developer documentation, HIG, and WWDC transcripts as Markdown.
遠端 MCP 伺服器,讓助理搜尋 Apple 開發者文件,並以 Markdown 讀取文件、HIG 頁面、WWDC 字幕稿與 Swift-DocC 頁面。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/ai.sosumi%2Fsosumi/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"sosumi": {
"type": "http",
"url": "https://sosumi.ai/mcp"
}
}
}Making Apple docs AI-readable.
sosumi.ai provides Apple Developer documentation in an AI-readable format by converting JavaScript-rendered pages into Markdown.
Replace developer.apple.com with sosumi.ai
in any Apple Developer documentation URL:
Original:
AI-readable:
This works for all API reference docs, as well as Apple's Human Interface Guidelines (HIG).
WWDC session transcripts are also supported by replacing the same host for video URLs:
Original:
AI-readable:
Sosumi can also proxy public non-Apple Swift-DocC pages using:
Original:
AI-readable:
[!NOTE] Sosumi resolves the URL to the site's underlying DocC JSON endpoint and renders Markdown, preserving any base path from the original URL. External hosts can opt out via
robots.txtby disallowing user-agentsosumi-ai(full UA:sosumi-ai/1.0 (+https://sosumi.ai/#bot)). See/botfor the crawler policy and contact details.
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:
See the website for client-specific instructions.
The plugin folder packages the MCP server and the agent skill
for Claude Code, Cursor, and Agent Plugins clients
such as ChatGPT and Codex.
In Claude Code, run:
public/SKILL.md is the source of the skill.
After you edit it, copy it into the plugin:
A test fails when the two files differ.
searchAppleDocumentation - Searches Apple Developer documentation
query (string)fetchAppleDocumentation - Fetches Apple Developer documentation and Human Interface Guidelines by path
path (string) - Documentation path (e.g., '/documentation/swift', '/documentation/swiftui/view', '/design/human-interface-guidelines/foundations/color')fetchAppleVideoTranscript - Fetches video transcripts, including WWDC sessions
path (string) - video path (e.g., /videos/play/wwdc2021/10133)fetchExternalDocumentation - Fetches external Swift-DocC documentation by absolute HTTPS URL
url (string) - External URL (e.g., https://swiftlang.github.io/swift-docc-plugin/documentation/swiftdoccplugin)Sosumi also provides a CLI that complements MCP:
If you use it regularly, install once:
Then use sosumi directly:
You can fetch all content types covered by MCP tools:
Run a local server from the published package:
By default, output is plain text / Markdown. Use JSON output for scripts:
Want your AI coding assistant to use Sosumi consistently?
Use the hosted skill file:
https://sosumi.ai/SKILL.md
Spec-compliant clients can also install it with:
You can also use Sosumi from a community-contributed Chrome extension, which adds a "Copy sosumi Link" button to Apple Developer documentation pages. Source code is available on GitHub.
This project is designed to be easily run on your own machine or deployed to a hosting provider.
Sosumi.ai is currently hosted by Cloudflare Workers.
[!NOTE]
The application is built with Hono, making it compatible with various runtimes.See the Hono docs for more information about deploying to different platforms.
Clone the repository:
Install dependencies:
Start development server:
Once the application is up and running, press the b to open the URL in your browser.
To configure MCP clients to use your development server,
replace sosumi.ai with the local server address
(http://localhost:8787 by default).
You can restrict which external Swift-DocC hosts are reachable with two environment variables (both newline-delimited):
EXTERNAL_DOC_HOST_ALLOWLIST — only listed hosts are permittedEXTERNAL_DOC_HOST_BLOCKLIST — listed hosts are always denied[!IMPORTANT] Hostname-based private-network checks cannot fully prevent DNS rebinding. Set an explicit
EXTERNAL_DOC_HOST_ALLOWLISTin production.
Sosumi identifies itself when it fetches from external Swift-DocC hosts on a user's behalf using Web Bot Auth, so those hosts can cryptographically verify the traffic.
/.well-known/http-message-signatures-directory.Signature-Agent, Signature-Input, and Signature headers.To enable signing on your own deployment,
provide an Ed25519 private key (as a JSON Web Key)
via the WEB_BOT_AUTH_KEY secret.
Generate a key (the JSON Web Key is the format WEB_BOT_AUTH_KEY expects),
then paste the printed value when wrangler secret put prompts for it:
Or generate and upload in a single step, which avoids writing the key to disk or shell history:
The matching public key and its kid (JWK thumbprint) are derived automatically,
so no key material lives in the repository.
Set the optional SIGNATURE_AGENT var to override the advertised origin
(defaults to https://sosumi.ai).
When no key is configured, requests are simply sent unsigned.
Cloudflare provides built-in verification for these signatures.
This project uses vitest for unit and integration testing.
[!TIP] When running the CLI through npm scripts during local development, use
-s(--silent) to suppress npm's script preamble so output pipes cleanly:
This project uses Biome for code formatting, linting, and import organization.
npm run format - Format all code filesnpm run lint - Lint and fix code issuesnpm run check - Format, lint, and organize imports (recommended)npm run check:ci - Check code without making changes (for CI)For the best development experience, install the Biome extension for your editor:
Whenever you update your wrangler.toml or change your Worker bindings,
be sure to re-run:
Publishing is handled by .github/workflows/release.yml.
v* or manual dispatch with taggh release create "$TAG_NAME" --generate-notesid-token: write)npm publish --provenance --access publicnpm publish, the workflow publishes server.json
to the MCP Registry
as ai.sosumi/sosumi.Keep version in server.json equal to version in package.json;
a test fails when they differ.
The registry step uses
HTTP authentication
for the sosumi.ai domain.
It skips with a notice until the MCP_REGISTRY_PRIVATE_KEY secret is set.
To set it up, generate an Ed25519 key pair with OpenSSL 3
(macOS's LibreSSL does not support Ed25519):
The Worker then serves v=MCPv1; k=ed25519; p=<public key>
at /.well-known/mcp-registry-auth.
Without the variable, that path returns 404.
Delete key.pem after you save both values.
This project is available under the MIT license. See the LICENSE file for more info.
This is an unofficial, independent project and is not affiliated with or endorsed by Apple Inc. "Apple", "Xcode", and related marks are trademarks of Apple Inc.
This service is an accessibility-first, on‑demand renderer. It converts a single Apple Developer page to Markdown only when requested by a user. It does not crawl, spider, or bulk download; it does not attempt to bypass authentication or security; and it implements rate limiting to avoid imposing unreasonable load.
For external Swift-DocC hosts, access can be denied by robots.txt
and opt-out response directives such as X-Robots-Tag: noai.
Content is fetched transiently and may be cached briefly to improve performance. No permanent archives are maintained. All copyrights and other rights in the underlying content remain with Apple Inc. Each page links back to the original source.
Your use of this service must comply with Apple's Terms of Use and applicable law. You are solely responsible for how you access and use Apple's content through this tool. Do not use this service to circumvent technical measures or for redistribution.
Contact: [email protected]
來源:README.md,提交 80f5c0f
Search Apple Documentation
Search Apple Developer documentation (https://developer.apple.com/documentation) and return structured results
query必填Fetch Apple Documentation
Fetch a page of Apple Developer documentation (https://developer.apple.com/documentation) or the Human Interface Guidelines (https://developer.apple.com/design/human-interface-guidelines) by path and return it as Markdown
path必填Fetch External Documentation
Fetch a page from a public Swift-DocC documentation site (https://www.swift.org/documentation/docc/) by absolute HTTPS URL and return it as Markdown
url必填Fetch Apple Video Transcript
Fetch the transcript of an Apple Developer video (https://developer.apple.com/videos) by path and return it as Markdown
path必填已滿足適用檢查項的 100%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
https://developer.apple.com/documentation/swift/arrayhttps://sosumi.ai/documentation/swift/arrayhttps://developer.apple.com/videos/play/wwdc2021/10133/https://sosumi.ai/videos/play/wwdc2021/10133https://swiftlang.github.io/swift-docc-plugin/documentation/swiftdoccpluginhttps://sosumi.ai/external/https://swiftlang.github.io/swift-docc-plugin/documentation/swiftdoccplugin{ "mcpServers": { "sosumi": { "command": "npx", "args": ["-y", "mcp-remote", "https://sosumi.ai/mcp"] } }}/plugin marketplace add NSHipster/sosumi.ai/plugin install sosumi@sosumi-aicp public/SKILL.md plugin/skills/sosumi/SKILL.mdnpx @nshipster/sosumi fetch https://developer.apple.com/documentation/swift/arraynpm i -g @nshipster/sosumisosumi fetch https://developer.apple.com/documentation/swift/array# Apple documentation / HIG / videossosumi fetch /documentation/swift/arraysosumi fetch /design/human-interface-guidelines/colorsosumi fetch /videos/play/wwdc2021/10133
# External Swift-DocC pagessosumi fetch https://swiftlang.github.io/swift-docc-plugin/documentation/swiftdoccplugin
# Apple documentation searchsosumi search "SwiftData"sosumi servesosumi serve --port 8787sosumi fetch https://developer.apple.com/documentation/swift/array --jsonsosumi search "SwiftData" --jsonnpx skills add https://sosumi.aigit clone https://github.com/nshipster/sosumi.ai.gitcd sosumi.ainpm installnpm run devnode -e 'crypto.subtle.generateKey({name:"Ed25519"},true,["sign","verify"]).then(async k=>{const j=await crypto.subtle.exportKey("jwk",k.privateKey);console.log(JSON.stringify({kty:j.kty,crv:j.crv,x:j.x,d:j.d}))})'npx wrangler secret put WEB_BOT_AUTH_KEYnode -e 'crypto.subtle.generateKey({name:"Ed25519"},true,["sign","verify"]).then(async k=>{const j=await crypto.subtle.exportKey("jwk",k.privateKey);console.log(JSON.stringify({kty:j.kty,crv:j.crv,x:j.x,d:j.d}))})' \ | npx wrangler secret put WEB_BOT_AUTH_KEYnpm run test # Run testsnpm run test:ui # Run tests with UInpm run test:run # Run tests oncenpm run -s cli -- fetch https://developer.apple.com/documentation/swift/array | bat -l mdnpm run cf-typegenopenssl genpkey -algorithm Ed25519 -out key.pem# Public key: add to "vars" in wrangler.jsonc as MCP_REGISTRY_PUBLIC_KEY, then deployopenssl pkey -in key.pem -pubout -outform DER | tail -c 32 | base64# Private key (hex): save as the MCP_REGISTRY_PRIVATE_KEY repository secretopenssl pkey -in key.pem -noout -text | grep -A3 "priv:" | tail -n +2 | tr -d ' :\n'