Anomalia

io.github.andreabuttarelli由 GitHub 帳號 andreabuttarelli 發布v1.0.0更新於 Oct 24, 2026

AI social autopilot: plan, write, design and publish posts, blog/SEO, news radar and leads.

已驗證Streamable HTTP可網頁執行效率與工作流商業與電商

概覽

AI 產生的概覽

Anomalia 是遠端 MCP 伺服器,接入 AI 社群媒體自駕功能,可規劃、撰寫、設計並發佈貼文、部落格與 SEO 稽核。

可以做什麼
依品牌 slug 規劃社群內容、週計畫、行事曆與上市方案,並審核、編輯、重新生成、調整輪播圖順序、把貼文轉成影片並發佈。管理品牌資產:工作室、語氣、人物與產品。執行 SEO、GEO 與關鍵字稽核並生成部落格文章。管理廣告活動、花費、加推建議,以及重混、複製、暫停、恢復和刪除創意。查看儀表板、狀態與分析,或透過自然語言 AI 指令以完整讀寫權限操作全部功能。
適用情境
當你已在 Anomalia 上經營品牌,希望助理起草、審核並發佈社群貼文、部落格內容與 SEO 工作,或在聊天主機中查看和調整廣告活動時使用。
執行需求
透過 streamable HTTP 連線 mcp.anomalia.so 遠端端點並使用 OAuth 登入;需要 Anomalia 帳號,因為每次呼叫都會經 HTTPS 存取 Anomalia API。遠端端點需要 Bearer 存取權杖。另有本機 stdio 方式,但需要 Bun 和儲存庫原始碼。
安裝前請注意
AI 指令擁有完整讀寫權限,工具可發佈貼文、審核內容,並建立、暫停、複製或刪除涉及花費的廣告活動。操作會改動線上品牌資料。stdio 方式會在本機儲存 OAuth 工作階段憑證,應視為機密。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Anomalia,將其新增到工作區。
  2. 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

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

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.andreabuttarelli%2Fanomalia/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。

{
  "mcpServers": {
    "anomalia": {
      "type": "http",
      "url": "https://mcp.anomalia.so/mcp"
    }
  }
}

README

Anomalia CLI — Social Media AI Automation CLI, MCP Server & Agent Skill

Automate your social media from the terminal. Anomalia is the social media AI autopilot that plans, writes, designs and publishes posts, blog articles and SEO/GEO audits on autopilot. This repository is its command-line client, MCP server (Model Context Protocol — stdio + HTTP) and agent skill: everything you need to run social media automation, content generation and approval workflows from a terminal or an AI agent.

This repository ships three ways to drive the same product (same OAuth, same API, no static tokens):

WhatWho it’s for
CLIanomalia terminal commandsHumans & scripts
MCPModel Context Protocol server (stdio + HTTP)Cursor, Claude, other MCP hosts
SkillAgent Skill (skills/anomalia/)Coding agents / skills.sh / npx skills

You need an Anomalia account. This is a client, not a standalone tool: every call talks to the Anomalia API over HTTPS. Without an account there is nothing to drive.

With the Anomalia CLI you can automate social media posting, approve AI-generated content in one tap, edit a carousel slide by slide, turn a post into a video, run SEO and GEO audits, and manage your blog — from the terminal or from an AI agent like Cursor or Claude.

