Large Language ModelsGenerate imagesGenerate videos

How to Add an MCP Server to Claude Cowork (Connectors Setup)

Two clean ways to connect an MCP server to Claude Cowork: a remote custom connector for cloud services and a local setup for tools on your own machine. Menus, OAuth options, permissions, safety habits, and fixes for the errors that block a first connection.

How to Add an MCP Server to Claude Cowork (Connectors Setup)
Cristian Da Conceicao
Founder of Picasso IA

You paste a server URL into Claude Cowork, click Add, and nothing useful happens. Or the connector shows up, yet Claude never calls a single one of its tools. Nearly every failed setup traces back to one mistake: picking the wrong type of MCP server for the way Cowork runs. A remote server lives on the public internet and gets reached by Anthropic's servers. A local server lives on your computer and gets launched by Claude Desktop. The menus, the rules, and the error messages differ for each.

This article lays out both paths using the menu names from Anthropic's support documentation, a config file you can paste, a safety checklist, and a troubleshooting table. The last section shows a working example: connecting PicassoIA so Claude can generate images and videos as part of a Cowork task.

What an MCP Server Does in Cowork

MCP, short for Model Context Protocol, is the open standard that lets Claude call outside tools. A server publishes a list of tools, each with a name and a schema, and Claude decides when a task needs one. Read a database row, post a Slack message, open a ticket, render an image: each of those is a tool call.

Cowork is the part of Claude Desktop built for multi-step work on your own machine. According to Anthropic's architecture overview, code you ask Claude to run executes inside an isolated virtual machine, using Apple Virtualization.framework on macOS and Hyper-V on Windows. That detail matters for MCP, because it decides where a server can run and who can reach it.

Hands typing on a silver laptop at a pale oak desk

Connectors, extensions, and config files

Anthropic's docs describe three separate ways to attach a server, and mixing them up is the number one source of confusion.

PathWhat it isWhere it runsBest for
Custom connectorA remote MCP server URLReached by Anthropic's servers over the internetCloud services such as Slack, Notion, Linear, GitHub
Desktop extensionAn .mcpb bundle with a manifest.jsonOn your computer, over stdioLocal files, a localhost database, desktop apps
Config file entryA command in claude_desktop_config.jsonOn your computer, launched by Claude DesktopServers started with npx, Python, or a binary

Remote custom connectors work on Claude, Cowork, and Claude Desktop, on Free, Pro, Max, Team, and Enterprise plans. Free accounts get one custom connector, so pick the one you use most.

Which path fits your setup

Use the shape of what you were given:

  • A URL that starts with https:// means a custom connector. Do not put it in the config file.
  • A command such as npx some-server means a config file entry, or an extension if the author ships one.
  • A file ending in .mcpb means a desktop extension. Install it through Settings.

💡 Rule of thumb: if the server needs to touch files or apps on your computer, it must run locally. If it talks to a cloud service you already sign in to, a remote connector is almost always the easier road.

Before You Add Anything

Two checks save most of the wasted time: who is allowed to add connectors on your plan, and whether Anthropic can actually reach your server.

Top-down view of a wooden desk with laptop, notebook, and coffee

Plan and permission checks

  • Free: one custom connector in total.
  • Pro and Max: you add your own connectors from your own settings.
  • Team and Enterprise: only Owners and Primary Owners can add a custom connector. Members then connect to it individually. On Enterprise, a custom role with "Manage access to Libraries" can also add them.

If you are a member on a team plan and you cannot add a connector, that is expected behavior, not a bug. Ask an Owner to add it, then connect with your own account.

Get the server URL right

This is the rule that trips up developers most. For a remote connector, the connection "originates from Anthropic's servers, not from your machine's network interface." That has three consequences:

  1. http://localhost:3000/mcp will never work as a custom connector, because Anthropic's servers cannot see your localhost.
  2. The server has to be reachable over the public internet from Anthropic's IP ranges.
  3. If the server sits on a private network, you must allowlist Anthropic's IP addresses in your firewall.

Low-angle view down an aisle of black server racks in a data center

If your server only exists on your laptop, skip ahead to the local path. It is built for exactly that case.

Add a Remote Server Step by Step

