Shapeless

com.shapelessaiv0.3.0更新於 Sep 29, 2026

AI social media team for founders: make and publish posts, carousels and short video to 9 networks.

概覽

AI 產生的概覽

讓助理草擬、排程並發布社群貼文、輪播圖和短影音到已連結的平台,並執行持久化內容工作。

功能
Shapeless 提供 posts_create、posts_approve、posts_publish、jobs_create、jobs_continue、brain_write、assets_upload 等工具。助理可以撰寫並排程發布到已連結帳號的貼文、管理待審貼文佇列、啟動或恢復長時間執行的工作,並讀取或編輯帳號的品牌記憶。它也能管理依排程持續運作的常駐代理。
適用情境
當助理需要經營或協助社群媒體帳號時使用:規劃並發布內容、推動內容佇列,或在多個平台上執行週期性的內容工作。適合希望由代理完成草擬和排程、而非手動發文的創辦人和小型團隊。
執行需求
遠端 MCP 端點 MCP 的用戶端,透過 OAuth 登入,不需金鑰。本機 stdio 方式透過 npx shapelessai mcp 執行,需要 Node 20 或更新版本,以及來自 shapeless login 或 SHAPELESS_API_KEY 環境變數的 API 金鑰。金鑰帶有 read、write 或 publish 權限範圍。
安裝前請注意
發布、消費和覆寫類操作被標記為破壞性,用戶端應先向使用者確認。只有 publish 權限範圍才能對外發布內容,應只授予所需的最小範圍。免費方案依 UTC 每日限制發文數量並回傳 free_daily_cap 錯誤,付費方案和代理工作會消耗額度。API 金鑰屬於機密,一旦外洩應在工作室中撤銷。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Shapeless,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "shapeless": {
      "type": "http",
      "url": "https://shapelessai.com/mcp"
    }
  }
}

README

Shapeless

Shapeless runs your social presence: it drafts, schedules, and publishes content across your connected platforms, holds your Brand Memory, and keeps standing agents working while you sleep.

This repo is the public home of the agent surface: the shapeless CLI, the MCP server, the Claude Code plugin, and the issue tracker. Your agent or script drives a Shapeless account: write and schedule posts, create jobs and resume stuck ones, approve and publish, edit Brand Memory, manage the standing agents.

