Your library, inside your agents.
bookmark++ is a remote MCP server. Point any MCP client at one URL with your key and everything you saved — every video watched, every carousel read, every thread kept — becomes tools the agent can call. Nothing to install, nothing to clone, nothing running on your machine.
Set up in a minute
- Get a key. Open the app → Settings → Connect your AI apps, pick your client and press Create key and fill it in. The key is shown once. Agents are part of Pro.
- Add the server with the command for your client below. Replace
bmk_YOUR_KEY. - Ask. “What was that video about running subagents?” The agent calls
ask_libraryand cites the exact save.
Claude Code
claude mcp add -s user --transport http bookmarkpp https://api.bookmarkpp.com/mcp \
--header "Authorization: Bearer bmk_YOUR_KEY"-s user makes it available in every project.
Cursor
Fastest: the app's Install in Cursor button fills in your key. By hand:
{
"mcpServers": {
"bookmarkpp": {
"url": "https://api.bookmarkpp.com/mcp",
"headers": { "Authorization": "Bearer bmk_YOUR_KEY" }
}
}
}Codex CLI
export BOOKMARKPP_KEY=bmk_YOUR_KEY
codex mcp add bookmarkpp --url https://api.bookmarkpp.com/mcp \
--bearer-token-env-var BOOKMARKPP_KEYGemini CLI
gemini mcp add --transport http bookmarkpp https://api.bookmarkpp.com/mcp --header "Authorization: Bearer bmk_YOUR_KEY"VS Code
code --add-mcp '{"name":"bookmarkpp","type":"http","url":"https://api.bookmarkpp.com/mcp","headers":{"Authorization":"Bearer bmk_YOUR_KEY"}}'Or use the one-click Install in VS Code button in the app, which fills in your key.
Windsurf
{
"mcpServers": {
"bookmarkpp": {
"serverUrl": "https://api.bookmarkpp.com/mcp",
"headers": { "Authorization": "Bearer bmk_YOUR_KEY" }
}
}
}Claude Desktop
{
"mcpServers": {
"bookmarkpp": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.bookmarkpp.com/mcp", "--header", "Authorization: Bearer bmk_YOUR_KEY"]
}
}
}The tools
ask_libraryA plain-language question over everything saved. Returns the answer, the saves it came from, and the measured trace.
Same retrieval as the app: hybrid vector + text search, one small model call, about two seconds. Counts against your monthly questions and shows up in the app’s history.search_savesKeyword search over title, summary, tags, key points and transcript. Newest first, optional collection filter.
Free — no LLM call. Use it to list, or when the words are known.get_saveEverything about one save: summary, key points, tags, entities, full transcript or article text, slide captions, original URL.
save_linkAdd a public TikTok, Instagram, X, LinkedIn or web URL. It’s fetched, read and filed in the background and becomes askable within a minute or two.
Counts against your monthly saves.list_collectionsYour collections with a description and the number of saves in each.
The raw API
The same endpoint speaks plain JSON-RPC, so a Shortcut, a Raycast script or a cron job can use it without an MCP client.
curl -s https://api.bookmarkpp.com/mcp \
-H "Authorization: Bearer bmk_YOUR_KEY" -H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"ask_library","arguments":{"question":"that dictation app for mac"}}}'curl -s https://api.bookmarkpp.com/api/save \
-H "Authorization: Bearer bmk_YOUR_KEY" -H "Content-Type: application/json" \
-d '{"url":"https://www.tiktok.com/@…/video/…"}'Transport: stateless Streamable HTTP. POST /mcp with a JSON-RPC request returns one JSON response; notifications return 202; no SSE stream, no session id. Protocol versions 2025-06-18 back to 2024-11-05.
Keys and safety
- A key is scoped to your library only. It can read your saves, ask questions and add links. It cannot delete anything, change collections or touch the account.
- Make one key per client and revoke any one of them in Settings without affecting the others. Revocation is immediate.
- Quotas are the account’s: 50 saves and 100 questions a month during the beta, shared between the app and every key.
- Treat a key like a password. Don’t commit it; prefer
--bearer-token-env-varor your client’s secret store where offered.