Pro and Max accounts

  1. Open Customize, then Connectors.
  2. Click + Add, then Add custom connector.
  3. Enter a name and the remote MCP server URL.
  4. If the server vendor gave you an OAuth Client ID and Client Secret, enter them in the optional OAuth section. Otherwise leave it empty.
  5. Click Add.
  6. Click Connect and sign in to the service when prompted.

Man in round glasses studying a settings screen on a laptop

Team and Enterprise owners

Owners add the connector once for the whole organization:

  1. Go to Organization settings, then Connectors.
  2. Click Add, hover Custom, and choose Web.
  3. Enter the connector name and the remote MCP server URL.
  4. Pick an authentication type: Sign in now, Sign in when needed, or No sign in.
  5. Pick an OAuth client option: Use Claude's published identity (Recommended), Register automatically, or Use your own OAuth client.
  6. Add request headers or credentials if the server expects them.
  7. Click Add.

Choose No sign in only when the server genuinely has no login. For OAuth, the recommended published identity is the sensible default unless your vendor tells you to register your own client.

Each member then opens Customize, then Connectors, finds the entry marked Custom, and clicks Connect to authenticate with their own account.

Three colleagues reviewing a laptop around a meeting table

Turn it on for each task

Adding a connector does not mean every conversation uses it. Anthropic's docs describe the + button at the lower left of the chat box, then Connectors, then a toggle per conversation. Cowork draws on the same connector list, so open that menu inside your task and confirm the toggle is on before you type your request.

Then ask for something that can only be answered through the tool, for example: "Use the Linear connector to list my open issues assigned to me, grouped by project." If Claude answers from memory instead of calling the tool, the toggle is off or the sign-in expired.

A second check is worth the thirty seconds. Ask Claude which tools the connector exposes and read the list. A search-only server should not offer a delete tool, and a note-taking server should not offer billing actions. If the list looks bigger than the job, remove the connector and look for a narrower one.

Add a Local Server to Cowork

Local servers handle the cases a remote connector can never reach: files in a folder, a database on localhost, a desktop app. They run on your machine and talk to Claude Desktop over stdio instead of the internet.

Install a desktop extension

An .mcpb file is a zip archive holding a local server and a manifest.json. It works like a browser extension: a few clicks and it is installed.

  1. Open Claude Desktop, then Settings, then Extensions.
  2. Browse the directory or install your own .mcpb file.
  3. Follow the install prompts and approve only what the extension needs.

Claude Desktop bundles its own Node.js environment, so Node-based extensions do not need a separate install. One caveat: Anthropic's desktop and web connector comparison lists extensions for Claude Desktop and Claude Code, so run a quick test inside a Cowork task before you build a workflow on one.

Edit the config file by hand

For a stdio server started by a command, the config file is the right home. Its location depends on the OS:

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

Here is a minimal entry using the reference filesystem server:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\you\\Documents\\notes"
      ]
    }
  }
}

Three details cause most local failures:

  • Restart Claude Desktop after every edit so it picks up the change.
  • Escape Windows backslashes as \\ inside JSON.
  • Install Node.js if the command is npx, since npx runs from your system PATH.

Community write-ups report that Claude Desktop bridges servers from this file into Cowork's virtual machine, where they appear as type sdk. Anthropic's architecture page confirms the other half of the story: local MCP servers run on your device in local sessions, and they do not run in cloud sessions at all. Administrators can switch them off with the isLocalDevMcpEnabled and isDesktopExtensionEnabled settings, so a locked-down work laptop may block both.

Hand plugging a braided cable into a laptop on a walnut desk

Keep Your Connectors Safe

A connector lets Claude act inside another service, not just read from it. Anthropic's own warning list is short and worth following: connect only to trusted servers, review the permissions a connector requests, watch for prompt injection, and monitor changes in tool behavior. Custom connectors can point at services Anthropic has not verified, so the trust decision is yours.

Steel padlock hanging on a chain against weathered wood

RiskHabit that helps
Unknown server authorRead the vendor docs or source before you paste a URL
Tools that write or deleteKeep write-capable tools off for research tasks; Anthropic recommends disabling them for the Research feature
Silent tool changesRe-check the tool list after a server update
Prompt injection from fetched contentTreat text returned by a tool as untrusted data, never as an instruction from you
Over-broad approvalsAdmins can turn off persistent "always allow" to require fresh approval for each permission-gated call

