Agent-Native Calendar
Agent-Native Google Calendar - manage events, sync, and public booking
제작자가 쓴 설명(영어 원문)
Local-first ambient memory for your Mac — pages, meetings, notes, encrypted on-device.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
링크는 제작자의 파일로 바로 연결돼요. 우리가 보관하거나 다시 패키징하지 않아요. 파일을 열면 Claude Desktop이 설치해요.
터미널에서 이 명령어를 실행하세요
브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 7일 점검
레지스트리 이름이 도메인 shyn.day 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.6.3-alpha)은 그저께 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 MCPB도 있어야 해요.
같은 카테고리에는: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Agent-Native Google Calendar - manage events, sync, and public booking
Create and edit Excel files with AI: charts, PivotTables, formulas. No Excel needed.
Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
[shyn.day](https://shyn.day) · macOS (Apple Silicon) · pre-alpha · Elastic License 2.0
Shyn is the always-on memory companion for your Mac. It quietly remembers what you see, hear, and read — your screen, your meetings, your browsing, your notes — and gives your AI assistant total recall over *your* life. Ask Claude "what did we decide in yesterday's standup?" or "where did I read about that retention bug?" and get an answer grounded in your own history, not the internet's.
Your memory stays local. Private by design. Everything shyn captures lives in an encrypted database on your Mac. Nothing it captures is uploaded, synced, or phoned home — the only bytes that ever leave your machine are the few snippets relevant to a question *you* chose to ask, sent to the AI *you* chose to ask it.
During beta, shyn also sends anonymous usage data. shyn runs across different macOS versions, hardware, and permission states, and those combinations produce bugs we cannot reproduce or test for. Most people who hit one never write in; they just quit the app. So shyn reports which features get used, what crashes, its version, and timing numbers, tied to a random ID that is not you.
It never includes anything shyn captured. No screen text, no transcripts, no searches, no identity. You choose on first run, and one click in Settings changes it any time. Turn it off and shyn is exactly what it promises above: nothing but your own questions leaving your machine.
Status: pre-alpha. Shyn is young, moving fast, and macOS-only
(Apple Silicon). Expect rough edges and breaking changes. Install is a
two-command Homebrew cask (
brew install+shyn setup) — the apps are
self-signed and re-signed locally by
shyn setup, not Apple-notarized;
notarized one-click installs are on the roadmap.
shyn pause 30m. Exclude apps. Delete anything — forget is byte-honest: vacuumed, gone, not soft-deleted.A background daemon owns an encrypted SQLite index (key in your macOS Keychain) and serves JSON-RPC over a unix socket. Capture agents — screen, meetings — and source readers — Chrome, Safari, Apple Notes — feed it. Your AI talks to it through six MCP tools (plus an optional seventh, search_files, below). That's the whole trick: one private index, many memories, any MCP-speaking assistant.
| Tool | What your AI gets | ||
|---|---|---|---|
search_memory(query, …) | Hybrid search with provenance — the workhorse | ||
recent_activity(hours?, …) | Orientation timeline; great first call on vague questions | ||
| `get_document(uri \ | doc_id, …)` | Read a whole document (a full transcript, a whole note) instead of excerpts | |
remember(content, tags?) | Explicit "write this down" memory | ||
| `forget(doc_id \ | source \ | time-range, confirm)` | Honest deletion; refuses without confirm: true |
memory_status() | Health, index counts, model download %, connected sources | ||
search_files(query, kinds?, folder?, limit?) | Optional: find your own files by meaning, via the separate thatone app |
search_files finds files on your Mac (images, PDFs, documents, audio, video, text) by what they contain. It needs the separate thatone app (source-available, Elastic License 2.0, macOS on Apple Silicon, pre-alpha) running on the same Mac. shyn itself indexes no files; thatone owns the file index.
kinds, folder and limit go to thatone's local socket. Neither program sends anything over the network. Results (paths and short snippets of your own files) go to your AI client exactly like search_memory results do.search_memory results do, so installing and running thatone is your choice.~/Library/Application Support/thatone/thatone.sock; override it with the environment variable SHYN_FILE_SEARCH_SOCKET.memory_status is file search: ready (thatone), file search: not running (thatone) or file search: not installed (thatone).brew install --cask shyn-labs/tap/shyn
shyn setup
Two commands: the cask verifies the download against its pinned checksum, and shyn setup starts everything and walks you through permissions via the ☀️ menu bar window. No Node, no Xcode, no cloning. Read the cask's caveats — they're the honest fine print (local signing, quarantine, EDR). Update later with brew upgrade shyn && shyn setup.
pnpm install
pnpm --filter @shyn/daemon start
Register the MCP server with Claude Code:
claude mcp add shyn -- pnpm --dir <path-to-shyn-repo> --filter @shyn/mcp-client exec tsx src/main.ts
Substitute with the absolute path where you cloned this repo (e.g. the output of pwd run from inside it).
Feed it something and ask Claude about it:
pnpm shyn ingest /absolute/path/to/some/folder
Use an absolute path: it's stored as the document's uri. Ingest accepts a single file (.md, .txt, .pdf) or a directory to walk. Pull in browser history and Apple Notes any time with pnpm shyn sync.
pnpm setup
That's it: installs dependencies, creates a stable local signing identity, builds the daemon bundle + capture agents + status app, and starts everything under launchd. Idempotent — re-run it after every git pull.
Under the hood it stages and starts everything — daemon, screen agent, meeting agent, and the menu bar status app — surviving reboots, logging to ~/Library/Logs/shyn/. Grant the permissions macOS asks for (Microphone + System Audio for meetings; Screen Recording + Accessibility for screen capture; Full Disk Access only if you want Safari/Notes — everything else works without it, no dark patterns, no nagging).
pnpm shyn uninstall # stop + remove, keep data
pnpm shyn uninstall --purge # scorched earth: data, logs, keys
pnpm build:mcpb produces dist/shyn.mcpb — drag it onto Claude Desktop's Settings → Extensions page. (Registers the MCP client; the daemon must be running via install above.)
Shyn is a standard stdio MCP server — any MCP client works, and your memory never has to touch a paid API at all. Tested so far:
uvx mcpo --port 8600 -- "$HOME/Library/Application Support/shyn/bin/shyn-mcp"
Honest notes from testing: retrieval quality is identical everywhere — the ranking runs inside the daemon, not the model. What varies is the driver. Smaller local models answer well when you're explicit ("search my memory for…") but are less reliable at deciding to search on their own, and thinking-mode models may need their reasoning reined in (/no_think for Qwen3). Budget ~10GB of unified memory for a 14B model alongside the daemon.
pnpm shyn status # daemon + agents + index health
pnpm shyn search "that one thing" # search from the terminal pnpm shyn pause 30m # pause all capture (2h, until-tomorrow too); resume to undo pnpm shyn exclude com.1password.1password # never capture an app pnpm shyn meeting status # live meeting controls (stop | cancel too) shyn voice forget-self # delete shyn's sample of your voice
…or skip the terminal entirely and click the ☀️ in your menu bar.
Me: / Others:, the default while speaker separation is off), 10-second cancellable grace before any recording, 180-minute hard cap, temp audio byte-purged on ingest. For a room, a talk or a speakerphone — anything shyn cannot hear itself into — click Start recording in the menu bar: a short form asks what it is and who is there, both optional, and the answers become the title and the attendee list (same from the terminal: shyn meeting start "Day 5 review" --with "Maya R, Dev P"). Every meeting also records the time zone the Mac was in, so a trip is searchable later. Transcription defaults to Whisper small; at that size Hindi/Hinglish and other non-English speech often lands as an English gist (documented, not hidden). For markedly better multilingual transcripts, click Multilingual under "Meeting language" in the menu bar popover (a ~3GB one-time download that starts immediately; the popover says plainly which model your next meeting will use). Same switch by hand: "meeting": { "whisperModel": "large-v3_turbo" } in ~/Library/Application Support/shyn/capture.json (any WhisperKit model name works there; the popover shows an unrecognised one as "custom"). Config hot-reloads, no restart. Transcription decodes only the voiced stretches of each channel, several at a time ("chunkedTranscription": false restores the whole-channel decode); the log line for every meeting reports how much of each channel carried voice.앞부분만 보여 드려요. 나머지는 저장소에서 읽어 보세요