Picorn MCP
Claude, Cursor या Codex के साथ संपादन योग्य इमेज और वीडियो प्रोजेक्ट बनाएं, फिर Picorn में समीक्षा करें और प्रकाशित करें।
दस्तावेज़
Create images and publish posts with your Picorn account.
Use the public guide for account setup, editable images, existing-video uploads and verified social publishing. MCP does not create or render videos.
Connect my account · Read the agent guide
1. Connect your Picorn account
An existing Picorn account is enough to start. Sign in at Settings → Integrations. Connect the social account you want to post to and confirm its handle. An anonymous MCP connection cannot access your files, spend your credits or publish to your accounts.
For an OAuth-capable MCP client, add https://picorn.com/mcp/account as a Streamable HTTP connector, then complete the Picorn sign-in and consent screen. In the Claude app this is Settings → Connectors → Add custom connector. OAuth is separate from the anonymous URL.
For a coding client using bearer authentication, open AI Agent Access (MCP) in Integrations, name and create a personal token, then copy it once into your client’s secret configuration. Send Authorization: Bearer <token> to https://picorn.com/mcp. Keep tokens out of prompts, repositories, screenshots and shared logs. Revoke tokens or disconnect OAuth apps in the same settings card.
Restart or reconnect the MCP client after changing authentication. Call picorn_account_status with {} and confirm account and socialAccounts. Browser login alone does not authenticate an MCP client.
codex mcp add picorn-account --url https://picorn.com/mcp --bearer-token-env-var PICORN_ACCESS_TOKEN
Set PICORN_ACCESS_TOKEN securely in the environment that starts Codex. The command names the variable; it does not contain the token. Keep the anonymous connection only if you still need it.
Sign in and connect accounts / agent access
2. Other clients and anonymous access
Claude Code can use the account endpoint with its normal OAuth flow. Clients that support custom headers can use the bearer configuration below; replace the placeholder locally, never in a shared file. Follow your client’s secret-storage instructions.
For anonymous manual design tools, use https://picorn.com/mcp without an Authorization header. This is free under fair-use limits. AI generation needs account access and credits. Both endpoints use POST with Streamable HTTP. GET /mcp is this documentation page; GET /mcp/account returns 405 because it is a protocol endpoint, not a sign-in page.
{
"mcpServers": {
"picorn-account": {
"url": "https://picorn.com/mcp",
"headers": { "Authorization": "Bearer <YOUR_PERSONAL_TOKEN>" }
}
}
}
3. Read the current tools before acting
Run MCP initialize, then tools/list. Tool inputSchema is the authoritative argument contract. Read server instructions and call picorn_capabilities for current formats, fonts and fair-use limits. The linked JSON catalog is generated from the running MCP registrations; it includes descriptions, input schemas and annotations without requiring credentials.
For raw HTTP clients, send Content-Type: application/json and Accept: application/json, text/event-stream. Responses may be SSE: parse data: events and match the JSON-RPC id. Check both JSON-RPC errors and result.isError, even when HTTP status is 200. Preserve progress notifications during long jobs.
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"my-agent","version":"1.0"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}
Live tools and full input schemas (JSON)
Complete agent guide (plain text)
4. Create editable images and carousels
Start with picorn_search_library and inspect its contact sheet. Search photos, wallpapers, vectors, icons, stickers, textures, shapes or badges before generating an image. For uploaded photos use picorn_media_list, then picorn_editor_import_image with mediaId. An accessible Dropbox or Google Drive share link can also be imported; the returned imageUrl is the source for your image layer.
For layout work, read picorn_blueprint_spec and picorn_blueprint_examples, write PBL, call picorn_blueprint_compile and repair the same blueprintId with patch until errors are zero and the preview looks right. Then call picorn_blueprint_create_file. Generated PBL search lines cost credits; ordinary library searches do not.
Alternatively, supply a finished SVG to picorn_editor_create_project or 1–20 finished SVG/native-layer slides to picorn_editor_create_slideshow. The latter does not call another design model. Its SVGs must be self-contained without external assets or generation placeholders. picorn_design_image now accepts a complete agent-authored SVG; the old topic-to-design interface is retired.
Keep workspaceProjectId and workspaceProjectKey together for every related asset. projectId identifies an editor file; fileId is the identifier used for social scheduling. Use returned IDs exactly. Inspect renders and return editorUrl so the user can edit the result. Static export supports PNG, JPEG, PDF and page-image DOCX; the DOCX does not contain independently editable text layers.
picorn_editor_create_slideshow
{
"title": "Browser wildlife",
"aspectRatio": "1:1",
"caption": "My browser has 47 tabs open. At this point it is a wildlife reserve.",
"slides": [
{
"svg": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 1080 1080\"><rect width=\"1080\" height=\"1080\" fill=\"#13151b\"/><text x=\"80\" y=\"480\" font-size=\"80\" fill=\"white\">47 open tabs.</text><text x=\"80\" y=\"600\" font-size=\"54\" fill=\"#d9ff45\">One wildlife reserve.</text></svg>"
}
]
}
5. Keep a campaign in the user’s account
Authenticate before creating files you intend to publish. picorn_campaigns_create accepts agent-authored ideas without calling a model. Omit workspaceProjectId and workspaceProjectKey to create one project for the campaign, then reuse the returned pair for every file.
Create one file per idea, passing campaignId and ideaId with the same workspace. A multi-slide file publishes as one carousel, not one separate post per slide. Use picorn_campaigns_list and picorn_campaigns_inspect to resume work. picorn_files_list returns existing account-owned files; follow nextCursor when there are more.
The public HTTP catalog is authoritative. picorn_projects_share and seez_editor_create_business_card are not public HTTP MCP tools. Project sharing is available in the Picorn interface. Do not assume tools from a private or older local connector exist here.
picorn_campaigns_create
{"topic":"Three smart, funny posts","ideas":[{"hook":"Browser wildlife","caption":"My browser has 47 tabs open. At this point it is a wildlife reserve."},{"hook":"Meeting maths","caption":"A 30-minute meeting with eight people is a four-hour meeting wearing a small hat."}]}
6. Publish or schedule to an exact account
Call picorn_account_status first. Select the intended connected socialAccounts entry and copy its accountId. Pass both platforms and accountIds explicitly, even when there is only one account. For X the platform value is x, not twitter. If the account is missing, use picorn_social_accounts_connect with {"platform":"x"}, give authUrl to the user and check status again after authorization. Bluesky connects in the website settings instead.
Choose an owned, finished fileId. For immediate publication set publishNow:true. For scheduling omit publishNow and provide scheduledAt as an ISO-8601 timestamp with a timezone, at least one minute in the future. Keep captions within the destination’s own limit; Picorn’s 2,200-character input maximum is not an X allowance.
Publishing costs $0.02 per request accepted by the publishing service, including scheduled submissions. A request can target several accounts. Confirm the user’s publishing scope and spending budget before sending. Uploading a clip and authoring a static file do not publish anything. Account balance is visible in Picorn; insufficient credit prevents publishing.
Use the same fileId to resume or reschedule an existing request. Do not create another file or blindly resubmit after a timeout: list posts and check the existing provider ID first. An updated response does not prove that an already published post changed on the network.
picorn_posts_schedule
{
"fileId": "<RETURNED_FILE_ID>",
"platforms": ["x"],
"accountIds": ["<ACCOUNT_ID_FROM_STATUS>"],
"caption": "A 30-minute meeting with eight people is a four-hour meeting wearing a small hat.",
"publishNow": true
}
7. Publish an existing video
MCP publishes existing videos. It does not create videos, generate motion, edit timelines or render video compositions. The former picorn_video_create_project, picorn_video_add_clip, picorn_video_import_media and picorn_video_render_project tools are no longer exposed.
Find a clip the user owns or that has a licence allowing the intended repost. Keep its source URL, creator and licence; include attribution when required. A webpage, YouTube watch page or social-post URL is not a video file. Download the permitted MP4, WebM or MOV bytes in your client and inspect the whole clip, including audio, before upload. There is no video-search or webpage-downloader tool in Picorn MCP.
Call picorn_posts_upload_video with raw mediaBase64, contentType and an optional caption. Maximum decoded size is 15 MB. Use video/mp4, video/webm or video/quicktime. This stores the existing clip in the authenticated account and returns fileId, mediaUrl and published:false. It does not post or generate video.
Then call picorn_posts_schedule with that fileId, the exact target accountIds, caption and publishNow:true or scheduledAt. Uploaded clips are sent as their existing media, without static rendering. For files larger than 15 MB, use Studio → Create Post → Post your own photos & videos; the website accepts up to 200 MB per file. After upload, find the file with picorn_files_list. Destination format and size restrictions still apply. The verified X workflow uses MP4 with H.264 video. If needed, convert only the encoding of your existing licensed source in your client before upload; MCP does not perform that conversion.
For a Picorn timeline that was made earlier in the browser, export the finished video in the browser and upload that file for publication. Do not schedule a timeline file expecting MCP to render it.
picorn_posts_upload_video
{
"mediaBase64": "<RAW_BASE64_OF_EXISTING_CLIP>",
"contentType": "video/mp4",
"caption": "Me opening one more tab to research why I have so many tabs open."
}
// Use the returned fileId in picorn_posts_schedule, as in step 6.
8. Verify delivery and recover safely
A successful schedule call means the service accepted a request; it is not proof that the post is live. Save fileId and postForMeResult.id. Call picorn_posts_list for a narrow time window and inspect items, statuses and errors. Check hasMore and narrow the window if results are truncated. Pending or scheduled means delivery is still unconfirmed. dryRun:true means no real social post was sent.
Open Calendar and the target profile to verify the actual published content and video playback. Return the real platform permalink when available; never invent a URL from a Picorn file ID or a publishing-service ID. If a public link is unavailable, state that delivery could not be independently verified.
picorn_posts_cancel accepts fileId and only cancels a post before publication. It cannot delete a live post from X. For failures, read the error, fix the account or media issue, and check existing status before retrying.
picorn_posts_list
{"from":"2026-10-20T00:00:00+02:00","to":"2026-10-21T00:00:00+02:00","limit":100}
// Replace these example dates with the actual posting window.
10. A complete prompt for your agent
Replace the account handle, budget and timing before using this prompt. The example authorizes three real social submissions and excludes paid image generation.
Read https://picorn.com/mcp and its live tool schemas. Connect to my Picorn account using the normal account authorization. Check that the X account is @MY_HANDLE. Create two original funny, smart image posts and upload one short existing video that is licensed for reposting. Inspect all three. Publish only to that exact X account now, with a total social-publishing budget of $0.06 and no paid image generation. Use the same campaign workspace for the image posts. Do not create or render video. Verify each delivery and give me the real X links, editable image links and the video source/credit. If authorization or delivery fails, report the exact blocker without duplicate submissions.
Free manual design · Existing videos only · Social publishing: $0.02 per request
How it works
- Connect your account — Use the OAuth endpoint https://picorn.com/mcp/account or a personal bearer token at https://picorn.com/mcp. Call picorn_account_status to verify.
- Read current schemas — Use MCP tools/list or /mcp/tools.json before constructing arguments.
- Prepare content — Create an editable static file or upload an existing clip with picorn_posts_upload_video. Inspect the result.
- Publish to exact accounts — Use picorn_posts_schedule with fileId, platforms and accountIds. Set publishNow or a future scheduledAt with timezone.
- Check delivery — Read picorn_posts_list, check Calendar and open the real platform post. Accepted is not the same as published.
Frequently asked questions
Can an agent publish to my own X account?
Yes, after account authorization and connecting X. Call picorn_account_status, choose the exact accountId and use platforms:["x"] in picorn_posts_schedule. The full examples above explain captions, timing, cost and delivery checks.
Can MCP create videos?
No. Agents can upload and publish existing MP4, WebM or MOV files. Video generation, timeline creation and video rendering are not exposed through MCP. Use picorn_posts_upload_video, then picorn_posts_schedule.
Where are the up-to-date tools and argument schemas?
GET /mcp/tools.json returns the tool descriptions and schemas from the running server. MCP clients can call tools/list. GET /mcp/guide.txt contains the same setup and workflow guide as this page, without JavaScript.
Does having a Picorn account automatically authorize the agent?
No. Connect the agent through OAuth at /mcp/account or create a personal token in Settings → Integrations and configure it privately. A browser sign-in does not authenticate MCP.
What costs credits?
Manual design and existing-video uploads have no social publishing charge. AI generation uses credits. Social submissions cost $0.02 per request accepted by the publishing service, including scheduled posts; several accounts can be included in one request.