Cursor
Cursor is a code editor built around AI workflows. Its MCP support lets you call Picora directly from chat / agent mode.
Why Picora + Cursor?
Common usages:
- “Upload
assets/screenshot-2026-04.pngto Picora and replace its reference inREADME.mdwith a public URL.” - “Find all Markdown files in
docs/that reference local images, batch-upload those images to Picora, and rewrite the URLs.” - “Show me my Picora image storage usage trend.” (then visualize in chat)
- “Publish this README as a Picora Markdown document so I can share it externally.”
Setup
Cursor supports both stdio and HTTP OAuth MCP modes. The procedure mirrors Claude Desktop — only the config file location and JSON key differ.
1. Open Cursor settings
Cmd , (Mac) / Ctrl , (Windows) → search for MCP → Edit MCP config.
This opens ~/.cursor/mcp.json (or similar; Cursor displays the actual path).
2. Add Picora server
HTTP OAuth (recommended):
{ "mcpServers": { "picora": { "url": "https://mcp.picora.me", "transport": "http" } }}stdio (npm):
npm install -g @picora/mcpThen in mcp.json:
{ "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 users replace .me with .cn everywhere.
3. Reload Cursor
Cmd+Shift+P → Developer: Reload Window (or fully restart).
4. Authorize / test
In agent mode, type:
“List my recent Picora images”
Cursor shows the tool call inline; click Allow the first time. You’ll be redirected to the OAuth consent page (HTTP mode) or it’ll work directly (stdio mode).
Cursor-specific tips
Agent vs chat mode
- Chat mode: Cursor asks before each tool call. Good for discovery.
- Agent mode: Cursor calls tools autonomously based on your goal. Good for batch operations like “upload all images in this folder”.
For destructive operations (delete), always use chat mode — agent mode + dry-run safety still combine well, but a confirmation prompt is reassuring.
Inline file → Picora workflow
Cursor’s strength is editing local files. Picora MCP complements this:
Workflow: replace local image with Picora URL─────────────────────────────────────────────Prompt: "Upload assets/cover.png to Picora, then update README.md to use the Picora URL instead of the local path."
Cursor: 1. Reads assets/cover.png from disk 2. Calls upload_image with the file content 3. Receives public URL 4. Edits README.md to replace the local reference 5. Shows the diff for your approvalThis works because Cursor has both file tools (local) and MCP tools (Picora) in the same context.
Project-scoped vs global config
Cursor supports .cursor/mcp.json per-project (committed to git is fine only if using HTTP OAuth — never commit API Keys).
For consistent personal use, keep config in ~/.cursor/mcp.json. For team projects sharing Picora resources, consider per-project HTTP OAuth config.
Workflow templates
Save common multi-step tasks as Cursor .md snippets in .cursor/rules/ to reuse across projects:
When the user asks to "publish this README", do:1. Read the current README.md2. Use upload_doc to upload to Picora3. Set isPublic: true4. Return the public URLTroubleshooting
”Picora tools missing from menu”
- Verify
mcp.jsonsyntax with jsonlint - Reload Cursor window
- Check that the OAuth grant covers the scopes you need (re-authorize if missing)
“Tool call hangs”
- Check Cursor’s MCP log: View → Output → MCP
- Look for network errors connecting to
mcp.picora.me - For stdio mode: verify the npm package is installed (
npm list -g @picora/mcp)
“Cursor calls Picora but says ‘no tools found’”
- The Cursor agent may have stale tool schema. Reload window.
- Check that you’re on Cursor 0.40+ (older versions have MCP bugs)
Related
- Claude Desktop integration — same patterns, different host
- Tool catalog — what Cursor can call
- Prompt templates — Cursor-friendly prompts
- Cursor official MCP docs