预测市场分析工具

利用Claude AI和Polymarket实时市场数据构建AI驱动的预测市场应用程序,包括市场分析工具、交易助手、事件结果分析器和教育平台。

  • by aryankeluskar
  • TypeScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 aryankeluskar/polymarket-mcp-chatbot

使用说明

Polymarket MCP聊天模板

使用Claude AI和Polymarket的实时市场数据构建人工智能驱动的预测市场应用程序。此模板演示了如何创建市场分析工具、交易助手、事件结果分析器和教育平台,使预测市场更容易访问。

你能建造什么

此模板向您展示了如何利用Polymarket的预测市场和Claude AI来构建:

  • 市场分析工具:实时分析预测市场趋势、交易量模式和概率变化
  • 交易助理:人工智能驱动的工具,帮助用户发现相关市场、比较结果和分析交易机会
  • 事件结果分析器:通过预测市场的视角跟踪和分析现实世界的事件
  • 教育平台:使预测市场对新来者来说是可访问和可理解的
  • 自定义研究工具:查询市场数据,分析趋势,发现数千个预测市场的见解

运作原理

此模板集成了三个强大的组件:

  1. Polymarket MCP服务器 (通过Smithery):为Claude提供对Polymarket预测市场的实时访问,包括市场搜索、事件跟踪、交易数据和趋势分析
  2. 克劳德·艾 (Anthropic):支持智能对话和市场分析工具的使用
  3. 聊天界面:一个干净、现代的用户界面,用于与人工智能驱动的市场工具进行交互

该架构使用模型上下文协议(MCP)将Claude连接到Polymarket的API,使Claude能够实时搜索市场、分析事件、跟踪趋势并回答有关预测市场的问题。

快速开始

先决条件

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进行身份验证:

  1. 后端将向控制台打印OAuth URL
  2. 在浏览器中打开URL,然后单击“批准”
  3. 您将被重定向回来,令牌将被保存
  4. 服务器将自动重新连接身份验证

第一次之后,令牌将保存到 .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:依赖关系和脚本

工作原理:

  1. 使用OAuth连接到Polymarket MCP服务器
  2. 发现可用工具(搜索市场、获取市场、分析市场等)
  3. 通过WebSocket接收用户消息
  4. 使用可用的MCP工具向Claude发送消息
  5. 当Claude需要市场数据时,处理工具调用循环
  6. 将响应流式传输回前端

前端(/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组件
  • 为市场数据添加图表/可视化
  • 为市场结果实施自定义格式

示例:构建市场扫描器

以下是如何修改此模板以构建市场扫描器:

  1. 添加系统提示 专注于寻找大批量市场
  2. 预加载趋势市场 使用 polymarket://trending 资源
  3. 添加UI过滤器 在市场类别的前端
  4. 实现自动刷新 定期检查新市场
  5. 添加可视化 使用图表库显示概率变化

环境变量引用

变量 必填 描述
ANTHROPIC_API_KEY 是 Claude的Anthropic API密钥
POLYMARKET_MCP_URL 是 Smithery MCP服务器URL
PORT 否 后端服务器端口(默认:3001)

故障排除

OAuth身份验证问题

如果你看到 401 Unauthorized 错误:

  1. 删除 .oauth-tokens.json
  2. 重新启动后端
  3. 再次完成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

了解更多

用例库

市场分析仪表板

同时监控多个市场,并获得人工智能对概率变化和交易量模式的见解。

事件跟踪器

通过预测市场跟踪现实世界的事件——选举、体育、加密、技术公告等。

交易助手

获得帮助,发现相关市场,了解概率,分析潜在交易。

教育工具

通过解释概念和解释市场数据的对话式人工智能了解预测市场。

鸣谢

此模板是使用以下方法构建的:

许可证

此项目根据Apache许可证2.0获得许可。