Prompt injection in plain terms: a web page, document, or ticket that Claude reads can contain sentences written to look like orders. A connector with write access turns that trick from annoying into costly. Keep write tools limited to tasks where you read the plan before Claude acts.

One architecture detail is reassuring. Anthropic states that connector authorization tokens never enter the sandbox, and that connector calls are made on the server side. Code running inside the Cowork VM cannot read your tokens.

Fixes for Common Connection Errors

Server never appears

Work through these in order:

  • A remote URL sits in the config file. URLs that start with https:// belong in a custom connector.
  • The config was edited but Claude Desktop was not restarted.
  • The JSON is invalid. A trailing comma or an unescaped backslash breaks the whole file.
  • You are a member on a team plan. An Owner must add the connector first.

Sign in fails or tools break

SymptomLikely causeFix
Connection times outServer is on localhost or a private networkHost it publicly or allowlist Anthropic's IP ranges
Connector added but never calledToggle is off for this conversationUse +, then Connectors, and switch it on
Sign in loops back to the startOAuth client mismatchChoose Use your own OAuth client and enter the vendor's ID and secret
Local server missing in a taskCloud session, or an admin disabled local serversRun a local session; ask your admin about isLocalDevMcpEnabled
npx command not foundNode.js missing from PATHInstall Node.js, then restart Claude Desktop

Young woman frowning at a laptop with a notebook in a cafe

💡 Quick test: ask Claude to list the tools a connector provides. An empty list means the server connected but exposed nothing; an error means the connection itself failed. Those two outcomes point to different fixes.

Add Image and Video Tools With PicassoIA

A good first connector is one that produces something you can see. PicassoIA exposes its models through MCP, and PicassoIA's own API reference lists Claude among the supported clients. The limits worth knowing: each account gets 5 predictions queued or running at once, and that pool is shared across every API credential and every MCP connection. Plan rules differ between access types, so check the pricing page for what your plan includes before you queue a large batch.

The connector's tools are straightforward: generate_image, edit_image, generate_video_picassoia, generate_video_seedance, get_generation, list_generations, list_models, get_account, and cancel_generation. Jobs are asynchronous. A generate call returns a prediction ID, and Claude then polls get_generation until the status reads succeeded or failed.

Connect PicassoIA to Claude

  1. Sign in to PicassoIA and open the MCP connections page at picassoia.com/en/mcp/accounts.
  2. Follow the connection instructions on that page. The connector address sits behind your login, so this article does not paste one.
  3. In Claude, add PicassoIA from the Connectors directory if your account lists it, or as a custom connector using the address from your PicassoIA page.
  4. Approve the sign in when Claude opens the authorization window.
  5. Open a Cowork task, switch the PicassoIA connector on, and ask Claude to run get_account to confirm the link.

Photographer reviewing printed landscape contact sheets beside a laptop

Prompts that work in Cowork

Pick the model by job, then give Claude a specific brief.

JobModelExample prompt
Text to imagePicassoIA Image"Generate three 16:9 photos of a ceramic mug on an oak desk in morning light."
Edit an existing imagePicassoIA Image Editor Pro"Edit this product photo so the background becomes a plain gray wall."
Short video clipPicassoIA Video"Animate this photo with a slow push-in and soft window light."
Video with audioSeedance 2.5 Lite"Create a 10 second clip of rain on a cafe window with quiet ambience."

Three habits keep batches smooth:

  • Submit in groups of five or fewer. The concurrency limit applies to the whole account.
  • Ask Claude to summarize the finished URLs in a short note at the end of the task, so nothing gets lost.
  • Draft prompts first. Claude can write the brief, or you can test wording with a chat model such as Claude Sonnet 5 on PicassoIA before spending generations.

Treat the first result as a draft. Ask Claude to keep the subject and change one thing at a time, such as the camera angle, the time of day, or the background. Short follow-ups like "same scene, lower angle" give you comparable results and make it obvious which change helped.

Make Your First Image on Picasso IA

You now have both paths: a remote connector for cloud services and a local entry for tools on your own machine. The fastest way to see the payoff is to connect something visual and watch Cowork use it. Open PicassoIA, generate a test image with PicassoIA Image, then link the connector and ask Claude for three variations inside a task.

Experiment with one subject, one lighting setup, and a few wording changes. Small edits to a prompt produce surprisingly different results, and the quickest way to find your style is to generate, compare, and adjust. Your first connected image is one task away.

Share this article