Back to blog

Connect Pluck to Claude Code, Cursor and Codex with MCP

October 24, 2026·Pluck Team·4 min read
guide
agents
studio

You've been plucking components for months. Your library has two hundred of them. Now you're in Claude Code building a dashboard and you think "I plucked a nice sidebar from somewhere in the spring". You could open Studio, find it, copy the prompt, paste it. Or the agent could search your library, read the pluck and get on with it.

That's what Pluck's MCP server is for. Any agent that speaks the Model Context Protocol can read your library, build boards and run generations, and everything it does shows up live in Pluck Studio.

Two ways to connect

Remote is the simplest. Pluck runs the server at https://api.pluck.so/mcp. You add it by URL, the agent opens a browser tab for you to sign in with your Pluck account the first time, and you're done. No tokens to manage.

Local runs the same server on your machine, bundled with the desktop app, authenticated with a personal access token. Use it if your agent doesn't support remote MCP servers with OAuth, or you'd rather hold the credential yourself.

Both expose the same tools.

Remote setup

Claude Code

claude mcp add --transport http pluck https://api.pluck.so/mcp

Start a session, call any Pluck tool, and Claude Code opens the sign-in page. Approve the connection and the session continues.

Cursor and other MCP clients

Add a remote MCP server in your client's settings with the URL:

https://api.pluck.so/mcp

Any client that supports streamable HTTP with OAuth sign-in works the same way: first use triggers a browser sign-in, then the connection is remembered.

Local setup

  1. Install Pluck Studio for desktop if you haven't.
  2. In Studio, open Account → Agent access and create a personal access token.
  3. Studio generates the exact command for your agent, with the token already filled in. It looks like this on macOS:
claude mcp add pluck --scope user -e ELECTRON_RUN_AS_NODE=1 -e PLUCK_TOKEN=pluck_… -- "/Applications/Pluck Studio.app/Contents/MacOS/Pluck Studio" "/Applications/Pluck Studio.app/Contents/Resources/pluck-mcp.mjs"

and for Codex:

codex mcp add pluck --env ELECTRON_RUN_AS_NODE=1 --env PLUCK_TOKEN=pluck_… -- "/Applications/Pluck Studio.app/Contents/MacOS/Pluck Studio" "/Applications/Pluck Studio.app/Contents/Resources/pluck-mcp.mjs"

Copy, paste, run. The app binary runs the bundled server as a plain Node script (that is what the Electron flag does) and talks to Pluck's API with your token. Revoke the token in the same Account section and the connection stops.

The tools

Once connected, the agent gets ten tools. They map directly onto what you can do in Studio by hand:

  • search_library searches your plucks by site, page title or text, and returns ids.
  • get_pluck reads a single pluck: its screenshot, source page and captured style tree. This is the one that replaces "copy as AI prompt, paste".
  • view_image lets the agent look at a pluck screenshot or a generation.
  • list_boards, create_board and get_board do what they say. get_board returns the cards and how they're connected.
  • edit_board adds plucks and images, creates prompt cards, connects references and updates settings. Edits are revision-checked, so two agents (or you and an agent) can't silently overwrite each other.
  • upload_image puts one of the agent's own images on a board as a reference.
  • list_models returns the hosted models with their credit prices.
  • run_prompt runs a prompt card. Hosted models spend credits as they would from Studio. A prompt set to Local runs through the desktop app if the board is open there.

What you can ask for

Some prompts we actually use:

Reuse a reference while coding. "Search my Pluck library for the sidebar I plucked from the Vercel dashboard, read it, and build our settings sidebar with the same widths, spacing and hover states. Use our existing nav items." The agent calls search_library, then get_pluck, then writes code with the real values in front of it.

Assemble a board. "Make a board called 'Checkout v2'. Add my three most recent plucks from stripe.com and the two from linear.app, and add a prompt card that combines the Stripe form layout with Linear's typography." That's create_board, search_library twice, and a few edit_board calls.

Generate and compare. "Run that prompt on Nano Banana 2 and on GPT Image 2 at 16:9, then show me both." The agent runs it twice (run_prompt with different models) and uses view_image to look at the results. Open Studio and the generation cards are sitting on the board.

Audit what you've collected. "List every pricing table in my library and tell me which ones use a highlighted middle plan." search_library plus a loop of get_pluck.

The board chat is the same thing

Every board in Studio has a chat panel. Ask it about the board or tell it what to change, and it does so with these same tools. On the desktop app the chat runs through your Codex, so it's free; it's just an agent that's already connected. If you've been using the chat, you already know what to expect from an external agent.

Things worth knowing

  • Credits. A hosted run_prompt costs exactly what the same run costs in Studio. Agents are good at running things in loops, so if you hand one a Pro plan with 3,500 credits, give it a budget in the prompt. list_models tells it the prices.
  • Plucking still happens in the browser. The server can't capture new components from the web. It reads what you've plucked. (Capturing by URL is something we'd like to do, but it isn't there today.)
  • Scope. Remote connections act as you, with access to your library and boards. Local tokens do the same and can be revoked individually.
  • Live updates. Anything an agent changes appears in Studio immediately, so you can keep a board open in a second window and watch.

Connect yours

Run the Claude Code command above, or open Account → Agent access in Studio for the local version. Then try "search my Pluck library for a navbar" and see what comes back. For the broader picture of what the agent is working with, read Introducing Pluck Studio.

Use Pluck with your stack