Antigravityby Google
Connect Antigravity to your LinkedIn, X, Instagram and 6 more
About a minute, three moves. Then Antigravity writes, designs, renders video, schedules and publishes for you, and you approve. Works in Antigravity 2.0, the Antigravity IDE and the Antigravity CLI.
Which network?
Add Shapeless to Antigravity
In Antigravity, 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.
- 1
Open the MCP config: in the IDE, the ... menu of the agent panel, then MCP Servers, Manage MCP Servers, View raw config. Or edit the file directly:
- 2~/.gemini/config/mcp_config.json
{ "mcpServers": { "shapeless": { "serverUrl": "https://shapelessai.com/mcp" } } } - 3
The key must be serverUrl; url and httpUrl are not read. Then open Agent Settings (Cmd+,), Customizations, press Authenticate next to shapeless, sign in to Shapeless in the browser and paste the code back.
Steps read from Antigravity: MCP and Antigravity: plans on . Vendors move menus; if a step no longer matches, the source is the place to check and hello@shapelessai.com is where to tell us.
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; Antigravity never sees a password or token for it.
No account yet? The free plan is 10 posts a day through every interface, no card. Every tool the server exposes is in the MCP reference.
Ask Antigravity in plain words
Ask the agent; it calls the shapeless tools as it needs them. Every draft lands in your Shapeless queue for approval unless you say otherwise, and you are asked before anything goes out.
Write a LinkedIn post announcing our new pricing page. Founder voice, no hashtags, and make a 6-slide PDF carousel to go with it.Draft a thread on X about why we rebuilt onboarding, six posts, with the demo GIF on the first.Make an Instagram Reel from this feature: 20 seconds, captions on, our voice, vertical.
Questions
- Which Antigravity plans can add Shapeless?
- Individual Google accounts and Gemini Enterprise teams; every plan gets every feature, plans differ in quota.
- How do I use it once it is connected?
- Ask the agent; it calls the shapeless tools as it needs them.
- Does Antigravity ask before publishing?
- Not unless you set a standing agent to auto-publish. A job proposes drafts and waits for your approval in Shapeless or in the chat; the tools that approve, publish or spend are flagged, so Antigravity asks you before running one.
- Do I need a developer app or API key for each network?
- No. You connect each account to Shapeless once, under Accounts, through the network's own sign-in. Shapeless holds those connections; Antigravity signs in to Shapeless with OAuth and never sees a network token or password.
- How do I disconnect it?
- Settings → API keys → Connected apps in Shapeless lists Antigravity with a Disconnect button; revoking there ends its access at once. Antigravity also lets you remove the connector on its side.
For developers and agents: the MCP server, the tools, the CLI
https://shapelessai.com/mcpA remote MCP server over streamable HTTP. Sign-in is OAuth 2.1 with dynamic client registration and PKCE, so any host - Antigravity 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.
| Tool | What it does | Runs |
|---|---|---|
| me | Who this credential belongs to: email, plan, credit balance. | reads |
| connections_list | Connected social accounts (identity only, no tokens). | reads |
| jobs_create | Start 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_list | List 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_get | One 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_brief | Compact 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_tail | Watch 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_continue | Send another message to a job, optionally with files attached - also the way to resume a stuck or failed run with full history. | drafts |
| jobs_run | Press Run on the job's newest proposed plan - the approval click a headless caller has nobody to make. Use it after a turn ended with a plan waiting; deliverables still land as proposed drafts. | drafts |
| jobs_stop | Stop a running job. | asks you first |
| posts_list | The post queue: proposed drafts, scheduled posts, published history. | reads |
| posts_get | One post's live state. | reads |
| posts_approve | PUBLISHES CONTENT: approving moves proposals to the schedule, and they will go out. | asks you first |
| posts_dismiss | Cancel posts: proposed, scheduled, failed or handed-off. Nothing already publishing or published is touched. | asks you first |
| posts_publish | PUBLISHES CONTENT NOW: pushes a queued post to the platform immediately. | asks you first |
| posts_create | PUBLISHES CONTENT: puts a post you wrote on the rail for one connected account (connections_list), at a time, in the account's next free queue slot, or now. Read platforms_list first for the platform's limits and settings schema. Free plan: 10 posts a day (402 free_daily_cap says when the day resets). | asks you first |
| platforms_list | Every platform the rail posts to: text limit, media rules, whether documentTitle is required, first-comment support, and the JSON Schema for its settings. Read it before posts_create. Works with any key (read scope or none). | reads |
| characters_list | The 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_voice | SPENDS 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_tree | Brand Memory's file list with the completion ring. | reads |
| brain_read | Read one Brand Memory file. | reads |
| brain_write | Write one Brand Memory file (.md paths only) - the agent grounds future posts in it. | asks you first |
| assets_list | The media library: brand uploads and generated media. | reads |
| agents_list | The agent roster (the API calls them strategies). | reads |
| agents_save | Create 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_wake | PUBLISH-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.
