Skip to main content
Glama

Anomalia CLI — 社交媒体 AI 自动化 CLI、MCP 服务器与 Agent 技能

从终端自动化你的社交媒体。 Anomalia 是一款社交媒体 AI 自动驾驶仪,可自动规划、撰写、设计并发布帖子、博客文章以及 SEO/GEO 审计。本仓库是其命令行客户端、MCP 服务器(模型上下文协议 — stdio + HTTP)以及 Agent 技能:你所需的一切,以便从终端或 AI Agent 运行社交媒体自动化、内容生成和审批工作流。

本仓库提供三种方式来驱动同一产品(相同的 OAuth、相同的 API,无静态令牌):

是什么

适用对象

CLI

anomalia 终端命令

人类与脚本

MCP

模型上下文协议服务器(stdio + HTTP)

Cursor、Claude、其他 MCP 主机

技能

Agent 技能(skills/anomalia/

编码 Agent / skills.sh / npx skills

你需要一个 Anomalia 账户。 这是一个客户端,而非独立工具:每次调用都会通过 HTTPS 与 Anomalia API 通信。没有账户,就没有什么可驱动的。

借助 Anomalia CLI,你可以自动化社交媒体发布、一键审批 AI 生成的内容、逐张编辑轮播图、将帖子转为视频、运行 SEO 和 GEO 审计,并管理你的博客——从终端从像 Cursor 或 Claude 这样的 AI Agent 中完成。

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

1. CLI

安装

选择一种:

方法

命令

说明

npm

npm install -g anomalia-cli

需要 Node.js ≥ 20

Homebrew

见下文

macOS / Linux,独立二进制文件

安装程序

见下文

curl 脚本 → PATH 中的二进制文件

从源码

见下文

需要 Bun

npm

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

Homebrew

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

安装程序(独立二进制文件) — macOS arm64/x64 和 Linux arm64/x64,无需 Node/Bun:

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

之后可使用 anomalia update 更新,或根据你的安装方式使用 npm install -g anomalia-cli@latest / brew upgrade anomalia。更多详情:docs/distribute.md

快速开始

anomalia brands
anomalia dashboard my-brand
anomalia content my-brand --status pending_user
anomalia approve my-brand --all
anomalia seo my-brand
anomalia web my-brand generate --topic "..."
anomalia ads my-brand --remix
anomalia ai my-brand --message "..." --pipe

每个命令都将品牌 slug 作为其第一个参数。anomalia --help 列出所有命令;anomalia <command> --help 详细说明某个命令。接受表格中的短 ID 前缀;有歧义的前缀会报错,而不是猜测。

领域

命令

帖子

contentapprovepost <id> [show|edit|regenerate|slide|reorder|video|publish]

规划

planweekly-plancalendargtm

品牌

studiovoicepeopleproducts

网页

seogeokeywordsweb

广告

ads — 广告系列、支出、提升提案、混剪、复制/删除(--sync--propose--remix--create--approve--pause--resume--duplicate--delete--reject--ad 针对单个创意)

洞察

dashboardstatusanalytics

AI

ai --message "..." — 自然语言,完全读写访问

完整命令转储:llms.txt · 更多文档:docs/

从源码

需要 Bun

git clone https://github.com/andreabuttarelli/anomalia-cli.git
cd anomalia-cli
bun install
bun run cli.ts --help

Related MCP server: automate-idea-to-social-mcp

2. MCP 服务器

与 CLI 相同的工具和 OAuth。文档:docs/mcp.md

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

远程:https://mcp.anomalia.so/mcp(需要 Bearer JWT)。健康检查:GET /health

Cursor — stdio

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

Cursor — HTTP

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

如果 Connect 失败并显示 Not an https or loopback URI: cursor://…,则你的 Cursor 构建仍在使用自定义方案 OAuth 回调——请使用上面的 stdio,更新 Cursor(loopback http://localhost:8787/callback),或参阅 docs/mcp.md

  • 本地 stdio:login 工具或现有的 anomalia login~/.config/anomalia/session.json

  • 远程 HTTP:Authorization: Bearer <access_token>(没有它时出现 401 是正常的)


3. Agent 技能与插件

可发布的 Agent 技能,适用于 Cursor、Claude、skills.sh 等:

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

包:skills/anomalia/plugins/anomalia/skills/anomalia/SKILL.md + references/,用于 MCP 设置、工具映射、CLI)。

当技能激活时,Agent 优先使用 MCP 工具(如果已连接),否则使用 CLI

Claude Code / Codex 市场插件

相同的技能 + 远程 MCP,打包用于插件安装和目录提交:

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

# Codex
codex plugin marketplace add andreabuttarelli/anomalia-cli

提交清单(Claude 社区目录 + OpenAI 插件目录):docs/plugins.md


配置

默认零配置 → https://anomalia.so,当本地应用响应时自动回退到 http://localhost:5173

变量

用途

PUBLIC_APP_URL

将 CLI/MCP 指向另一个 Anomalia 实例

SENTRY_DSN

(MCP HTTP / Vercel)错误 → Sentry

SUPABASE_SERVICE_ROLE_KEY

(MCP HTTP / Vercel)mcp_logs 中的行

MCP_PUBLIC_URL

用于 OAuth 元数据的公共 MCP 基础 URL

会话:~/.config/anomalia/session.jsonanomalia logout 会清除它。本仓库或二进制文件中不嵌入任何机密。


架构

轻量 HTTPS 客户端——无数据库访问,不依赖 Anomalia 服务器代码库:

CLI  ──┐
MCP  ──┼── HTTPS ──►  /api/v1/*  ──►  Anomalia
Skill ─┘   (guides agents to CLI or MCP)
  • CLI 命令:commands/ + cli.ts

  • HTTP 客户端:仅 lib/api.ts

  • MCP:mcp/(复用 lib/api.ts,注册工具)

  • 技能 / 插件:skills/anomalia/plugins/anomalia/(Claude + Codex 市场清单)


开发

bun install
bun run cli.ts --help
bun run mcp
bun run mcp:http
bun run typecheck
bun test
bun run build             # binary → dist/
bun run build:all         # all four targets
bun run vercel-build      # MCP bundles under mcp/api/

发布:推送 v* 标签 → CI 进行类型检查、测试、交叉编译二进制文件 + .tar.gz + SHA256SUMS.txt 到 GitHub Release,更新 Formula/anomalia.rb,并在设置 NPM_TOKEN 时将 anomalia-cli 发布到 npm。详情:docs/distribute.md


许可证

版权所有 © 2026 Andrea Buttarelli。

根据 GNU Affero 通用公共许可证 v3.0 或更高版本 授权。你可以使用、修改和重新分发它,但衍生作品必须保持开源并采用相同许可证,必须保留版权声明,并且必须说明其更改——包括通过网络向用户提供时。

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • AI marketing agent for Google Ads, Meta, GA4, TikTok, LinkedIn, Shopify, HubSpot and more.

  • Connect any AI agent to 11+ social platforms: schedule, publish & track posts via hosted MCP.

  • Agent-operated social media for agencies — www.aidelly.ai. Post, approve, analyze on 11 networks.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/andreabuttarelli/anomalia-cli'

If you have feedback or need assistance with the MCP directory API, please join our Discord server