The documentation lives at shapelessai.com/docs - routes, scopes, platform limits, refusal codes, one page per subject. Every page also answers raw Markdown: append .md to its path (https://shapelessai.com/docs/posts.md) or send Accept: text/markdown. An agent that wants all of it in one fetch should read shapelessai.com/llms-full.txt.

Install

bash
npx shapelessai --help      # one-offnpm i -g shapelessai        # keeps `shapeless` on your PATH

Node 20 or newer.

Authenticate

Mint a key in the studio: Settings -> API keys (/studio/api-keys). Give it only the scopes the caller needs - read, write, or publish. Only publish can put content out.

bash
shapeless login             # paste the key; we verify it and store it 0600export SHAPELESS_API_KEY=slk_...   # or: env var, beats the stored key

Config lives in ~/.config/shapeless/config.json. SHAPELESS_BASE_URL overrides the API host (default https://shapelessai.com). shapeless logout forgets the local copy; revoke the key itself in the studio.

Every command takes --json to print the raw API response, and --help.

Post

Write it yourself and put it on the rail - now, at a time, or in the account's next free queue slot. Needs the publish scope.

bash
shapeless connections                     # the accounts and their idsshapeless platforms                       # limits, media rules, settings schema (no key needed)
shapeless posts create --to <connectionId> --text "Shipping day."                       # nowshapeless posts create --to <connectionId> --text "..." --at 2026-09-21T09:00:00+03:00  # at a timeshapeless posts create --to <connectionId> --text "..." --queue                         # next free slotshapeless posts create --to <connectionId> --text "..." --media k1,k2 \  --first-comment "Link: https://..."      # LinkedIn, X, Blueskyshapeless posts create --to <youtubeConnectionId> --text "..." --media <clip.mp4 key> \  --title "The video title" --settings '{"privacyStatus":"unlisted"}'

The MCP tool is posts_create with the same arguments: connectionId, text, mediaKeys, title, scheduledAt or queue: true, settings, firstComment. Read platforms_list first for the platform's limits and its settingsSchema.

Free plan: ten posts a day on the rail, counted on the UTC day each post goes out on, so a week planned ahead is ten a day rather than ten in total. The eleventh answers 402 {code: "free_daily_cap", limit, day, resetsAt}, which names the day that is full. Composing, scheduling and publishing never spend credits, and Free also carries $5 of credits a month for the agent team. Paid plans have no cap. Details: shapelessai.com/docs/posts.

Jobs: durable runs

A job is a run the server keeps going whether or not you stay connected - the right shape for agents and cron.

bash
# Fire and forgetshapeless jobs create draft three posts about our beta launch
# Watch it live (tails the event stream, falls back to polling)shapeless jobs create plan this week --label "Weekly plan" --budget 2.50 --watch
# Come back latershapeless jobs list               # 200 newest; prints a cursor if older jobs existshapeless jobs list --before <cursor>   # the next page backshapeless jobs show <id>          # transcript summary + outputsshapeless jobs tail <id>          # re-attach to the live stream
# Put files on the message - the agent sees the image, not just its nameshapeless jobs create does this thumbnail work? --attach ./thumb.png --attach ./notes.mdshapeless jobs continue <id> and this one --media-key workspace-assets/<account>/logo.png
# Resume a stuck or failed run - history is rebuilt server-sideshapeless jobs continue <id> keep going, but make the second post shorter --watch
shapeless jobs stop <id>

Posts: the queue

bash
shapeless posts list --status proposedshapeless posts show <id>shapeless posts approve <id> <id> <id>    # proposed -> scheduled  [publish]shapeless posts dismiss <id>shapeless posts publish <id>              # out, now  [publish]shapeless posts mark-posted <id> --url https://...

Agents, Brand Memory, assets

bash
shapeless agents listshapeless agents create --name "Daily reach" --prompt "..." --days mon,thu --hours 9shapeless agents edit <id> --status paused        # or: shapeless agents pause <id>shapeless agents wake <id>                        # run it now  [publish]
shapeless brain lsshapeless brain get positioning.mdshapeless brain put voice.md --file ./voice.md    # or pipe on stdinshapeless brain import ./pitch-deck.pdfshapeless brain export --out brain.zip
shapeless assets listshapeless assets upload ./logo.pngshapeless connections

MCP server

The hosted server is https://shapelessai.com/mcp. Add that URL to any host that speaks remote MCP - Claude (Settings -> Connectors -> Add custom connector), ChatGPT (Developer mode), Claude Code, Cursor, Codex, VS Code, Gemini CLI - and it opens a Shapeless tab to sign in and allow. OAuth, no key. The steps for each host, in the vendor's words, are at shapelessai.com/connect.

bash
claude mcp add --transport http --scope user shapeless https://shapelessai.com/mcp   # then /mcp -> Authenticatecodex mcp add shapeless --url https://shapelessai.com/mcp && codex mcp login shapelessgemini mcp add --transport http shapeless https://shapelessai.com/mcp

The same tools (posts_create, jobs_create, posts_approve, brain_write, ...) also run locally: shapeless mcp speaks MCP on stdio with the API key from shapeless login, and adds the tools that read your disk (assets_upload, brain_import, and files on a job message). Every tool carries a title and annotations - read-only tools run freely, anything that publishes, spends or overwrites is flagged destructive so a host asks you first - and each description names the scope it needs.

A job is a conversation, so work passes both ways between your terminal and the web app:

  • Every job result carries a url - https://shapelessai.com/studio/c/<id> - so an agent can hand the human back a link to what it just did.
  • jobs_brief <id> is the cheap read before replying: the last 30 messages clipped, reasoning and tool-activity dropped, an artifact inventory and post counts per queue status. Deterministic, no model in the loop. jobs_get still gives the full transcript.
  • jobs_list answers 200 jobs at a time, newest first, with a nextCursor; pass it back as before to walk further into the history.
  • jobs_tail <id> watches a job's run (60 seconds max, 200 events) and returns the events plus a cursor to resume from; a job with no run stream to attach to answers {live: false} instead of erroring.
  • jobs_create and jobs_continue take files: files (absolute local paths - .md/.txt ride inline, images, video, audio and PDF are uploaded here) and mediaKeys (anything already in the account, e.g. what assets_upload returned). Up to 6 per message. They land on the message the human sees in the studio, and the agent reads them for real - an image's pixels are inlined for that turn, not just its filename.

There is one prompt, continue (argument: id), which Claude Code surfaces as a slash command: it loads that conversation's brief and tells the agent to reply into the same thread with jobs_continue.

Running the stdio server instead of the hosted one - Claude Code:

bash
claude mcp add shapeless -e SHAPELESS_API_KEY=slk_... -- npx shapelessai mcp

Claude Desktop (claude_desktop_config.json), and other stdio-only hosts:

json
{  "mcpServers": {    "shapeless": {      "command": "npx",      "args": ["shapelessai", "mcp"],      "env": { "SHAPELESS_API_KEY": "slk_..." }    }  }}

Without the env var the server uses the key stored by shapeless login.

Agent Plugins (Cursor, Kiro, Copilot, Codex) and Gemini CLI

plugins/shapeless is also an Agent Plugins 1.0 package (plugin.json, mcp.json, skills/), so any client that loads that format installs the hosted MCP server and the skill from this repo. Gemini CLI reads gemini-extension.json at the root:

gemini extensions install https://github.com/FirstClassTree/shapelessai

Claude Code plugin

This repo is also a plugin marketplace. The shapeless plugin wires up the hosted MCP server and ships a skill that teaches Claude the ropes - scopes, the post queue, when to touch Brand Memory:

/plugin marketplace add FirstClassTree/shapelessai/plugin install shapeless@shapeless

Then run /mcp, pick shapeless and choose Authenticate - a browser tab signs you in once.

The API

Everything above rides one documented contract: shapelessai.com/docs/api - every route, the scope each needs, rate limits, and what deliberately refuses an API key. Machine-readable at /api/openapi.json.

PageWhat it answers
/docsStart here: key, MCP URL, CLI, the three moves
/docs/postsCreate, schedule, queue, media, first comment, every refusal
/docs/platformsLimits and rules per platform, live from GET /api/platforms
/docs/apiEvery route a key opens, and the scope it needs
/docs/cliThe shapeless command
/docs/mcpThe hosted MCP server and its tools
/docs/jobsDurable runs
/docs/brand-memoryThe account's durable knowledge
/docs/authKeys, scopes, OAuth, rate limits

Issues

Found a bug or hit a wall? Open an issue. The CLI is developed against the contract above; this repo is where it ships.

來源:README.md,提交 d7f516e

工具

0
工具後設資料尚未被收錄。

版本歷史

1
  1. v0.3.0最新Sep 29, 2026