Skip to content

MCP Server

Connect AI assistants like Claude to your StashSync library via the Model Context Protocol (MCP). Read, write, and search your notes and bookmarks directly from your AI tool.

Overview

StashSync exposes an MCP (Model Context Protocol) server at https://api.stashsync.app/mcp. It uses the Streamable HTTP transport and is stateless — each request is independent, with no persistent session.

The MCP server accepts API keys only (ss_live_...). See API & API Keys to create one.


Available tools

ToolDescription
searchFull-text search across notes and bookmarks
list_notesList notes with optional filters
get_noteGet a single note by ID
create_noteCreate a new note (content accepts Markdown)
update_noteUpdate title, content, stash, tags, or pinned state
trash_noteMove a note to trash
restore_noteRestore a trashed note
list_bookmarksList bookmarks with optional filters
get_bookmarkGet a single bookmark by ID
add_bookmarkSave a new bookmark
update_bookmarkUpdate a bookmark
trash_bookmarkMove a bookmark to trash
restore_bookmarkRestore a trashed bookmark
list_stashesList all stashes
create_stashCreate a new stash (name, optional color)
update_stashUpdate a stash's name or color
trash_stashMove a stash to trash (items inside are not deleted)
restore_stashRestore a trashed stash
list_stash_itemsList notes and bookmarks inside a stash
list_tagsList all tags
create_tagCreate a new tag (name, optional color)
update_tagUpdate a tag's name or color
trash_tagMove a tag to trash (tagged items are not deleted)
restore_tagRestore a trashed tag
list_tag_itemsList notes and bookmarks that have a given tag

Note sharing

ToolDescription
share_notePublish a note as a public read-only snapshot. The HTML is rendered server-side from the note's current content — no HTML input required. Returns shareId, slug, and the public URL. Accepts an optional expiry (24h, 7d, 30d, or never). Embedded private file references are automatically minted as public tokens.
republish_note_sharePush a fresh snapshot to an existing share. Revokes old embedded-file tokens and mints new ones. Original expiry and listed flag are preserved.
revoke_note_sharePermanently delete a note share — removes the snapshot, KV metadata, embedded-file tokens, and the profile-index entry.
get_note_share_viewsGet the public view count for a shared note
toggle_note_share_listedShow or hide a shared note on your public profile page

Public profile

ToolDescription
get_profile_listingsList everything currently in your profile index — listed and unlisted, live and orphaned. Useful for auditing what's public.
update_profileUpdate your public profile: enabled, display_name (max 60 chars), bio (max 280 chars), social links (social_x, social_github, social_linkedin, social_website), and noindex.

Setup: Claude Desktop

Claude Desktop does not support Streamable HTTP natively. Use mcp-remote as a stdio bridge — it requires Node.js to be installed.

Add the following to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "stashsync": {
      "command": "npx",
      "args": [
        "-y", "mcp-remote",
        "https://api.stashsync.app/mcp",
        "--header",
        "Authorization: Bearer ss_live_YOUR_KEY"
      ]
    }
  }
}

Replace ss_live_YOUR_KEY with your actual API key, then restart Claude Desktop.


Setup: Cursor

Cursor supports Streamable HTTP directly. Add to your Cursor MCP config:

{
  "mcpServers": {
    "stashsync": {
      "type": "http",
      "url": "https://api.stashsync.app/mcp",
      "headers": {
        "Authorization": "Bearer ss_live_YOUR_KEY"
      }
    }
  }
}

Setup: Other MCP clients

Any MCP client that supports Streamable HTTP can connect directly:

  • Endpoint: https://api.stashsync.app/mcp
  • Auth header: Authorization: Bearer ss_live_YOUR_KEY

For clients that only support stdio, use mcp-remote as shown in the Claude Desktop setup above.


Usage examples

Once connected, you can talk to your AI assistant naturally:

Notes & bookmarks

  • "Save a note with today's meeting summary"
  • "Search my stash for anything about Cloudflare Workers"
  • "Add this URL to my bookmarks with the tag 'reading-list'"
  • "Show me all pinned notes in my Research stash"
  • "Create a stash called 'Side Projects'"

Sharing & profile

  • "Publish my 'Cloudflare Workers tips' note so I can share the link"
  • "Share that note but set it to expire in 7 days"
  • "How many people have viewed my shared note abc123?"
  • "Hide my 'Draft ideas' note from my public profile"
  • "Revoke the share for note xyz456"
  • "Show me everything I've published so far"
  • "Enable my public profile and set my display name to 'Jairon'"
  • "Update my bio to 'Building things on Cloudflare'"
The MCP server operates on the same data as the StashSync app. Changes made via MCP are reflected in the app immediately, and vice versa.

Authentication

The MCP server requires an API key — Clerk session tokens are not accepted. You can't use an API key to create another API key, so key management must be done through the app.

See API & API Keys for instructions on creating and revoking keys.