Interfaces
View as Markdown

MCP Server

Streamable-HTTP MCP server for Claude Code integration.

The Drop MCP server lets Claude Code (and any MCP-compatible client) manage Droplets directly — creating, searching, editing, sharing, and versioning without leaving the conversation. No CLI install required on the agent's machine.

Drop ships two transports:

  • Remote (recommended) — Streamable HTTP at https://drop.himarley.ai/api/mcp. Bearer-token auth, stateless, no install. Use this in Claude Code via "type": "http".
  • Local stdio — npx @himarley/drop-mcp. Adds support for reading local file paths (filePath arg) which the remote server can't do — useful when authoring a Droplet from a file on disk.

The CLI is still the most token-efficient surface for Claude Code; the MCP server is the right pick for non-CLI MCP clients or when you want tool-discovery without a shell.

Available tools

ToolWhat it does
drop_listList your Droplets (scope mine/shared/all, sort, order, limit)
drop_getGet details for a specific Droplet
drop_searchFull-text search across all Droplets
drop_createCreate a Droplet from HTML or Markdown
drop_redeployUpdate an existing Droplet with new content
drop_downloadDownload the HTML source of any version
drop_versionsView version history
drop_rollbackRoll back to a previous version
drop_duplicateCopy a Droplet to your own account
drop_get_accessView internal access settings
drop_set_accessSet PRIVATE / EVERYONE / SPECIFIC / SPACE access
drop_share_linksList external share links
drop_create_share_linkCreate an internal or external share link
drop_delete_share_linkRemove a share link
drop_commentsList threaded comments on a Droplet (legacy shape)
drop_comments_createPost a comment — page-level, pinned to an element, or a threaded reply
drop_comments_listList comments with pin target, resolved state, and thumbs-up counts
drop_comments_getFetch a single comment by id
drop_comments_resolve / drop_comments_unresolveClose or reopen a comment — resolve is the AI-loop close verb, not delete
drop_comments_deletePermanently remove a comment + its replies (spam / mistakes only)
drop_comments_thumbs_up / drop_comments_unthumbs_upAdd or remove your thumbs-up reaction
drop_state_getRead a Droplet's shared key/value state
drop_state_setWrite a Droplet's shared state — modify it directly, no JSON import step
drop_signoff_listList decisions you can see, with sign-off state; filter by phase/role/tag
drop_signoff_getRead a decision's sign-off — state + the actions available to you
drop_signoff_castCast your sign-off (agree / condition / disagree)
drop_signoff_clearRemove your own sign-off response while the decision is open
drop_signoff_finalizeRecord the decider's call (approve → decided, block → blocked)
drop_signoff_reopenClear a recorded call and reopen
drop_signoff_open / drop_signoff_closeOpen a draft decision for sign-off, or return it to draft (editor)
drop_signoff_set_propositionSet "what you're signing off on" (editor)
drop_signoff_mineList the decisions across Drop that are waiting on you

Operations

Configure Claude Code

Generate a token at Settings → API Tokens (it's only shown once — copy it). Then add the MCP server to Claude Code via /settings. Restart Claude Code and it auto-discovers every tool.

{
  "mcpServers": {
    "drop": {
      "type": "http",
      "url": "https://drop.himarley.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer drop_your_token_here"
      }
    }
  }
}

Authenticate

The remote MCP server accepts the same Bearer tokens the CLI uses — either a Cognito JWT (issued by drop login) or a legacy drop_* token (deprecated but still accepted during the migration window). API tokens are managed at /settings/tokens. A PR preview (engineering) needs a token minted inside that preview: eval "$(drop preview token <PR>)" sets DROP_SERVER and DROP_TOKEN for it, and drop preview exec <PR> -- <command> runs a local MCP server (the PR's own, say) with them and an empty HOME. The local MCP server refuses a drop login token aimed at a PR preview, and refuses DROP_SERVER without DROP_TOKEN when it names a server other than your saved login's.

# Confirm a token works against the MCP endpoint
curl -X POST https://drop.himarley.ai/api/mcp \
  -H "Authorization: Bearer drop_your_token_here" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'

Call a tool

Each tool follows the standard MCP tools/call shape. Sample prompts that land cleanly: "Build a team dashboard and publish it as team-dashboard", "Roll my-dashboard back to v3", "Search Drop for anything related to onboarding", "Share the quarterly-report droplet with all of Hi Marley".

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "tools/call",
  "params": {
    "name": "drop_search",
    "arguments": { "query": "onboarding" }
  }
}