Developer · Model Context Protocol
Némos MCP
Give any AI agent live access to your Némos second brain. The Némos MCP server lets Claude, ChatGPT, Gemini, Cursor — any host that speaks the Model Context Protocol — search, enrich, and reason over your screenshots, notes, links, reels, and PDFs. One Apple sign-in. No per-provider API keys.
At a glance
- Connect any MCP host — Claude, ChatGPT, Gemini, Cursor — to your Némos library. One Apple/CloudKit sign-in is the only credential.
- Runs locally over stdio with
npx -y nemos-mcp, or hosted over HTTPS for cloud agents. - 36 tools across four layers — retrieve, enrich, connect, deliver — with
build_context_packas the keystone. - Your data never touches Némos servers; the agent reads your private CloudKit directly.
How it works
The MCP server owns one thing: a secure connection to your private CloudKit data. The AI host does the reasoning. The agent follows a simple loop — retrieve from your library, enrich only the gaps, connect related items, and deliver a context pack you can actually use.
Because it speaks a single open protocol, the same server works in every AI tool — you don't build a separate integration per provider. Your data connection is the only external link; everything else runs locally or on a server you control.
Install the MCP server
You need Node.js 20+ and an MCP-capable host. No clone, no build — the server runs straight from npm. Pick your client:
Run this in your project root (or drop the JSON into a .mcp.json file):
claude mcp add nemos -- npx -y nemos-mcpSign in once
- Restart your AI host so it loads the
nemosserver, then ask it to connect to Nemos (toolnemos_connect). - A browser opens to Apple's iCloud sign-in. Sign in with the same Apple ID you use in the Némos app and complete 2FA.
- You're connected. The token is stored in your OS keychain and refreshes itself — you won't sign in again.
iCloud.dev.codewithbeto.screennameapp) rather than "Némos". That is the correct, safe Némos container — the same one the app itself uses. The friendly "Némos" name appears once the app is published on the App Store.Hosted (remote)
For cloud hosts that can't spawn a local process (ChatGPT or Gemini web), run one shared HTTP server. Each user sends their own CloudKit token in a header — sessions are isolated and the token never touches disk.
{
"mcpServers": {
"nemos": {
"type": "http",
"url": "https://mcp.nemosapp.com/mcp",
"headers": { "X-Nemos-CK-Token": "YOUR_CK_WEB_AUTH_TOKEN" }
}
}
}Tools
36 tools across four layers. Badges mark tools that need an optional AI key or yt-dlp on the server.
Authentication
One Apple/CloudKit sign-in — the only external connection the agent needs.
nemos_connectlocal onlyConnect in one step: opens Apple sign-in, captures the token, verifies.
nemos_sign_in_urlGet the Apple CloudKit sign-in URL to open in a browser.
nemos_set_tokenStore the ckWebAuthToken (paste the callback URL or raw token).
nemos_auth_statusCheck whether the stored token is valid.
ensure_toolsReport (and optionally install) local enrichment tools like yt-dlp.
Layer 1 · Retrieve
Read straight from your library. Every saved item already carries extracted text.
search_nemosSearch saved items by text across the whole library.
get_itemGet one item in full by id.
list_foldersList all folders.
get_folder_itemsItems inside a folder.
get_recent_itemsMost recently updated items.
get_favoritesFavorited items.
get_related_itemsItems related to a seed item.
get_remindersAll reminders.
get_conversationsAll chat conversations.
get_smart_collectionsAll smart collections.
get_assetDownload one asset (file or thumbnail) of an item.
download_item_filesDownload every file attached to an item.
export_allBulk-export every synced item's files plus a manifest.
Layer 2 · Enrich
Fill the gaps — only fetch what the stored text is missing. Cached and idempotent.
fetch_url_contentFetch raw HTML/text of a URL.
extract_article_textClean article text from a URL (readability extraction).
summarize_articleneeds AI keySummarize an article at a URL.
get_youtube_metadataneeds yt-dlpYouTube video metadata.
get_youtube_transcriptneeds yt-dlpYouTube transcript from auto-captions.
get_reel_metadataneeds yt-dlpInstagram / TikTok reel metadata.
get_reel_transcript_or_captionneeds yt-dlpReel transcript if available, else caption.
extract_pdf_textExtract text from a saved PDF item.
summarize_pdfneeds AI keySummarize a saved PDF item.
extract_ocr_from_imageOCR a saved image or screenshot item.
analyze_image_or_screenshotneeds AI keyVision analysis of an image item.
Layer 3 · Connect & Deliver
Surface structure across your library and assemble it into something usable.
link_itemsLink two saved items with a typed reason.
find_related_by_topicFind saved items related to a topic query.
find_duplicate_itemsFind duplicate / near-duplicate saved items.
generate_knowledge_mapReturn nodes + edges for a topic (graph structure).
export_to_obsidianWrite a context-pack note into an Obsidian vault.
create_research_briefneeds AI keyDeep research brief for a topic.
build_context_packneeds AI keyKeystone: search → enrich gaps → synthesize into a knowledge pack.
Example prompts
Once Némos is connected, paste any of these into your AI host.
Best practices
- Mention Némos explicitly so the agent reaches for your library before its own guesses.
- Start from retrieval — ask it to search your saved items first, then reason.
- For anything that spans multiple sources, use
build_context_pack. - Let it enrich only the gaps — it reuses stored text and fetches just what's missing.
- Be specific about output: a summary, an Obsidian note, a research brief, or a PRD.
- Connect, don't just collect — ask it to link related items and flag duplicates.
Privacy
The MCP server connects to your own private CloudKit database with a rotating web-auth token — the same mechanism Némos itself uses. Nothing is sent to Némos servers. Run it locally and your data never leaves your machine; run it hosted and you control the host. Questions? [email protected].
