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
-
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). -
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-xxxxxxxxxxandDEIN_TOKENwith your actual values. -
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:
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:
export PICASI_API_TOKEN=picasi_pat_xxxxxxxxxxclaudeClaude 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.