使用说明
Polymarket MCP聊天模板
使用Claude AI和Polymarket的实时市场数据构建人工智能驱动的预测市场应用程序。此模板演示了如何创建市场分析工具、交易助手、事件结果分析器和教育平台,使预测市场更容易访问。
你能建造什么
此模板向您展示了如何利用Polymarket的预测市场和Claude AI来构建:
- 市场分析工具:实时分析预测市场趋势、交易量模式和概率变化
- 交易助理:人工智能驱动的工具,帮助用户发现相关市场、比较结果和分析交易机会
- 事件结果分析器:通过预测市场的视角跟踪和分析现实世界的事件
- 教育平台:使预测市场对新来者来说是可访问和可理解的
- 自定义研究工具:查询市场数据,分析趋势,发现数千个预测市场的见解
运作原理
此模板集成了三个强大的组件:
- Polymarket MCP服务器 (通过Smithery):为Claude提供对Polymarket预测市场的实时访问,包括市场搜索、事件跟踪、交易数据和趋势分析
- 克劳德·艾 (Anthropic):支持智能对话和市场分析工具的使用
- 聊天界面:一个干净、现代的用户界面,用于与人工智能驱动的市场工具进行交互
该架构使用模型上下文协议(MCP)将Claude连接到Polymarket的API,使Claude能够实时搜索市场、分析事件、跟踪趋势并回答有关预测市场的问题。
快速开始
先决条件
- 包子 安装在您的计算机上
- 无烟煤API键
- Smithery账户 (免费,适用于MCP服务器OAuth)
1.克隆和安装
# Clone the repository
git clone <your-repo-url>
cd demo/chatbot-ui
# Install frontend dependencies
cd frontend
bun install
# Install backend dependencies
cd ../backend
bun install
2.配置环境变量
创建一个 .env 文件在 backend 目录:
cd backend
cp .env.example .env
编辑 .env 使用API密钥:
ANTHROPIC_API_KEY=your_anthropic_api_key_here
POLYMARKET_MCP_URL=https://server.smithery.ai/@aryankeluskar/polymarket-mcp/mcp
PORT=3001
3.启动应用程序
终端1-后端:
cd backend
bun run dev
2号航站楼-前端:
cd frontend
bun run dev
申请将于 http://localhost:5173
4.完成OAuth身份验证(仅限首次)
第一次运行时,您需要向Smithery进行身份验证:
- 后端将向控制台打印OAuth URL
- 在浏览器中打开URL,然后单击“批准”
- 您将被重定向回来,令牌将被保存
- 服务器将自动重新连接身份验证
第一次之后,令牌将保存到 .oauth-tokens.json 并且认证是自动的。
尝试以下示例查询
跑步后,试着问克劳德:
- “现在的市场趋势是什么?”
- “向我展示2024年美国大选的预测市场”
- “(特定事件)的当前概率是多少?”
- “查找过去24小时内交易量大的市场”
- “比较[结果A]和[结果B]之间的赔率”
- “分析政治中最受欢迎的市场”
架构概述
后端(/backend)
Node.js后端将Claude AI连接到Polymarket MCP服务器:
关键文件:
src/index.ts:具有Claude集成和工具调用循环的主服务器src/oauth-provider.ts:使用Smithery处理OAuth身份验证package.json:依赖关系和脚本
工作原理:
- 使用OAuth连接到Polymarket MCP服务器
- 发现可用工具(搜索市场、获取市场、分析市场等)
- 通过WebSocket接收用户消息
- 使用可用的MCP工具向Claude发送消息
- 当Claude需要市场数据时,处理工具调用循环
- 将响应流式传输回前端
前端(/frontend)
带有WebSocket连接的React+TypeScript聊天界面:
关键文件:
src/App.tsx:主要聊天组件src/components/:可重复使用的UI组件src/hooks/:WebSocket连接逻辑
MCP服务器集成
模板使用 Polymarket MCP服务器 它提供了7个强大的工具:
| 工具 | 说明 |
|---|---|
search_markets |
使用筛选器通过文本查询搜索市场 |
get_market |
获取特定市场的详细信息 |
search_events |
搜索包含多个市场的活动 |
get_event |
获取所有市场的详细活动信息 |
list_tags |
列出所有可用的市场标签/类别 |
get_trades |
获取市场的最新交易数据 |
analyze_market |
分析市场趋势、交易量和概率变化 |
根据您的用例进行定制
1.更改AI模型
编辑 backend/src/index.ts 使用不同的克劳德模型:
const response = await anthropic.messages.create({
model: "claude-opus-4-5", // or "claude-sonnet-4-5", "claude-haiku-4-5"
max_tokens: 4096,
messages,
tools: availableTools,
});
2.添加自定义系统提示
在中添加特定于域的说明 backend/src/index.ts:230:
const response = await anthropic.messages.create({
model: "claude-haiku-4-5",
max_tokens: 4096,
system: "You are a Polymarket trading assistant. Help users find profitable trading opportunities and analyze market trends with a focus on risk management.",
messages,
tools: availableTools,
});
3.使用MCP资源预加载上下文
Polymarket MCP为趋势市场、类别和特色活动提供资源:
// In backend/src/index.ts, after MCP connection:
const trendingMarkets = await mcpClient.readResource({
uri: "polymarket://trending"
});
// Add to system prompt or first message
4.构建专用工具
示例:创建一个监控特定市场的“市场警报”系统:
// Add to backend/src/index.ts
async function monitorMarket(marketId: string, threshold: number) {
const market = await mcpClient.callTool({
name: "get_market",
arguments: { market_id: marketId }
});
// Check if probability crossed threshold
// Send notification to user via WebSocket
}
5.自定义用户界面
前端完全可定制:
- 修改
frontend/src/App.tsx用于布局更改 - 更新
frontend/src/components/用于UI组件 - 为市场数据添加图表/可视化
- 为市场结果实施自定义格式
示例:构建市场扫描器
以下是如何修改此模板以构建市场扫描器:
- 添加系统提示 专注于寻找大批量市场
- 预加载趋势市场 使用
polymarket://trending资源 - 添加UI过滤器 在市场类别的前端
- 实现自动刷新 定期检查新市场
- 添加可视化 使用图表库显示概率变化
环境变量引用
| 变量 | 必填 | 描述 |
|---|---|---|
ANTHROPIC_API_KEY |
是 | Claude的Anthropic API密钥 |
POLYMARKET_MCP_URL |
是 | Smithery MCP服务器URL |
PORT |
否 | 后端服务器端口(默认:3001) |
故障排除
OAuth身份验证问题
如果你看到 401 Unauthorized 错误:
- 删除
.oauth-tokens.json - 重新启动后端
- 再次完成OAuth流程
WebSocket连接失败
- 确保后端在正确的端口上运行
- 检查一下
VITE_WS_URL前端匹配后端端口 - 验证防火墙设置是否允许WebSocket连接
工具调用错误
如果克劳德不能使用工具:
- 验证MCP服务器URL是否正确
- 检查OAuth身份验证是否成功完成
- 查看后端日志中的MCP连接错误
部署
后端部署
后端可以部署到任何Node.js托管平台:
cd backend
bun run build
bun run start
更新托管平台上的环境变量。
前端部署
构建和部署前端:
cd frontend
bun run build
# Deploy the 'dist' folder to your static hosting (Vercel, Netlify, etc.)
更新 VITE_WS_URL 指向您部署的后端。
项目结构
demo/chatbot-ui/
├── frontend/ # React chat interface
│ ├── src/
│ │ ├── App.tsx # Main chat component
│ │ ├── components/ # UI components
│ │ └── hooks/ # WebSocket hooks
│ └── package.json
├── backend/ # Node.js server
│ ├── src/
│ │ ├── index.ts # Main server + Claude integration
│ │ └── oauth-provider.ts # OAuth handling
│ ├── .env # Configuration (create this)
│ └── package.json
├── QUICK_START.md # 5-minute setup guide
└── DEMO_README.md # Detailed tutorial
了解更多
用例库
市场分析仪表板
同时监控多个市场,并获得人工智能对概率变化和交易量模式的见解。
事件跟踪器
通过预测市场跟踪现实世界的事件——选举、体育、加密、技术公告等。
交易助手
获得帮助,发现相关市场,了解概率,分析潜在交易。
教育工具
通过解释概念和解释市场数据的对话式人工智能了解预测市场。
鸣谢
此模板是使用以下方法构建的:
- 原始聊天界面由 Leon Binder 和 Christoph 手套
- WebSocket重构 GBG7
- 网络搜索贡献者 卡米利亚K
- 一些组件的灵感来自 Vercel的人工智能聊天机器人
- Aryan Keluskar的Polymarket MCP集成和后端
许可证
此项目根据Apache许可证2.0获得许可。