尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Agent-native X poster — one MCP server for any coding agent (Claude Code / Cursor / Codex / Windsurf). Connect X once, then create/schedule/post from your agent session. Token + casserole guardrail + send are one server-side unit; your agent holds only a short-TTL handle, never the token. "The AI writes; casserole decides what ships."
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
The safe way to let your AI run your X.
One MCP server. Your X token never touches the agent — and every post clears an enforced guardrail before it ships.
*The guardrail, live — every verdict above is produced by the real chokepoint code (pnpm demo replays it).*查看完整 README ↗One MCP server. Your X token never touches the agent — and every post clears an enforced guardrail before it ships.
The guardrail, live — every verdict above is produced by the real chokepoint code (pnpm demo replays it).
capx café is an agent-native X poster that installs as one MCP server into any coding agent (Claude Code / Cursor / Codex / Windsurf). A whitelisted user connects their X account once; after that they create / schedule / post from inside their agent session. The whole product rests on one security thesis: the X token, the guardrail (casserole), and the send are one inseparable server-side unit — the agent on your laptop only ever holds a short-TTL session handle, never the token. That's why it structurally can't be prompt-injected into tweeting a scam. "The AI writes; casserole decides what ships."
Every other "let your AI post" tool has the same flaw: to let an agent post, you paste your X token into a plaintext config right next to an autonomous agent that reads untrusted web pages, issues, and code. One prompt-injection and your account tweets a scam. capx café is the only one that structurally can't be.
→ Full threat model, architecture & the "what we can/can't see" table: docs/SECURITY.md
flowchart LR
subgraph M["🖥️ your machine · untrusted"]
A["agent model<br/>writes the draft"]
S["capx skills"]
C["capx MCP client<br/>holds a session handle · NO token"]
end
subgraph K["🔒 capx chokepoint · hosted · AGPL-3.0"]
AD["admission<br/>allowlist · kill-switch"]
CAS["casserole<br/>6-layer guardrail"]
V["vault<br/>the token lives here"]
XA["x-adapter<br/>the only egress"]
end
X["🐦 X · /2/tweets"]
A --> C
S --> C
C -->|"short-TTL handle<br/>crosses — never the token"| AD
AD --> CAS
CAS -->|PASS| V --> XA --> X
CAS -.->|blocked / held| C
The token, the guardrail, and the send live together behind a trust boundary; your agent can only ask.
Six deterministic layers on every post. Worst result wins — pass / rewrite / hold / block — and a blocked post never even decrypts the token.
flowchart TD
D["draft"] --> AD{"admitted?<br/>allowlisted · not killed"}
AD -->|no| R["rejected"]
AD -->|yes| CAS["casserole<br/>L1 eligibility · L2 rate · L3 anti-slop<br/>L4 authenticity · L5 kill-switch · L6 audit"]
CAS --> VER{"verdict"}
VER -->|block| B["blocked — never sent<br/>🔒 token never decrypted"]
VER -->|hold| H["held for your review"]
VER -->|rewrite| RW["ask the agent to fix"]
VER -->|pass| SEND["vault → x-adapter → X ✅"]
npx -y capx-cafe # runs the MCP server — add it to your agent's MCP config
Then, inside your agent:
"connect my X account" → opens a browser once; the token stays on the server
"post: shipping the thing today" → clears casserole, or tells you exactly why not
"turn my last week of commits into a build-in-public thread" → drafts + queues it
Set CAPX_EMAIL (your whitelisted email) and, for the BYO lane, X_CLIENT_ID (your own X app) in
~/.capx/config.json or your agent's MCP env. A guided setup page hands you the exact callback URL to paste.
| Agent | How |
|---|---|
| Claude Code | /plugin marketplace add vb-tyagi/capx-cafe → /plugin install capx-cafe (MCP + slash commands + skills) |
| Cursor | add to .cursor/mcp.json; skill rules in plugins/capx-cafe/adapters/cursor/ |
| Codex | add to your MCP config; prompt pack in plugins/capx-cafe/adapters/codex/ |
| Windsurf | add to MCP config; workflows in plugins/capx-cafe/adapters/windsurf/ |
| Any MCP agent | point it at npx -y capx-cafe |
| Docker Desktop | docker mcp catalog pull ghcr.io/vb-tyagi/capx-catalog:latest → MCP Toolkit → enable capx café |
| Tool | What it does |
|---|---|
connect_x | One-time browser OAuth — the token lands in the server vault, never on your machine |
post_now | Post now (clears casserole first). Supports reply-chains and media |
preview | Dry-run a draft through the guardrail without sending — pass / hold / block + why |
audit | The durable record of what capx posted or attempted on your behalf, and its state |
create_loop · list_loops · … | Scheduled posting — a queue you wrote, sent on a schedule, laptop-off |
upload_media | Stream a local image/video to X and attach it (media you made with your own tools) |
whoami | The connected account + its status |
capx lives inside a coding agent, so it has what no social scheduler does: your repo, commits, PRs, releases. Skills turn that into posts — automatically, and always through the guardrail.
flowchart LR
G["git commits"] --> BIP["build-in-public<br/>drafts a week of posts"]
BIP --> Q["loop queue"]
Q -->|"1/day · laptop-off"| POST["posted to X"]
Q -.->|"runs low"| GAP["gap-alert"]
GAP -.->|"top up from new commits"| BIP
The self-refilling content engine: you code → commits accrue → the loop drains as it posts → gap-alert tops it up from the new commits. Your normal work is the pipeline.
image-director, video-director, prompt-engine, model-guide: capx runs no models;
it guides your image/video tools (higgsfield, fal, kling, …) and uploads the result. casserole guards your
caption; you own the media.One canonical SKILL.md per skill, generated for all four agents. capx never writes the content — it makes
good content easy and stops bad content regardless of which skill produced it.
Short $5 / Tall $15 / Grande $35 monthly tiers + top-up packs, quotas enforced
server-side at the gate. Full sheet + the math: docs/ECONOMICS.md · policy
posture: docs/X-COMPLIANCE.md.The chokepoint is open source (AGPL-3.0). Run the identical image with your own X app, keys, database, and
domain — CAPX_DEPLOY_MODE=self-host, zero telemetry to capx. See the self-host-guide skill and
docs/HANDOFF.md.
MIT for the client and everything it bundles (apps/capx-mcp, core, config, platform-client) plus
skills & docs. AGPL-3.0 for the server half (the chokepoint + casserole/captain/counter/canteen/
chef). Full map: LICENSING.md.
Private alpha, whitelist-only. The first real post shipped 2026-07-19 — guardrail-cleared, token never on the machine. Not yet open for public signups.
Node ≥ 22.6 (TypeScript runs natively via --experimental-strip-types — no build step). pnpm run verify =
unit tests across packages / services / apps + tsc. Contributions accepted under the project CLA.