ShapelessAI

com.shapelessai由 shapelessai.com 发布官方发布者v0.3.5更新于 Nov 13, 2026

AI social media team for founders: posts and short video to LinkedIn, X, Instagram, TikTok and more.

已验证Streamable HTTP可网页运行效率与工作流商业与电商媒体与设计

概览

AI 生成的概览

ShapelessAI 是面向创始人的托管社媒团队:助手可起草、排期并发布贴文和短视频到已连接的平台。

可以做什么
  • 在已连接的社媒账号上创建、排期、排队、审批、发布和撤下贴文,支持媒体、标题和首条评论
  • 列出已连接账号,以及各平台的字数限制、媒体规则和设置结构
  • 运行在服务端持续执行的持久任务,并可列出、摘要、跟踪、继续或停止任务,支持附件
  • 管理按计划发文的常驻代理,读取或编辑品牌记忆与账号素材
  • 生成图片、视频素材、轮播、语音和字幕,并进行网页搜索,返回可用于贴文的媒体键
适用场景
适合让助手端到端打理创始人或小团队的社媒运营:起草并排期一周的贴文、维护审批与发布队列,或让常驻代理在你不在时持续发文。
运行要求
通过 streamable HTTP 连接的远程 MCP 端点,使用浏览器 OAuth 登录;无法打开浏览器的客户端需在 Authorization Bearer 头中携带 Settings -> API keys 生成的 API 密钥。需要 ShapelessAI 账号,密钥作用域为 read、write 或 publish。本地 stdio 版本通过 npx 运行,需 Node 20 或更高版本及 SHAPELESS_API_KEY。
安装前请注意
发布会公开内容,需要 publish 作用域,应只授予调用方所需的作用域。涉及付费方案与额度:免费方案对每日贴文数和 X 贴文有限制,部分工具会消耗额度或预算。任务与代理会自动执行,并可能覆盖品牌记忆。内容、媒体和文件会发送到 ShapelessAI 的服务器。

安装

在 SourceWeft 中

  1. 打开 控制台中的 ShapelessAI,将其添加到工作区。
  2. 连接 所需的 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/com.shapelessai%2Fshapeless/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。 客户端会在首次连接时完成 OAuth 登录。

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

README

ShapelessAI

ShapelessAI 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 ShapelessAI 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.

Claude's directory

The connector Anthropic lists is https://shapelessai.com/mcp/social, the same account server without the media-generation tools (Anthropic's Software Directory Policy 4.B lists no software that generates images, video or audio with a model); its plugin bundle is plugins/shapeless-social. plugins/shapeless and https://shapelessai.com/mcp stay the full server, for this marketplace and every other host. Details: https://shapelessai.com/docs/mcp.

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. X bills per post, so Free posts to X once a day and without links (402 free_x_daily_cap, free_x_link); the $9 Scheduler plan lifts the daily cap and carries 150 X posts a month, and the agent plans have no cap. Composing, scheduling and publishing never spend credits, and Free also carries 125 credits a month for the agent team. 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 ShapelessAI tab to sign in and allow. OAuth, no key. The steps for each host, in the vendor's words, are at shapelessai.com/connect.

A client that cannot open a browser (the Agent SDK, a CI job, a self-hosted agent) skips OAuth: send an API key from Settings -> API keys as Authorization: Bearer slk_... to the same URL. Any MCP client that sets a header works; the scope is the key's.

bash
curl -s https://shapelessai.com/mcp -H "Authorization: Bearer $SHAPELESS_API_KEY" \  -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
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.

Beyond the account tools, every tool our own studio agent holds is its own MCP tool too: generate_image, generate_footage, edit_footage, render_carousel, speak, caption_file, web_search, x_pulse and the rest. Each answers the files it made as media keys you can publish with posts_create. The table with what each one costs is at shapelessai.com/docs/mcp; tools_list reads it live.

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/ShapelessAI/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 ShapelessAI/shapelessai/plugin install shapeless@shapeless

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

Where else ShapelessAI is listed

The same server and skill, installable from the registry your client already reads:

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

Support and privacy

来源:README.md,提交 a92a397

工具

0
该服务器需要登录,因此 SourceWeft 无法在没有账号的情况下读取其工具,也未收录。已连接账号所能看到的内容可能因账号及其权限而异。

版本历史

6
  1. v0.3.5最新Nov 13, 2026
  2. v0.3.4Nov 12, 2026
  3. v0.3.3Oct 30, 2026
  4. v0.3.2Oct 29, 2026
  5. v0.3.1Oct 10, 2026
  6. v0.3.0Sep 29, 2026

评分

已满足适用检查项的 85%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分