Puter MCP
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
Semantic search + connection-discovery across your own Apple Notes (bridges, synthesis).
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 3/3 통과 · 내 컴퓨터에서 실행돼요
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있지만 먼저 준비가 필요해요
키 필요 없음, 설치 필요 없음 · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
Apple Notes을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 Apple Notes을 쓰고 있다고 하거나 답에 Apple Notes 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT는 아직 Apple Notes에 연결할 수 없어요
Apple Notes는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요
Claude Code는 아직 Apple Notes에 연결할 수 없어요
제작자가 컴퓨터용 Claude 앱 설치 파일만 제공해요
A · Apple Notes에 연결되는 앱 쓰기
Cursor는 아직 Apple Notes에 연결할 수 없어요
제작자가 컴퓨터용 Claude 앱 설치 파일만 제공해요
A · Apple Notes에 연결되는 앱 쓰기
VS Code는 아직 Apple Notes에 연결할 수 없어요
제작자가 컴퓨터용 Claude 앱 설치 파일만 제공해요
A · Apple Notes에 연결되는 앱 쓰기
OPENAI_API_KEY 비밀 필수 envSYNTH_BASE_URL envSYNTH_MODEL env설명은 자동 번역이며 변수 이름은 원문 그대로입니다. 확실하지 않으면 원문을 확인하세요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
mcpb: …/mcp-apple-notes.mcpb이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
내 컴퓨터에서 실행하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 15일 점검
레지스트리 이름이 GitHub 계정 connerkward 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
코드 마지막 변경: 5개월 전
MIT 사용
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: OPENAI_API_KEY
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 5개월 전 변경됐고, 최신 버전(1.0.2)은 5개월 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 MCPB도 있어야 해요.
같은 카테고리에는: Puter MCP, XcodeBuildMCP, Anki MCP Server, Sosumi, Zapier
같은 카테고리, 다른 제작자, 명령 확인 완료. 공식이 먼저, 그다음 스타 순.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Puter MCP enables AI tools to interact with Puter: manage files, websites, workers, and more
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
MCP server for Anki flashcards: adaptive review, notes, media, and deck management via AnkiConnect.
Search and read Apple developer documentation, HIG, and WWDC transcripts as Markdown.
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
mcp-apple-notes is an MCP server for semantic search and connection-discovery across your own Apple Notes — hybrid search, Swanson-ABC bridges, entity threads, and cited synthesis over everything you've written.
It traverses your accumulated mass of notes: semantic + BM25 hybrid search, non-obvious bridge connections, entity threads, related-notes, and grounded synthesis across everything you've ever written in Apple Notes. Embeddings, search, BM25, clustering, and bridges run on-device; only synthesis generation calls an LLM (local via LM Studio/Ollama, or cloud via OpenAI — your choice). Built on the Model Context Protocol (MCP).
Forked from RafalWilinski/mcp-apple-notes — this fork reads the SQLite store + protobuf directly and adds bridges, entities, feed, and synthesis.
/plugin marketplace add connerkward/ckw-skills
/plugin install apple-notes@connerkward
This registers the MCP server and bundles the apple-notes-search agent skill. Or install the MCP server manually — see Installation below (requires macOS + bun + Full Disk Access).
Other MCP Notes servers break at scale. They use JXA (AppleScript automation) to read notes one-by-one — fine for 50 notes, unusable at 500+. At 1,800 notes, JXA takes ~49 minutes just to fetch content. On macOS Sequoia it's worse: Apple silently denies Automation permission to processes without a bundle ID, so JXA-based servers fail entirely. This fork reads the SQLite database directly, decodes the protobuf blobs for real note text, and indexes 1,800 notes in under 5 seconds.
| Feature | This fork | RafalWilinski (base) | disco-trooper | sirmews | dhravya |
|---|---|---|---|---|---|
| Notes access | SQLite (direct) | JXA | JXA | SQLite | JXA |
| Fetch 1800 notes | ~430ms | ~49 min (est.) | ~49 min (est.) | fast | slow |
| Sequoia compatible | ✅ | ⚠️ JXA denied | ⚠️ JXA denied | ✅ | ⚠️ |
| Content quality | Protobuf decoded | Raw HTML | Raw HTML | Partial | Raw |
| Semantic search | ✅ | ✅ | ✅ | ❌ | ❌ |
| Auto re-index on search | ✅ | ❌ | ❌ | ❌ | ❌ |
| Folder-aware search | ✅ Full path | ❌ | ✅ | ✅ | ✅ |
| Note chunking | ✅ 1500 chars | ❌ | ✅ | ❌ | ❌ |
| Re-ranking (RRF × title × recency) | ✅ | RRF only | RRF only | ❌ | ❌ |
| Non-blocking index UI | ✅ Live progress | ❌ | ❌ | ❌ | ❌ |
| Incremental indexing | ✅ | ❌ | ✅ | ❌ | ❌ |
| Update existing notes | ✅ | ❌ | ✅ | ❌ | ❌ |
| Tags + wikilinks | ✅ | ❌ | ❌ | ❌ | ❌ |
| Related notes | ✅ Multi-signal | ❌ | ❌ | ❌ | ❌ |
JXA on macOS Sequoia: processes without a bundle ID are silently auto-denied Automation permission. This fork reads SQLite directly.
all-MiniLM-L6-v2 on-device embeddingsRRF × title_boost × recency_factorRun the server directly and open the browser UI — no MCP client needed:
bun index.ts # → http://localhost:3741/ (also serves /mcp)
Six modes, building from retrieval toward sensemaking:
~/.mcp-apple-notes/consolidated.jsonl make the same underlying move), and entity threads ("X notes across Y folders mention Z", from the entity graph). Every item shows its evidence in plain text. 👍/👎 on any item tunes the ranking: a tiny online logistic regression (pure TS, no deps) takes a few SGD steps per vote; votes append to ~/.mcp-apple-notes/votes.jsonl (with the item's feature vector) and replay on boot, so the ranking survives restarts. Diversity constraints: ≤2 consecutive items of one kind, no note more than twice per page of 20; "show more" paginates. Endpoints: GET /api/feed?offset=&limit=, POST /api/vote {id, vote: 1|-1}.GET /api/clusters?k=.[n] citations back to the source notes; provenance is post-checked. Endpoint: GET /api/synthesize?q=.GET /api/bridges?limit=40.GET /api/entities?q=&limit=, GET /api/entity-notes?entity=.Bridge mining (~2 min of embedding) and clustering are computed once and persisted, keyed by a corpus fingerprint (note count + max modification date):
~/.mcp-apple-notes/bridges_cache.json — the full mined bridge pool~/.mcp-apple-notes/clusters_cache.json — cluster output per kFresh cache → served from disk instantly (<300ms). Stale (notes changed) → the stale copy is served instantly with a "recomputing…" pill in the UI while ONE background job (single-flight) refreshes it. Absent → computed inline once.
Embeddings/search/clustering/bridges/entities are fully local. Only synthesis generation needs an LLM. Point at a local OpenAI-compatible server to keep notes private:
# LM Studio / Ollama (zero API cost, notes stay local):
SYNTH_BASE_URL=http://localhost:1234/v1 SYNTH_MODEL= OPENAI_API_KEY=local bun index.ts
The entity layer reads ~/.mcp-apple-notes/layered_graph.db (override with LAYERED_DB) — a plain sqlite file produced by the companion exp-notes-indexing benchmark harness (layered_graph.py). No extra dependencies (bun ships bun:sqlite); if the file is absent the entity tools and tab simply report how to generate it.
git clone https://github.com/connerkward/mcp-apple-notes
cd mcp-apple-notes bun install
~/.bun/bin/bun) to Full Disk Access in System Settings.claude_desktop_config.json:{
"mcpServers": { "apple-notes": { "command": "/Users/ /.bun/bin/bun", "args": ["/Users/ /mcp-apple-notes/index.ts", "--stdio"] } } }
// .mcp.json (project) or `claude mcp add apple-notes -- bun /path/to/mcp-apple-notes/index.ts --stdio`
{ "mcpServers": { "apple-notes": { "command": "bun", "args": ["/path/to/mcp-apple-notes/index.ts", "--stdio"] } } }
The same bridges/entities tools power the web UI tabs at the local app (bun index.ts → http://localhost:3741/); the entity graph db is optional, generated by the exp-notes-indexing benchmark harness.
| Tool | Description |
|---|---|
index-notes | Background indexing with live progress UI |
search-notes | Semantic + FTS search; optional folder, modifiedAfter, modifiedBefore |
find-notes | Exact substring search (like Apple Notes built-in); optional folder, date range |
get-note | Full note by title; fuzzy fallback on no exact match |
list-notes | Notes sorted by recency; optional folder, date range, limit |
list-folders | All folders with note counts |
list-tags | All #hashtags across notes, sorted by frequency |
search-by-tag | Notes containing a specific hashtag |
related-notes | Related notes via shared tags, [[wikilinks]], and vector similarity |
bridge-notes | Swanson-ABC bridges: non-similar note pairs connected via a shared intermediary; optional folder, limit |
feed | The ranked evidence-first connection feed (bridges + abstraction pairs + entity threads) as JSON; optional limit |
entity-notes | Notes mentioning an entity (e.g. "Mercedes"), by mention weight — needs the optional entity graph db |
list-entities | Entities ranked by mention count; optional substring query, limit |
get-tables | Extract pipe/tab-separated tables from a note |
create-note | Create a note |
update-note | Edit an existing note |
check-changes | Check if notes changed since last index (without triggering re-index) |
index-health | Sync status, last indexed time, note count |
Every search detects changes (~1ms). If notes changed, ONE background incremental index job is kicked (single-flight — duplicate triggers are dropped) and the search returns immediately from the current index; results catch up when the job lands. The last-indexed watermark persists to ~/.mcp-apple-notes/index_state.json across restarts. Change detection compares the per-title *set* of modification dates (Apple Notes titles are not unique — "TODO" ×10 — and a title→single-date map can never converge for duplicates).
score = RRF(vector, BM25) × title_boost × recency_factor
Temporal queries (recent, latest, today) automatically shift to a 1-day recency half-life at 70% weight. Normal queries use 90-day half-life at 10% so relevance stays primary.
1,806 notes, Apple Silicon:
| Approach | Time | Body included |
|---|---|---|
| JXA metadata only | 4,463ms | No |
| JXA with body | ~49 min | Yes |
| SQLite direct | 430ms | Yes |
tail -n 50 -f ~/Library/Logs/Claude/mcp-server-apple-notes.log
Permissions error → ensure bun (~/.bun/bin/bun) has Full Disk Access in System Settings → Privacy & Security.
🧭 [ckw-skills](https://github.com/connerkward/ckw-skills) — part of Conner K. Ward's collection of Claude Code skills & MCP servers.