
Uoink
io.github.ryanbiddyPublished by GitHub account ryanbiddyv3.15.0Updated Nov 7, 2026
Search and cite your saved YouTube and podcast transcripts. Needs the Uoink app for Windows or Mac.
Overview
Uoink saves YouTube, podcast, X, Reddit and web transcripts to a local library that an assistant can search and cite with exact timestamps.
- What you can do
- Capture sources: save YouTube videos, X posts, podcasts, Reddit threads and web pages with transcripts, screenshots, comments and metadata
- Search and cite the local library, returning quotes with exact timestamps
- Run research playbooks over saved captures, such as outlier posts, transcript intel, comment mining and creator teardowns
- Discover and queue new candidate sources through optional ScrapeCreators integration
- Write from saved sources and the user's own voice via prompts and a bundled skill
- When to use it
- Useful when you want an assistant to work from videos, podcasts or threads you have saved rather than guessing at their content, and to quote them with timestamps. It suits research, content analysis and drafting from a growing personal corpus.
- Requirements
- Requires the Uoink desktop app on Windows 10/11 or Mac (Apple silicon, macOS 15+), with a Linux install for other desktops and sandboxes. The MCP server runs locally over stdio, launched from the app's bundled Python or the uoink command on PATH. No account or cloud library; optional HTTP transport needs the X-Uoink-Token header.
Installation
In SourceWeft
- Open Uoink in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
Uoink
[Release] [Platform: Windows, Mac and Linux] [ryanbiddy/uoink MCP server]
A YouTube transcript MCP server that remembers. Uoink saves YouTube videos, podcasts, X posts, Reddit threads and web pages with their full transcripts to a library on your computer. Claude, Cursor or Codex then searches all of it and cites the exact timestamp.
Free and open source (MIT). Windows 10/11 and Mac (Apple silicon, macOS 15+). Linux desktops and headless sandboxes use the Linux install. No account, no Uoink cloud. Videos without captions are transcribed on your machine with Whisper.
Quick start
- Install: download from uoink.app/get, or on a Mac run
brew install --cask ryanbiddy/uoink/uoink. For Linux, see the Linux guide. - Connect your AI:
uoink connect claude-code. For other clients runuoink connect --list; Claude Desktop can use the.mcpbextension from the latest release. - Ask: "uoink https://youtu.be/… and tell me where they explain the eval setup." Later: "which of my saved talks disagreed about that?"
Your AI gets the quote and the minute, not a guess. Every saved source stays on disk as Markdown and JSON you can open yourself.
- Website: https://uoink.app · Developers: https://uoink.app/developers · Also listed on mcpservers.org and the official MCP registry.
- Good to know: the Windows installer is unsigned, so SmartScreen asks first (choose More info → Run anyway). The browser extension loads from the app's setup screen; it isn't on the Chrome Web Store yet. Anonymous usage counts stay off unless you turn them on.
If Uoink saves you time, a ⭐ helps other people find it.
Why Uoink
You see a video that's clearly working and you want to know why. So you paste the YouTube link into Claude and hope it can "watch" it. It can't — it hallucinates the quotes, invents the title, and gives up past the first paragraph. You end up watching the whole thing on 2x, taking notes by hand.
Uoink fixes that. Click the Uoink button under any video (or right-click a link, or press Alt+U) and you get the full transcript, timestamped screenshots, top comments, channel context, and metadata — copied to your clipboard and saved on disk, ready for Claude, ChatGPT, or your notes app. Or tell your AI agent "uoink that video and decode the hook" and it does both, with no clipboard step.
The corpus compounds. Every source you save lands in one local library your AI can search, cite, and write from — in your voice.
What you can capture
Published sources are indexed in one local library. Podcast audio and transcripts stay under Uoink's local data folder; publishing an episode adds its Markdown and sidecar to that same searchable index.
Three ways your AI reads the corpus
1. Clipboard (the creator path) — Click Uoink, paste into Claude / ChatGPT. Transcript plus a paste-safe subset of screenshots inlined as images so the model sees text and frames in one paste.
2. MCP server (the agent path): A local MCP server exposing 99 tools over stdio, five library resource templates and ten prompts. Claude Desktop (.mcpb), Claude Code and Cursor get the full capture, research, writing and Library tool set through the standard connection. Consent gates are unchanged.
The stdio transport is tested with Claude Desktop and Cursor. Cline and Continue are standard-stdio compatibility paths, not individually smoke-tested.
- stdio defaults to all 99 registry tools.
UOINK_MCP_TOOLSET=researchservesresearch_start,research_discover,research_capture,research_status,research_evidence,research_publishanduoink_urlto discover, capture, retrieve evidence and publish verified reports. SetUOINK_MCP_TOOLSET=corein the client's environment for the 36 core tools (the earlier 35 plusget_transcript). Cursor and other clients with tool caps may need this setting. Restart the connection after changing it. - HTTP JSON-RPC at
/mcp/v1exposes the same 99-tool registry through the token-authenticated local helper. Both MCP transports share handlers and flatten the same three top-leveloneOfinput schemas for client compatibility. The server still validates the exact frozen schemas. - Video deep research: find sources, capture transcripts and publish timestamped receipts through the CLI or dashboard Research tab.
3. OpenAPI bridge (for local agents that don't speak MCP) — Local OpenAPI-capable agents and scripts can drive the same tools over an OpenAPI 3.1 surface at /openapi/v1/spec.json + POST /tools/<name>.
Use Uoink from any AI agent
After installing, open a new terminal and run uoink status or
uoink search "working memory" --limit 5. The installer's checked PATH option
makes uoink available to agents with a local shell. uoink connect <client>
prints connection instructions for MCP clients.
The portable skill supports Claude Code, Codex, pi, Hermes Agent, and OpenClaw through MCP or the CLI. The Claude Code marketplace at ryanbiddy/uoink-agent-kit, published with this release, bundles the skill and MCP config. See Connect your agent for commands and client limits, or agent installation steps for installation from a shell.
MCP setup (Claude Desktop, Cursor, Cline)
After installing Uoink, open the setup page from the extension popup's Settings link and copy the generated snippet — or paste this into your client's MCP config. The stdio server runs the bundled Python against the installed uoink_mcp.py (the C-01 fix pins the app dir onto sys.path, so this command works on every install):
Claude Desktop does not expand
%LOCALAPPDATA%— use the full absolute path (e.g.C:\\Users\\<you>\\AppData\\Local\\Uoink\\python\\python.exe). Restart the client after saving; Uoink's tools appear automatically.
Uoink 3.12.1 and later add a portable launch line that needs no install path: "command": "uoink", "args": ["mcp"], or "command": "cmd", "args": ["/c", "uoink", "mcp"] for Windows clients that cannot start .cmd files. It uses the uoink command on PATH. See Connect your agent.
One-click install: a Claude Desktop .mcpb bundle installs the stdio server without hand-editing config. See docs/mcpb-bundle.md.
HTTP transport: point an HTTP MCP client at http://127.0.0.1:5179/mcp/v1 and send the header X-Uoink-Token (read the token from %LOCALAPPDATA%\Uoink\token.txt).
Uoink Operator Skill
Uoink ships a portable Skill at skills/uoink/SKILL.md (installed to %LOCALAPPDATA%\Uoink\skills\uoink\) for finding saved evidence, citing timestamps, capturing URLs, saving notes, and writing from the user's sources and voice. Clients that support Agent Skills can load the same file alongside Uoink's MCP tools or use its exact CLI commands. See Connect your agent for install paths and the small Claude Code plugin kit.
Install
- Download the installer. Download
Uoink-Setup-3.15.0.exefrom the v3.15.0 release. For Windows 10/11; Mac steps are below. The installer is unsigned: if SmartScreen shows "Windows protected your PC", choose More info -> Run anyway, and check the file against the SHA-256 listed on the release page. - Run it. Defaults install to
%LOCALAPPDATA%\Uoink\(no admin required). The finish page can launch the helper immediately, and an autostart entry runs it on each login.
- Load the bundled extension. On first launch, Uoink shows a one-time setup splash. Use it to open your browser's extensions page and copy the installed extension path; then enable Developer mode, click Load unpacked, and select that folder.
On a Mac (Apple Silicon, macOS 15 or later; preview): download Uoink-3.15.0-macos-arm64.dmg from the same release, drag Uoink to Applications, eject the disk and open Uoink from Applications. The app is signed and notarized, so macOS only asks its usual question about apps downloaded from the internet. Then load the extension from the setup splash as above. See docs/mac/INSTALL.md.
The store install link is controlled by store-config.json. When the listing is live, the setup splash and these steps offer Add to Chrome, with sideloading under Advanced. Release maintainers: follow SUBMIT-NOW.md.
On Linux, including Docker and headless agent sandboxes, see docs/linux.md.
For developers running from source, see REQUIREMENTS.md. Build the installer locally with ./build.ps1 (see docs/build-installer.md).
Quiet desktop notifications
Desktop notifications are on by default. To keep background feed watches and captures invisible, open Dashboard → Settings → Local app and turn off Show desktop notifications. Uoink keeps suppressed updates in the dashboard's Activity view, so silence does not discard the event. Uoink also applies the same courtesy automatically while a foreground app covers its monitor, including borderless and exclusive-fullscreen games.
The persisted setting is notifications_enabled in settings.json. Local
clients can read it through GET /settings or update it with an authenticated
POST /settings body such as {"notifications_enabled": false}. Restart is
not required.
Phone inbox (optional)
Share a link from your phone's share sheet and Uoink captures it on your computer, with no phone app. Deploy a small relay to your own Render account, point an iOS Shortcut or Android share target at it, then add it in Settings > Capture > Phone inbox. The relay holds only the link and an optional note, until Uoink picks it up or for 7 days at most.
Setup, the Shortcut recipe and the free-plan tradeoffs are in docs/relay.md.
How it works
Extension flow: click Uoink under a video → Uoink extracts transcript, screenshots, comments, metadata → Markdown corpus lands on your clipboard (screenshots embedded) and the full set saves to disk → paste, run a prompt, get analysis.
Agent flow (MCP): your agent has the Uoink tools after setup → ask "uoink this video and decode the hook" → the agent calls uoink_video → classify_hook → analysis, no clipboard step.
Five research playbooks work over saved captures: outlier-posts, transcript-intel, comment-mining, creator-teardown and repurpose-pack. Use their stdio prompts or get_playbook_input on either transport. Uoink computes the metrics and supplies cited evidence; your client writes the report. These reads need no API key and make no network calls. See arguments and examples.
Optional ScrapeCreators discovery adds discover_candidates and
queue_discovered on both transports. It is off by default and uses your own
key, explicit credit confirmation and a daily credit cap (25 by default). Connected
agents need a separate opt-in; dashboard calls use a short-lived intent from
each click. Pick up to ten results to send through the normal capture queue.
Saved metric snapshots can supplement local playbooks without another paid
call. No ScrapeCreators thumbnails are loaded. The dashboard controls are
pending; see the discovery tool contract.
Privacy
Your saved corpora, screenshots, podcast audio, transcripts, library index and diagnostic logs stay on your computer. Uoink has no account or cloud library.
Uoink sends no usage data by default. If you turn on "Share anonymous usage counts", it sends daily counts to usage.uoink.app: calls by tool name, known MCP clients, stdio or HTTP calls, captures by source and result, and library searches. Reports include a random install ID, app version, operating system and major version, processor type, install type and hours counted. They never include content, URLs, titles, paths, search text, usernames, IP addresses or account details.
Sharing is off by default. In Dashboard > Settings > App > Usage sharing, "See what is sent" shows the next report and the last ten sent reports with their dates. Turning sharing off deletes the random ID, local counts and sent history. UOINK_USAGE_SHARING=0 forces it off.
See the usage payload and counting design.
Capture fetches the source you ask for. Podcast watches poll feeds you enable; Auto-ingest can also download new episodes. Truncated X posts may use the FxTwitter fallback to retrieve full text. Transcription can download models with your consent, and Check now (or the daily update check, off by default) contacts GitHub for release information.
Optional AI features send relevant source text to Anthropic only with your own API key. Comment Intelligence, Hook Type classification and entity extraction are off by default; agent-requested analysis also requires your key. The key is stored in the OS credential store. Content you pass to an AI client is handled under that client's policy.
Read the Uoink privacy policy.
Disclaimer & Terms of Use
Uoink is designed and built for personal research, study, and original creator drafting. Users are solely responsible for ensuring that their use of captured media (transcript text, screenshots, and comments) complies with the Terms of Service, copyright policies, and API guidelines of YouTube, Reddit, X (Twitter), and any other source platforms. Uoink does not host, share, or claim ownership over third-party media.
License
MIT. See LICENSE. Third-party components and their licenses are listed in THIRD-PARTY-NOTICES.md.
Changelog & roadmap
See CHANGELOG.md for version history and ROADMAP.md for what's next.
Built by Ryan Biddy.
Source: README.md at commit 24d1eda
Tools
0Version history
10- v3.15.0LatestNov 7, 2026
- v3.14.1Nov 5, 2026
- v3.14.0Nov 5, 2026
- v3.13.0Nov 3, 2026
- v3.12.1Nov 3, 2026
- v3.12.0Oct 31, 2026
- v3.11.2Oct 26, 2026
- v3.11.1Oct 25, 2026
- v3.11.0Oct 22, 2026
- v3.10.0Oct 19, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts