Claude Desktop
Claude Desktop is the recommended host for Picora MCP integration. It supports both transport modes natively.
This page covers both setup paths. Pick HTTP OAuth unless you have a reason to run locally.
Mode comparison
| HTTP OAuth (recommended) | stdio (npm) | |
|---|---|---|
| Setup complexity | Add 5 lines to config + click “Authorize” | Install npm package + config + API Key |
| Multi-device sync | Same OAuth grant works everywhere | Each device needs its own API Key |
| Network requirement | Always (talks to mcp.picora.me) | Only when AI calls a tool |
| Updates | Auto-updated server-side | npm update -g @picora/mcp |
| Best for | Most users | Power users, offline scenarios |
HTTP OAuth setup (recommended)
1. Open Claude Desktop config
| Platform | Path |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
| Linux | ~/.config/Claude/claude_desktop_config.json |
If the file doesn’t exist, create it.
2. Add the Picora server
{ "mcpServers": { "picora": { "url": "https://mcp.picora.me", "transport": "http" } }}For mainland China users, use https://mcp.picora.cn.
If you already have other MCP servers configured, add "picora": { ... } as a sibling.
3. Restart Claude Desktop
After saving config, fully quit Claude Desktop (Cmd+Q on Mac / right-click → Exit on Windows) and restart.
4. Authorize
Click the 🔌 plug icon at the bottom of any conversation. You should see “picora” listed. Click Authorize — a browser window opens to Picora’s consent page.
On the consent screen:
- Review the requested scopes (default:
media:read media:write media:delete docs:read docs:write docs:delete usage:read) - Untick any scope you don’t want to grant
- Click Authorize
Browser redirects back; Claude Desktop confirms the connection.
5. Test it
In a new chat, type:
“List my recent images on Picora.”
Claude should call list_media and respond with a table of your images.
stdio (npm) setup
1. Install the npm package globally
npm install -g @picora/mcpThis installs picora-mcp to your global PATH.
2. Get an API Key
- Open Settings → API Keys
- Click Create new key
- Name it (e.g., “Claude Desktop on MacBook Pro”)
- Pick scopes (default: all read/write, no delete — recommended)
- Copy the displayed key
3. Add to Claude Desktop config
Open the config file (paths above) and add:
{ "mcpServers": { "picora": { "command": "npx", "args": ["-y", "@picora/mcp"], "env": { "PICORA_API_KEY": "sk_live_YOUR_KEY", "PICORA_API_URL": "https://api.picora.me" } } }}For mainland China, use https://api.picora.cn.
4. Restart Claude Desktop and test
Same as HTTP mode step 5.
Verifying connection
After connecting, the plug icon at the bottom of the conversation shows connected MCP servers. Click it; “picora” should appear with a list of available tools (12 in total — upload_image, upload_video, upload_audio, upload_doc, list_media, list_docs, etc.).
If the icon is empty or shows an error, check:
- Claude Desktop log file (
~/Library/Logs/Claude/mcp.logon Mac) - Config JSON syntax (use jsonlint if uncertain)
- Network connectivity to
mcp.picora.meorapi.picora.me
Switching modes
Already on stdio and want to switch to HTTP OAuth (or vice versa):
- Edit config: replace the
picoraentry with the new mode’s syntax - Restart Claude Desktop
- Authorize (HTTP) or test (stdio)
You can keep both modes simultaneously by giving them different keys (e.g., picora-local and picora-cloud), but it’ll confuse the AI — pick one.
Troubleshooting
”Server not connected” / plug icon empty
- Verify config JSON syntax
- Restart Claude Desktop fully (not just close window)
- Check the log file for specific errors
”Authorization failed” (HTTP mode)
- The OAuth state parameter may have expired (>10 min between starting and completing). Retry.
- Check that you’re logged in at center.picora.me in your default browser.
- If using a corporate browser with strict cookie policies, try in a personal profile.
”API Key invalid” (stdio mode)
- Verify you copied the full
sk_live_...value (40 chars, no extra whitespace) - Check the key is still active (not revoked) at Settings → API Keys
- Confirm
PICORA_API_URLmatches your account platform (.mefor overseas,.cnfor mainland)
Tools missing from the menu
- Some scopes may not have been granted (HTTP mode) — re-authorize and grant the missing scopes
- For stdio: API Key may have limited scopes — create a new key with broader scopes
”Quota exceeded” errors when using a tool
- Your account hit a quota limit (storage, bandwidth, doc count). Visit Dashboard → Usage to see what’s full and either delete resources or upgrade.
Revoking access
HTTP OAuth
- Go to Settings → Authorized apps
- Find the Claude Desktop entry
- Click Revoke
Claude Desktop will be prompted to re-authorize next time it tries to use Picora.
stdio
Just revoke the API Key from Settings → API Keys. Claude will get 401 errors and you can remove the entry from config.