Set up and authenticate the Xpoz MCP server for social media intelligence. Required by all Xpoz skills. Handles server configuration, OAuth login, and connection verification with minimal user interaction.
数据来源:ClawHub。 在 ClawSkills 查看
选择你使用的 Agent
方法一:命令行安装(推荐)
推荐(无需提前安装 clawhub)
npx clawhub@latest --dir ~/.claude/skills install xpoz-setup或使用 clawhub CLI(需提前安装)
clawhub --dir ~/.claude/skills install xpoz-setup⚠️ 需要 Node.js 18+,没有 Node?请使用下方方法二直接下载 ZIP。 安装 Node.js →
方法二:手动下载安装(无需 Node)
下载 ZIP,解压后将文件夹放到以下路径,重启 Agent 即可:
安装路径
~/.claude/skills/xpoz-setup/💡解压后将文件夹放到上方路径,重启 Agent 即可生效
--- name: xpoz-setup description: "Set up and authenticate the Xpoz MCP server for social media intelligence. Required by all Xpoz skills. Handles server configuration, OAuth login, and connection verification with minimal user interaction." homepage: https://xpoz.ai metadata: { "openclaw": { "requires": { "bins": ["mcporter"], "network": ["mcp.xpoz.ai", "www.xpoz.ai"], "credentials": "Xpoz account (free tier) — obtained via Google OAuth during setup" }, }, } tags: - xpoz - mcp - setup - oauth - social-media ---
Automatic MCP server setup and authentication for Xpoz — the social intelligence platform.
This skill is a prerequisite for all Xpoz skills. It configures the Xpoz MCP server and handles OAuth login so your agent can access Twitter, Instagram, TikTok, and Reddit data.
---
If you're an agent reading this, follow these steps in order. The user should not need to run any commands.
mcporter call xpoz.checkAccessKeyStatus
hasAccessKey: true → STOP. Xpoz is ready. Return to the skill that sent you here.false, or the server isn't configured → continue.which mcporter
If not found, stop and inform the user. mcporter is included with OpenClaw — if it's missing, the OpenClaw installation may be incomplete. Do not install mcporter independently. Tell the user:
> "mcporter is required but not found. It's included with OpenClaw — please ensure OpenClaw is properly installed."
mcporter config add xpoz https://mcp.xpoz.ai/mcp --auth oauth
This registers Xpoz as a remote HTTP MCP server with OAuth authentication. mcporter auto-discovers the OAuth endpoints from https://mcp.xpoz.ai/.well-known/oauth-authorization-server.
If the server already exists but auth failed, skip this step.
Determine whether you're running on a local machine with a browser or a remote/headless server:
# Check for display server (Linux) or macOS
echo "DISPLAY=${DISPLAY:-unset} WAYLAND=${WAYLAND_DISPLAY:-unset} OS=$(uname)"
Local machine = any of these is true:
$DISPLAY is set (Linux with X11)$WAYLAND_DISPLAY is set (Linux with Wayland)uname returns Darwin (macOS)Remote/headless = none of the above.
Then follow the appropriate flow:
---
mcporter config login xpoz
mcporter opens the user's default browser, the user authorizes, the callback completes automatically. Tell the user:
> "I'm connecting you to Xpoz for social media intelligence. A browser window should open — just sign in with your Google account and click Authorize. That's all you need to do!"
Then skip to Step 5.
---
On a headless server, mcporter config login xpoz will crash trying to open a browser. Instead, handle the OAuth flow manually:
Run this script to generate the OAuth authorization URL with PKCE:
bash "$(dirname "$0")/../xpoz-setup/scripts/oauth-remote.sh" get-url
Or if the script isn't available, build it manually:
import secrets, hashlib, base64, urllib.parse, os
os.makedirs(os.path.expanduser('~/.cache/xpoz-oauth'), exist_ok=True)
# Generate PKCE
verifier = secrets.token_urlsafe(64)
challenge = base64.urlsafe_b64encode(hashlib.sha256(verifier.encode()).digest()).rstrip(b'=').decode()
state = secrets.token_urlsafe(32)
params = {
'response_type': 'code',
'code_challenge': challenge,
'code_challenge_method': 'S256',
'redirect_uri': 'https://www.xpoz.ai/oauth/openclaw',
'state': state,
'scope': 'mcp:tools',
'resource': 'https://mcp.xpoz.ai/',
}
# Step 1: Dynamic client registration
import json, urllib.request
reg_req = urllib.request.Request(
'https://mcp.xpoz.ai/oauth/register',
data=json.dumps({
'client_name': 'OpenClaw Agent',
'redirect_uris': ['https://www.xpoz.ai/oauth/openclaw'],
'grant_types': ['authorization_code'],
'response_types': ['code'],
'token_endpoint_auth_method': 'none',
}).encode(),
headers={'Content-Type': 'application/json'},
)
reg_resp = json.loads(urllib.request.urlopen(reg_req).read())
params['client_id'] = reg_resp['client_id']
auth_url = 'https://mcp.xpoz.ai/oauth/authorize?' + urllib.parse.urlencode(params)
# Save state for later token exchange
with open(os.path.expanduser('~/.cache/xpoz-oauth/state.json'), 'w') as f:
json.dump({'verifier': verifier, 'state': state, 'client_id': reg_resp['client_id'], 'redirect_uri': params['redirect_uri']}, f)
print(auth_url)
Send the authorization URL to the user via the active chat channel with a message like:
> "I need to connect to Xpoz for social media search. Please open this link and sign in with your Google account: > > [authorization URL] > > After you authorize, Xpoz will show you an authorization code. Just paste it back to me here!"
STOP here and wait. Do not proceed until the user replies with the authorization code. The user needs time to open the link, sign in, and authorize. Only continue once they paste the code back in chat.
The user will paste back either:
AUTH_CODE_HEREhttps://www.xpoz.ai/oauth/openclaw?code=AUTH_CODE_HERE&state=...If they pasted a URL, extract the code parameter. If they pasted a raw string, use it directly.
Run the exchange script with the code. This exchanges the code for a token and configures mcporter in one step — the token is never printed or exposed:
bash "$(dirname "$0")/../xpoz-setup/scripts/oauth-remote.sh" exchange AUTH_CODE_HERE
Expected output: OK: Xpoz configured successfully
Security notes:
~/.cache/xpoz-oauth/state.json) is automatically deleted after exchangeThen proceed to Step 5 to verify.
---
mcporter call xpoz.checkAccessKeyStatus
Confirm hasAccessKey: true. If not:
mcporter config login xpozSetup is complete. Go back to the skill that referenced this one and continue fulfilling the user's request. Don't make the user wait — they asked you to do something, auth was just a prerequisite.
---
Xpoz is a remote MCP server for social media intelligence:
Free tier available — no credit card required.
Website: xpoz.ai
---
Xpoz publishes a standard OAuth 2.1 authorization server metadata document:
GET https://mcp.xpoz.ai/.well-known/oauth-authorization-server
Key endpoints:
https://mcp.xpoz.ai/oauth/authorizehttps://mcp.xpoz.ai/oauth/tokenhttps://mcp.xpoz.ai/oauth/registertoken_endpoint_auth_methods_supported includes none...
安装 Xpoz Setup 后,可以对 AI 说这些话来触发它
Help me get started with Xpoz Setup
Explains what Xpoz Setup does, walks through the setup, and runs a quick demo based on your current project
Use Xpoz Setup to set up and authenticate the Xpoz MCP server for social media intell...
Invokes Xpoz Setup with the right parameters and returns the result directly in the conversation
What can I do with Xpoz Setup in my developer & devops workflow?
Lists the top use cases for Xpoz Setup, with example commands for each scenario
将技能文件夹放到 ~/.claude/skills/xpoz-setup/ 目录(个人级,所有项目可用),或 .claude/skills/xpoz-setup/(项目级)。重启 AI 客户端后,用 /xpoz-setup 主动调用,或让 AI 根据上下文自动发现并使用。
Xpoz Setup 支持 Claude、Cursor、OpenClaw,可与这些 AI 平台无缝集成,扩展其能力。
Xpoz Setup 可免费安装使用。请查阅仓库了解许可证信息。
Set up and authenticate the Xpoz MCP server for social media intelligence. Required by all Xpoz skills. Handles server configuration, OAuth login, and connection verification with minimal user interaction.
Xpoz Setup 属于「Developer & DevOps」分类,该分类的技能帮助 AI 智能体在此领域执行专业任务。
Automate my developer & devops tasks using Xpoz Setup
Identifies repetitive steps in your workflow and sets up Xpoz Setup to handle them automatically