360 Secure SkillHub
360 安全技能中心

X Webmcp

该工具通过内置local-mcp X适配器与固定UXC链接连接X和Grok,核心功能包括读取X时间线、搜索/查看/发布推文、发布文章,以及通过认证X会话与Grok聊天。需依赖uxc、npx及Playwright环境,操作前需确保X链接正常、完成X账号认证。典型场景为用户需从已认证浏览器Profile操作X或调用Grok时使用,通过命令行指令触发操作,输出JSON格式结果,写操作建议先启用dryRun测试。

jolestar
jolestar
热度 49.48
最近更新 2026-05-11 17:36:03
分类:开发依赖:MCP 服务 / 代码执行 / 读写文件应用场景:API 集成 / 社交媒体

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add x-webmcp
Metadata
name
x-webmcp
description
Connect to X and Grok through the built-in local-mcp X adapter and one fixed UXC link. Use when the user wants to read timelines, inspect tweets, post on X, or chat with Grok from an authenticated browser profile.

X WebMCP

Use this skill to operate X through the built-in --site x bridge preset in @webmcp-bridge/local-mcp.

For generic bridge setup patterns or non-X sites, switch to $webmcp-bridge.

Prerequisites

  • uxc is installed and available in PATH.
  • npx is installed and available in PATH.
  • Network access to https://x.com.
  • On a fresh machine, or under an isolated HOME, install Playwright browsers first with npx playwright install.
  • X is auth-sensitive. Expect bootstrap_then_attach behavior when the profile is not signed in yet.

Core Workflow

  1. Ensure the fixed X link exists:
    • command -v x-webmcp-cli
    • if missing or pointed at the wrong profile, run skills/x-webmcp/scripts/ensure-links.sh
  2. Inspect the bridge and tool schema before calling tools:
    • x-webmcp-cli -h
    • x-webmcp-cli timeline.home.list -h
    • x-webmcp-cli grok.chat -h
    • x-webmcp-cli article.publishMarkdown -h
  3. Check authentication state first when the profile is new or looks stale:
    • x-webmcp-cli bridge.session.status
    • x-webmcp-cli auth.get
    • if the session is not ready, start bootstrap or switch to headed:
      • x-webmcp-cli bridge.session.bootstrap
      • x-webmcp-cli bridge.session.mode.set '{"mode":"headed"}'
      • x-webmcp-cli bridge.open
  4. Use read tools for timelines, conversations, and profiles:
    • x-webmcp-cli timeline.home.list limit=10
    • x-webmcp-cli search.tweets.list '{"query":"playwright","mode":"latest","limit":10}'
    • x-webmcp-cli tweet.get '{"url":"https://x.com/.../status/..."}'
    • x-webmcp-cli tweet.conversation.get '{"id":"2033895522382319922","limit":10}'
    • x-webmcp-cli user.get username=jack
  5. Use write tools only after reading help and confirming user intent:
    • x-webmcp-cli tweet.create '{"text":"hello from webmcp","dryRun":true}'
    • x-webmcp-cli tweet.reply '{"id":"2033895522382319922","text":"reply text","dryRun":true}'
    • x-webmcp-cli article.publishMarkdown '{"markdownPath":"/abs/path/post.md","dryRun":true}'
  6. Use Grok through the same authenticated X session:
    • x-webmcp-cli grok.chat '{"prompt":"Summarize this thread","timeoutMs":180000}'
    • for uploads, pass absolute local file paths in attachmentPaths
  7. Parse JSON output only:
    • success path: .ok == true, consume .data
    • failure path: .ok == false, inspect .error.code and .error.message

Default Target

The built-in preset uses:

--site x

The default profile path is:

~/.uxc/webmcp-profile/x

Refresh the link with:

skills/x-webmcp/scripts/ensure-links.sh

Guardrails

  • Keep the X profile isolated from other sites.
  • X uses bootstrap_then_attach; do not expect page tools to work until the managed profile is authenticated.
  • Prefer explicit bridge.session.mode.set over relaunching the command to change runtime mode.
  • grok.chat and article publishing can take a long time. Increase timeoutMs instead of retrying aggressively.
  • For local uploads such as attachmentPaths, markdownPath, or coverImagePath, always use absolute filesystem paths.
  • Use dryRun for destructive or public write tools first when available.
  • If the user closes the visible X window manually, the headed owner session ends. Run x-webmcp-cli bridge.open again if you still need a visible session on the same profile.

References

  • Common command patterns:
    • references/usage-patterns.md
  • Link creation helper:
    • scripts/ensure-links.sh