Xpoz Setup技能使用说明
Xpoz 设置
为 Xpoz —— 社交智能平台 —— 自动设置 MCP 服务器并进行身份验证。
此技能是所有 Xpoz 技能的先决条件。它配置 Xpoz MCP 服务器并处理 OAuth 登录,以便您的智能体可以访问 Twitter、Instagram、TikTok 和 Reddit 的数据。

智能体指令
如果您是阅读此内容的智能体,请按顺序执行以下步骤。用户不应需要运行任何命令。
步骤 1:检查是否已通过身份验证
mcporter call xpoz.checkAccessKeyStatus
- 如果
hasAccessKey: true→停止。Xpoz 已准备就绪。返回将您引导至此的技能。 - 如果失败、返回
false,或服务器未配置 → 继续。
步骤 2:检查 mcporter 是否可用
which mcporter
如果未找到,停止并通知用户。mcporter 已包含在 OpenClaw 中 —— 如果缺失,则 OpenClaw 安装可能不完整。请勿独立安装 mcporter。告知用户:
"需要mcporter但未找到。它包含在OpenClaw中——请确保OpenClaw已正确安装。"
步骤3:添加Xpoz MCP服务器
mcporter config add xpoz https://mcp.xpoz.ai/mcp --auth oauth
此操作将Xpoz注册为带有OAuth认证的远程HTTP MCP服务器。mcporter会自动从https://mcp.xpoz.ai/.well-known/oauth-authorization-server发现OAuth端点。
如果服务器已存在但认证失败,请跳过此步骤。
步骤4:检测环境(本地与远程)
确定您是在带浏览器的本地机器上运行,还是在远程/无头服务器上运行:
# Check for display server (Linux) or macOS
echo "DISPLAY=${DISPLAY:-unset} WAYLAND=${WAYLAND_DISPLAY:-unset} OS=$(uname)"
本地机器= 满足以下任一条件:
$DISPLAY已设置(使用X11的Linux系统)$WAYLAND_DISPLAY已设置(使用Wayland的Linux系统)uname返回Darwin(macOS系统)
远程/无头= 以上条件均不满足。
然后按照相应的流程操作:
步骤 4a:本地 —— 浏览器流程(自动)
mcporter config login xpoz
mcporter 会打开用户的默认浏览器,用户授权后,回调自动完成。告诉用户:
"我正在为您连接到 Xpoz,以获取社交媒体智能分析。浏览器窗口应该会打开 —— 只需使用您的谷歌账户登录并点击'授权'。这就是您需要做的全部操作!"
然后跳转到步骤 5。
步骤 4b:远程 —— 手动代码流程
在无头服务器上,运行 `mcporter config login xpoz`会因尝试打开浏览器而崩溃。此时,请手动处理 OAuth 流程:
4b-i. 构建授权 URL
运行此脚本以生成带有 PKCE 的 OAuth 授权 URL:
bash "$(dirname "$0")/../xpoz-setup/scripts/oauth-remote.sh" get-url
或者,如果脚本不可用,请手动构建:
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)
4b-ii. 将 URL 发送给用户
通过活跃的聊天频道将授权 URL 发送给用户,并附带如下消息:
"我需要连接到 Xpoz 以进行社交媒体搜索。请打开此链接并使用您的谷歌账户登录:"
[授权网址]
授权后,Xpoz会显示一个授权码。只需将其粘贴回这里给我!"
4b-iii. 等待用户回复
在此处停止并等待。在用户回复授权码之前不要继续。用户需要时间打开链接、登录并授权。只有当他们将代码粘贴回聊天中时才能继续。
4b-iv. 从用户回复中提取代码
用户将粘贴回以下内容之一:
- 仅代码:
AUTH_CODE_HERE - 或完整网址:
https://www.xpoz.ai/oauth/openclaw?code=AUTH_CODE_HERE&state=...
如果他们粘贴了网址,提取code参数。如果他们粘贴了原始字符串,直接使用它。
4b-v. 交换代码并配置 mcporter
使用该代码运行交换脚本。这将交换代码以获取令牌并配置 mcporter一步完成——令牌永远不会被打印或暴露:
bash "$(dirname "$0")/../xpoz-setup/scripts/oauth-remote.sh" exchange AUTH_CODE_HERE
预期输出:OK: Xpoz配置成功
安全注意事项:
- 访问令牌永远不会打印到标准输出或日志
- OAuth状态文件(
~/.cache/xpoz-oauth/state.json)在交换后会自动删除 - 令牌仅存储在mcporter配置中
然后继续到步骤5进行验证。
步骤5:验证身份验证
mcporter call xpoz.checkAccessKeyStatus
确认hasAccessKey: true。如果不是:
- 本地:重试
mcporter config login xpoz - 远程:询问用户是否完成了授权,如果需要则重新发送链接
步骤6:返回调用技能
设置完成。请返回调用此技能的技能,继续完成用户的请求。不要让用户等待——他们要求你执行某项操作,身份验证只是前提条件。
什么是 Xpoz?
Xpoz 是一个用于社交媒体情报的远程 MCP 服务器:
- 平台:Twitter、Instagram、TikTok、Reddit
- 规模:已索引超过 15 亿条帖子
- 功能:按关键词搜索帖子、按主题查找用户、个人资料查询、互动过滤、CSV 导出
- 身份验证:OAuth 2.1 配合动态客户端注册(PKCE,公共客户端)
- 设置:完全远程——无需 npm 包、无需本地安装、无需复制 API 密钥
提供免费套餐——无需信用卡。
网站:xpoz.ai
技术细节
OAuth 发现
Xpoz 发布了一个标准的 OAuth 2.1 授权服务器元数据文档:
GET https://mcp.xpoz.ai/.well-known/oauth-authorization-server
关键端点:
- 授权:
https://mcp.xpoz.ai/oauth/authorize - 令牌:
https://mcp.xpoz.ai/oauth/token - 动态注册:
https://mcp.xpoz.ai/oauth/register - PKCE:支持 S256
- 公共客户端:
token_endpoint_auth_methods_supported包含none
mcporter 会自动处理所有这些——您无需直接调用这些端点。
服务器配置
设置完成后,mcporter 配置将包含:
{
"xpoz": {
"transport": "http",
"url": "https://mcp.xpoz.ai/mcp"
}
}
OAuth 令牌由 mcporter 单独管理,与服务器配置分开。
故障排除
| 问题 | 解决方案 |
|---|---|
mcporter未找到 | 确保正确安装OpenClaw(包含mcporter) |
| 浏览器未打开 | 无头服务器 — 从标准输出捕获URL并发送给用户 |
| 登录后显示“未授权” | mcporter config login xpoz --reset |
| 认证超时 | 用户可能未完成浏览器流程 — 重新发送URL |
| 服务器已存在 | 跳过步骤3,直接运行步骤4 |
方案与定价
| 方案 | 价格 | 包含内容 |
|---|---|---|
| 免费版 | $0/月 | 有限次搜索,支持所有平台 |
| 专业版 | $20/月 | 无限次搜索 |
| 旗舰版 | $200/月 | 无限次 + 优先处理 + 批量导出 |
详情:xpoz.ai
专为ClawHub打造 • 所有Xpoz技能的先决条件


微信扫一扫,打赏作者吧~