capx-cafe

MCPattested
v0.1.3UnknownMITUpdated 4d agonpmGitHub

Agent-native X posting for Claude Code / Cursor / Codex / Windsurf. Connect X, post, and schedule from inside your agent — every post passes a server-side guardrail; the token never touches your machine.

Works in
ClaudeCursorCopilotGemini

Inferred from the transports this listing declares (stdio). A client not listed here hasn’t been ruled out — it just isn’t something Forge can confirm.

Attested build
A verified provenance attestation binds this artifact to the listed repository. Nobody has claimed the listing yet — this proves where the code was built, not who stands behind it.
58Downloads/wk
4d agoLast update
Package
AuthorUnknown
LicenseMIT
Version0.1.3
Sourcenpm+mcp-registry
Trust Status
B
65/100Good
Listed in Forge index+10/10
Identity verified · attested build+20/20
Ed25519 publish signature+0/5
Included automatically when the publisher runs `forge publish`
Domain verification+0/5
Publisher: host /.well-known/forge.json on the package homepage with { "publisher": "<github-login>" }
npm Trusted Publishing (Sigstore)+5/5
npm maintainer match+0/5
Publisher: add the verified GitHub login to the npm package's maintainers (npm owner add <login>)
CVE scan · clean+30/30
Static analysis · clean+0/20
Suspicious install scripts or obfuscated code detected
Paste into Claude Code, Cursor, or any AI assistant to fix all gaps
StatusIdentity verified
PublisherUnverified
SignatureUnsigned
Domain
Provenance✓ Sigstore-verified · e891c54
Dependencies✓ 60 resolved+ · none vulnerable
Tool surface11 tools · 2 privileged
Security scan⚠ Warnings (1)v0.1.3 · todayHow well does this scan work?
PROMPTdescriptionExfiltration-shaped instruction
EvalsNone
IndexedSep 7, 2026

Verification confirms publisher identity (repo ownership), not code safety. The security scan covers known CVEs and suspicious install scripts.

Tools

11 tools · 2 privileged
Statically extracted from the published packagev0.1.3 · 2h ago

Read out of the source npm actually ships, at scan time. The package was never executed. Tools registered dynamically at runtime, or hidden inside bundled or minified code, can be missed — so this is a floor on the tool surface, not a complete census of it.

connect_xConnect (or confirm) your X account via the capx chokepoint. Call once for a consent URL; after authorizing in the browser, call again with { confirm: true }.

Connect (or confirm) your X account via the capx chokepoint. Call once for a consent URL; after authorizing in the browser, call again with { confirm: true }.

No input schema was published for this tool.

whoamiShow the connected X account and its status (via the chokepoint).

Show the connected X account and its status (via the chokepoint).

No input schema was published for this tool.

post_nowPost text to X now. Every post passes the casserole guardrail at the chokepoint; blocked/held posts are never sent, and the token never touches this machine. Set aiGenerated only if the user wants this post labelled AI-assisted (default off — it is the user's choice). Pass inReplyToId with a prior…

Post text to X now. Every post passes the casserole guardrail at the chokepoint; blocked/held posts are never sent, and the token never touches this machine. Set aiGenerated only if the user wants this post labelled AI-assisted (default off — it is the user's choice). Pass inReplyToId with a prior…

No input schema was published for this tool.

previewDry-run a draft through the casserole guardrail WITHOUT posting: returns whether it would pass, be held, or be blocked, and why. Use it to fix a draft before posting or scheduling. This is a linter, never a way to bypass the guard.

Dry-run a draft through the casserole guardrail WITHOUT posting: returns whether it would pass, be held, or be blocked, and why. Use it to fix a draft before posting or scheduling. This is a linter, never a way to bypass the guard.

No input schema was published for this tool.

auditShow the durable history of what capx has posted or attempted on your behalf (most recent first, with delivery state). A trust feature — read-only, your own handle only.

Show the durable history of what capx has posted or attempted on your behalf (most recent first, with delivery state). A trust feature — read-only, your own handle only.

No input schema was published for this tool.

upload_mediaprivilegedUpload a local image or video (produced by your own media tool) so it can be attached to a post. Reads the file, streams the bytes to the chokepoint, and returns a media id to pass to post_now as mediaIds. Media is not moderated by casserole — you set the AI-content label per the media skills.

Upload a local image or video (produced by your own media tool) so it can be attached to a post. Reads the file, streams the bytes to the chokepoint, and returns a media id to pass to post_now as mediaIds. Media is not moderated by casserole — you set the AI-content label per the media skills.

No input schema was published for this tool.

create_loopSchedule recurring posts. YOU (the agent) must write the posts and pass them in `posts` — capx never generates content, so at fire time it only ships text you already wrote. When the queue empties the loop pauses and asks for more. Requires a verified X account at least 30 days old.

Schedule recurring posts. YOU (the agent) must write the posts and pass them in `posts` — capx never generates content, so at fire time it only ships text you already wrote. When the queue empties the loop pauses and asks for more. Requires a verified X account at least 30 days old.

No input schema was published for this tool.

list_loopsList your scheduled loops, their next-post queue, and whether any are paused.

List your scheduled loops, their next-post queue, and whether any are paused.

No input schema was published for this tool.

pause_loopPause or resume a loop.

Pause or resume a loop.

No input schema was published for this tool.

top_up_loopAdd more posts YOU wrote to a loop's queue. Resumes a loop that paused because it ran out.

Add more posts YOU wrote to a loop's queue. Resumes a loop that paused because it ran out.

No input schema was published for this tool.

delete_loopprivilegedDelete a loop permanently.

Delete a loop permanently.

No input schema was published for this tool.

11 of 11 tools published a description.

Tool names and descriptions are written by the publisher and shown verbatim as inert text. They are the strings an MCP client passes to a model, so Forge scans them for prompt-injection patterns — any finding appears with the security scan above. “Privileged” is a keyword match on the tool name, not an audit of what the tool does: a benign-sounding name can still do anything.

About

Agent-native X posting for Claude Code / Cursor / Codex / Windsurf. Connect X, post, and schedule from inside your agent — every post passes a server-side guardrail; the token never touches your machine.

Keywords
mcpmodel-context-protocolclaudeclaude-codecursorcodexwindsurfxtwitteragentai-agentpostingscheduling
Alternatives
Comparing tool surfaces…

Dependency tree

What one Forge scan resolved from npm metadata on 2026-09-07 — observed resolution, not a publisher declaration.

60 packages resolved · 2 direct · none carrying advisories Resolution stops at depth 4 and 60 packages.

The crawl stopped at the depth-4 limit. Anything below that level was never resolved.

The crawl stopped at the 60-package limit. The rest of the tree was never resolved.

36 more resolved packages are not drawn here (display cap: 24). Every dependency carrying an advisory is drawn regardless of the cap. Full inventory (CycloneDX SBOM)

Declared but not resolved

54 declared dependencies never landed in the tree. They are missing from Forge's resolution, not from the package.

+42 more not listed. The counts by reason above cover all of them.

Not followed: peerDependencies. This tree covers runtime dependencies only, so anything those pull in was never resolved.

Topics

Related in social media