Skip to content
Open App

Connect Picasi to Claude Code

What This Is About

You’ll set up Picasi as an MCP server in Claude Code. After that, you can ask for updates on your competitors, manage sources, or retrieve reports right in the Claude chat—without opening the Picasi app.

What You Need

  • A Picasi API token (instructions: Create an API token)
  • Your workspace’s MCP URL (found under Settings → AI Connections and Tokens)

Option A: Configure via the CLI

  1. Have your token and URL ready

    Open Settings → AI Connections and Tokens in Picasi and copy the MCP URL (format: https://picasi.app/mcp/t-xxxxxxxxxx).

  2. Add MCP server

    Run the following command in a terminal:

    Terminal window
    claude mcp add picasi \
    --transport http \
    --url https://picasi.app/mcp/t-xxxxxxxxxx \
    --header "Authorization: Bearer DEIN_TOKEN"

    Replace t-xxxxxxxxxx and DEIN_TOKEN with your actual values.

  3. Test the connection

    Start Claude Code and enter:

    What sources are in my Picasi workspace?

    Claude will respond with real data if the connection is working.

Option B: Edit .mcp.json directly

If you prefer to have the configuration as a file in your project:

{
"mcpServers": {
"picasi": {
"type": "http",
"url": "https://picasi.app/mcp/t-xxxxxxxxxx",
"headers": {
"Authorization": "Bearer DEIN_TOKEN"
}
}
}
}

Save this file as .mcp.json in the root of your project. Claude Code will read it automatically.

Environment Variables Instead of Plain Text

For projects whose .mcp.json is in Git, never include the token in plain text. Two secure methods:

1. Global Claude Code Configuration

Instead of a project-specific .mcp.json, set up the server globally once:

Terminal window
claude mcp add picasi \
--scope user \
--transport http \
--url https://picasi.app/mcp/t-xxxxxxxxxx \
--header "Authorization: Bearer DEIN_TOKEN"

The server is then available in all projects without .mcp.json in the repository.

2. Environment Variable in a Non-Committed File

For project-specific servers: Commit .mcp.json to the repository, but read the token from the environment.

{
"mcpServers": {
"picasi": {
"type": "http",
"url": "https://picasi.app/mcp/t-xxxxxxxxxx",
"headers": {
"Authorization": "Bearer ${env:PICASI_API_TOKEN}"
}
}
}
}

Set the variable PICASI_API_TOKEN in a .env file (in .gitignore) or directly in the shell where Claude Code starts:

Terminal window
export PICASI_API_TOKEN=picasi_pat_xxxxxxxxxx
claude

Claude Code does not read the variable until startup. If the token is changed, Claude Code must be restarted.

Multiple Workspaces

If you have multiple Picasi workspaces (e.g., an agency with multiple clients), create a separate server entry for each workspace and give it a unique name:

{
"mcpServers": {
"picasi-kunde-a": {
"type": "http",
"url": "https://picasi.app/mcp/t-aaaaaaa",
"headers": { "Authorization": "Bearer ${env:PICASI_TOKEN_KUNDE_A}" }
},
"picasi-kunde-b": {
"type": "http",
"url": "https://picasi.app/mcp/t-bbbbbbb",
"headers": { "Authorization": "Bearer ${env:PICASI_TOKEN_KUNDE_B}" }
}
}
}

Claude Code runs the server tools under separate namespaces (picasi-kunde-a:list_sources, picasi-kunde-b:list_sources) to prevent confusion.