ShapelessAI← Back

Connect7 apps9 networks

Post to LinkedIn, X, Instagram and 6 more from Claude or ChatGPT

Add Shapeless to the app you already chat in, connect your accounts once, and ask for the post you want. It writes, designs, renders the video, schedules and publishes. You approve.

Pick where you chat

How it works

Add Shapeless to your chat app

In your chat app, add Shapeless with the URL below. A Shapeless tab opens: sign in (or create an account) and allow. That is the whole install; nothing to download, no API key.

Remote MCP server URL
https://shapelessai.com/mcp

Connect your social accounts to Shapeless, once

In Shapeless, open Accounts and connect each account through the platform's own sign-in. Shapeless keeps that connection; your chat app never sees a password or token for it.

Ask your chat app in plain words

Ask for the post you want, the way you would ask a colleague. Every draft lands in your Shapeless queue for approval unless you say otherwise, and you are asked before anything goes out.

Questions

What am I connecting, exactly?
Two things, once each. Your chat app (Claude or ChatGPT) gets Shapeless as a connector: paste https://shapelessai.com/mcp where it asks for one and sign in. Your social accounts get connected to Shapeless under Accounts, through each network's own sign-in. After that, the chat app talks to Shapeless and Shapeless talks to the networks.
Which apps work?
Claude, ChatGPT, Claude Code, Cursor, Codex, VS Code, Gemini CLI, and any other app that can add a remote MCP server. Each has its own page with the exact clicks.
Can it post without my approval?
Only if you set a standing agent to auto-publish. Everything else lands as a proposed draft you approve in Shapeless or from the chat, and the chat app asks you again before any tool that publishes or spends runs.
How do I disconnect it?
Settings → API keys → Connected apps lists every app holding a token on your account, with a Disconnect button. Revoking it there ends that app's access immediately.
For developers and agents: the MCP server, the tools, the CLI
Remote MCP server URL
https://shapelessai.com/mcp

A remote MCP server over streamable HTTP. Sign-in is OAuth 2.1 with dynamic client registration and PKCE, so any host - Claude, ChatGPT, Cursor or your own agent - registers itself and opens a Shapeless tab to sign in and allow; the resource metadata is at /.well-known/oauth-protected-resource. Read tools run freely; anything that publishes, spends or overwrites is flagged destructive so the host asks first. The token is revocable under Settings → API keys → Connected apps.

ToolWhat it doesRuns
meWho this credential belongs to: email, plan, credit balance.reads
connections_listConnected social accounts (identity only, no tokens).reads
jobs_createStart a durable job from a goal, optionally with files attached. The run keeps going server-side; returns the job id and its web url to poll or continue.drafts
jobs_listList jobs with liveness and the web url of each, 200 per page, newest first. A non-null nextCursor means older jobs exist: pass it back as before.reads
jobs_getOne job in full: transcript, running/idle status, outputs (posts with queue state, media) and its web url. Use jobs_brief when you only need enough to reply.reads
jobs_briefCompact context for continuing a conversation: the last messages clipped, an artifact inventory, post statuses, and the web url. Use jobs_get for the full transcript, jobs_continue to reply.reads
jobs_tailWatch a job's run: replays its events from the cursor, then follows live until the run ends, 60 seconds pass, or 200 events. Returns {live, cursor, events} - resume with that cursor. {live: false} means no run stream to attach to; the job may still have finished work, so read jobs_get.reads
jobs_continueSend another message to a job, optionally with files attached - also the way to resume a stuck or failed run with full history.drafts
jobs_stopStop a running job.asks you first
posts_listThe post queue: proposed drafts, scheduled posts, published history.reads
posts_getOne post's live state.reads
posts_approvePUBLISHES CONTENT: approving moves proposals to the schedule, and they will go out.asks you first
posts_dismissDismiss proposed posts - nothing goes out.asks you first
posts_publishPUBLISHES CONTENT NOW: pushes a queued post to the platform immediately.asks you first
characters_listThe account's actors: who they are, what their voice is, and which parts are locked. voiceDescription is the casting direction a designed voice was written from - read it before designing another one, and reuse the actor that already fits.reads
characters_voiceSPENDS CREDIT: gives an actor a voice. description designs one from casting direction (kept on the character, so later runs can reuse the actor); sampleMediaKey clones a real voice and requires consent: true - the user's own attestation that they hold the rights. Returns the voice id, a preview clip and what it cost.asks you first
brain_treeBrand Memory's file list with the completion ring.reads
brain_readRead one Brand Memory file.reads
brain_writeWrite one Brand Memory file (.md paths only) - the agent grounds future posts in it.asks you first
assets_listThe media library: brand uploads and generated media.reads
agents_listThe agent roster (the API calls them strategies).reads
agents_saveCreate an agent (no id) or edit one (with id). Setting autoPublishPosts arms publishing without human approval and needs the publish scope; everything else needs write.asks you first
agents_wakePUBLISH-SCOPED: wake an agent now; it plans and proposes (or with auto-publish, posts) immediately. Returns the conversation it woke into and its web url.asks you first

The same account is driveable from a terminal or a script with a scoped API key: npx shapelessai --help, or the REST API documented in the public agent repo. Keys are minted under Settings → API keys.