text
┌─────────────┐   ┌─────────────┐   ┌──────────────────┐│  anomalia   │   │  MCP host   │   │  Agent + Skill   ││    CLI      │   │ (Cursor…)   │   │  (npx skills)    │└──────┬──────┘   └──────┬──────┘   └────────┬─────────┘       │                 │                   │       │    lib/api.ts + OAuth session       │       └─────────────────┼───────────────────┘                         ▼                 Anomalia /api/v1/*

1. CLI

Install

Pick one:

MethodCommandNotes
npmnpm install -g anomalia-cliNeeds Node.js ≥ 20
Homebrewsee belowmacOS / Linux, standalone binary
Installersee belowcurl script → binary on PATH
From sourcesee belowNeeds Bun

npm

bash
npm install -g anomalia-cli# or:  pnpm add -g anomalia-cli   /   bun add -g anomalia-clianomalia login

Homebrew

bash
brew tap andreabuttarelli/anomalia-cli https://github.com/andreabuttarelli/anomalia-clibrew install anomaliaanomalia login

Installer (standalone binary) — macOS arm64/x64 and Linux arm64/x64, no Node/Bun required:

bash
curl -sSL https://raw.githubusercontent.com/andreabuttarelli/anomalia-cli/main/scripts/install.sh | bashanomalia login

Update later with anomalia update, or npm install -g anomalia-cli@latest / brew upgrade anomalia depending on how you installed. More detail: docs/distribute.md.

Quick start

bash
anomalia brandsanomalia dashboard my-brandanomalia content my-brand --status pending_useranomalia approve my-brand --allanomalia seo my-brandanomalia web my-brand generate --topic "..."anomalia ads my-brand --remixanomalia ai my-brand --message "..." --pipe

Every command takes the brand slug as its first argument. anomalia --help lists them all; anomalia <command> --help details one. Short id prefixes from tables are accepted; ambiguous prefixes error instead of guessing.

AreaCommands
Postscontent, approve, post <id> [show|edit|regenerate|slide|reorder|video|publish]
Planningplan, weekly-plan, calendar, gtm
Brandstudio, voice, people, products
Webseo, geo, keywords, web
Adsads — campaigns, spend, boost proposals, remix, duplicate/delete (--sync, --propose, --remix, --create, --approve, --pause, --resume, --duplicate, --delete, --reject, --ad per singola creatività)
Insightdashboard, status, analytics
AIai --message "..." — natural language, full read/write access

Full command dump: llms.txt · more docs: docs/

From source

Requires Bun.

bash
git clone https://github.com/andreabuttarelli/anomalia-cli.gitcd anomalia-clibun installbun run cli.ts --help

2. MCP server

Same tools and OAuth as the CLI. Docs: docs/mcp.md.

bash
bun run mcp          # stdio (local hosts)bun run mcp:http     # http://localhost:8787/mcp

Remote: https://mcp.anomalia.so/mcp (Bearer JWT required). Health: GET /health.

Cursor — stdio

json
{  "mcpServers": {    "anomalia": {      "command": "bun",      "args": ["run", "/ABS/PATH/to/anomalia-cli/mcp/stdio.ts"]    }  }}

Cursor — HTTP

json
{  "mcpServers": {    "anomalia": { "url": "https://mcp.anomalia.so/mcp" }  }}

If Connect fails with Not an https or loopback URI: cursor://…, your Cursor build is still using the custom-scheme OAuth callback — use stdio above, update Cursor (loopback http://localhost:8787/callback), or see docs/mcp.md.

  • Local stdio: login tool or existing anomalia login → ~/.config/anomalia/session.json
  • Remote HTTP: Authorization: Bearer <access_token> (401 without it is expected)

3. Agent Skill & plugins

Publishable Agent Skill for Cursor, Claude, skills.sh, and friends:

bash
npx skills add andreabuttarelli/anomalia-cli --skill anomalia# orbash scripts/install-skill.sh --project

Package: skills/anomalia/ → plugins/anomalia/skills/anomalia/ (SKILL.md + references/ for MCP setup, tool map, CLI).

When the skill is active, agents prefer MCP tools if connected, otherwise the CLI.

Claude Code / Codex marketplace plugin

Same skill + remote MCP, packaged for plugin install and directory submit:

bash
# Claude Code/plugin marketplace add andreabuttarelli/anomalia-cli/plugin install anomalia@anomalia
# Codexcodex plugin marketplace add andreabuttarelli/anomalia-cli

Submit checklist (Claude community directory + OpenAI Plugins Directory): docs/plugins.md.


Configuration

Zero config by default → https://anomalia.so, with automatic fallback to http://localhost:5173 when a local app is answering.

VariablePurpose
PUBLIC_APP_URLPoint CLI/MCP at another Anomalia instance
SENTRY_DSN(MCP HTTP / Vercel) Errors → Sentry
SUPABASE_SERVICE_ROLE_KEY(MCP HTTP / Vercel) Rows in mcp_logs
MCP_PUBLIC_URLPublic MCP base URL for OAuth metadata

Session: ~/.config/anomalia/session.json. anomalia logout clears it. No secrets are embedded in this repo or the binary.


Architecture

Thin HTTPS client — no DB access, no coupling to the Anomalia server codebase:

CLI  ──┐MCP  ──┼── HTTPS ──►  /api/v1/*  ──►  AnomaliaSkill ─┘   (guides agents to CLI or MCP)
  • CLI commands: commands/ + cli.ts
  • HTTP client: lib/api.ts only
  • MCP: mcp/ (reuses lib/api.ts, registers tools)
  • Skill / plugins: skills/anomalia/ → plugins/anomalia/ (Claude + Codex marketplace manifests)

Development

bash
bun installbun run cli.ts --helpbun run mcpbun run mcp:httpbun run typecheckbun testbun run build             # binary → dist/bun run build:all         # all four targetsbun run vercel-build      # MCP bundles under mcp/api/

Releases: push a v* tag → CI typechecks, tests, cross-compiles binaries + .tar.gz + SHA256SUMS.txt on the GitHub Release, bumps Formula/anomalia.rb, and publishes anomalia-cli to npm when NPM_TOKEN is set. Details: docs/distribute.md.


License

Copyright © 2026 Andrea Buttarelli.

Licensed under the GNU Affero General Public License v3.0 or later. You may use, modify and redistribute it, but derivative works must stay open source under the same license, must keep the copyright notice, and must state their changes — including when offered to users over a network.

來源:README.md,提交 f03c41d

工具

0
該伺服器需要登入,因此 SourceWeft 無法在沒有帳號的情況下讀取其工具,也未收錄。已連接帳號所能看到的內容可能因帳號及其權限而異。

版本歷史

1
  1. v1.0.0最新Sep 16, 2026

評分

已滿足適用檢查項的 85%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分