返回市场
多元市场-MCP

多元市场-MCP

作者:guangxiangdebizi3 星标更新:2025-07-29

项目介绍

Polymarket MCP Server

License TypeScript MCP

这是一个全面的模型上下文协议(MCP)服务器,用于与世界上最大的预测市场平台Polymarket进行交互。该服务器提供了对Polymarket API的无缝访问,使AI助手能够检索市场数据、用户仓位、交易历史等信息。

🚀 特性

市场数据

  • 获取市场:通过过滤和分页检索预测市场
  • 获取事件:访问包含多个相关市场的事件数据
  • 市场价格:实时和历史价格数据及技术分析
  • 订单簿:实时买卖数据及市场深度分析

交易与活动

  • 交易历史:综合交易数据及统计
  • 用户仓位:投资组合跟踪及盈亏计算
  • 用户活动:链上活动包括交易、拆分、合并及奖励
  • 市场持有者:所有权分布及集中度分析

高级分析

  • 流动性分析及市场深度
  • 价格趋势分析及波动指标
  • 投资组合表现跟踪
  • 市场集中度及分布洞察

📦 安装

先决条件

  • Node.js 18+
  • TypeScript 5.3+
  • npm 或 yarn

设置

  1. 克隆仓库

    git clone <repository-url>
    cd polymarket-mcp
    
  2. 安装依赖

    npm install
    
  3. 构建项目

    npm run build
    
  4. 启动服务器

    npm start
    

🔧 配置

Claude Desktop 集成

方法1:Stdio 模式(推荐用于开发)

在你的 Claude Desktop 配置文件中添加:

Windows: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "polymarket-mcp": {
      "command": "node",
      "args": ["path/to/polymarket-mcp/build/index.js"]
    }
  }
}

方法2:SSE 模式(推荐用于生产)

  1. 安装 Supergateway

    npm install -g supergateway
    
  2. 启动 SSE 服务器

    npm run sse
    
  3. 配置 Claude Desktop

    {
      "mcpServers": {
        "polymarket-mcp": {
          "type": "sse",
          "url": "http://localhost:3100/sse",
          "timeout": 600
        }
      }
    }
    

🛠️ 可用工具

1. 获取市场

get_markets({
  limit?: number,           // 最大结果数(默认:20,最大:100)
  offset?: number,          // 分页偏移量
  active?: boolean,         // 根据活跃状态筛选
  search?: string,          // 根据标题/描述搜索
  order?: string,           // 排序依据:volume, liquidity, start_date, end_date
  liquidity_min?: number,   // 最小流动性阈值
  volume_min?: number       // 最小成交量阈值
})

2. 获取事件

get_events({
  limit?: number,           // 最大结果数(默认:20,最大:100)
  offset?: number,          // 分页偏移量
  active?: boolean,         // 根据活跃状态筛选
  search?: string,          // 根据标题/描述搜索
  order?: string            // 排序依据:volume, liquidity, start_date, end_date
})

3. 获取用户仓位

get_user_positions({
  user_address: string,     // 必填:用户的钱包地址
  limit?: number,           // 最大结果数(默认:50,最大:100)
  market_id?: string,       // 根据特定市场筛选
  min_size?: number,        // 最小仓位大小
  show_zero_positions?: boolean // 包括零仓位
})

4. 获取用户活动

get_user_activity({
  user_address: string,     // 必填:用户的钱包地址
  limit?: number,           // 最大结果数(默认:50,最大:100)
  activity_type?: string,   // 活动类型:TRADE, SPLIT, MERGE, REDEEM, REWARD, CONVERSION
  side?: string,            // 买卖方向(针对交易):BUY 或 SELL
  start_date?: string,      // ISO 8601 日期格式
  end_date?: string         // ISO 8601 日期格式
})

5. 获取市场价格

get_market_prices({
  market_id?: string,       // 市场ID(如果未指定token_id则必填)
  token_id?: string,        // Token ID(如果未指定market_id则必填)
  interval?: string,        // 时间间隔:1m, 5m, 1h, 1d(默认:1h)
  fidelity?: number,        // 价格点数量(默认:100,最大:1000)
  include_orderbook?: boolean // 包括当前订单簿
})

6. 获取交易

get_trades({
  limit?: number,           // 最大结果数(默认:50,最大:100)
  market_id?: string,       // 根据市场筛选
  user_address?: string,    // 根据用户筛选
  side?: string,            // 买卖方向:BUY 或 SELL
  min_size?: number,        // 最小交易规模
  start_date?: string,      // ISO 8601 日期格式
  end_date?: string         // ISO 8601 日期格式
})

7. 获取订单簿

get_order_book({
  market_id?: string,       // 市场ID(如果未指定token_id则必填)
  token_id?: string,        // Token ID(如果未指定market_id则必填)
  depth?: number,           // 显示的价格层级(默认:10,最大:50)
  include_spread_analysis?: boolean,   // 包括价差分析
  include_liquidity_analysis?: boolean // 包括流动性分析
})

8. 获取市场持有者

get_market_holders({
  market_id?: string,       // 市场ID(如果未指定token_id则必填)
  token_id?: string,        // Token ID(如果未指定market_id则必填)
  limit?: number,           // 最大结果数(默认:50,最大:100)
  min_balance?: number,     // 最小余额阈值
  include_user_info?: boolean // 包括用户资料
})

📊 示例用法

获取活跃市场

显示前10个最流动的活跃预测市场

分析用户投资组合

获取钱包地址0x1234...的仓位,并展示盈亏分析

市场分析

获取市场ID abc123 的订单簿并包含流动性分析

交易历史

显示市场xyz789的最近交易,成交量超过1000股

🏗️ 架构

src/
├── index.ts              # MCP服务器入口点
├── lib/
│   └── polymarketClient.ts # Polymarket API客户端
└── tools/                # 业务逻辑工具
    ├── getMarkets.ts
    ├── getEvents.ts
    ├── getUserPositions.ts
    ├── getUserActivity.ts
    ├── getMarketPrices.ts
    ├── getTrades.ts
    ├── getOrderBook.ts
    └── getMarketHolders.ts

🔗 API 覆盖范围

此MCP服务器集成了多项Polymarket API:

  • Gamma Markets API:市场数据和元数据
  • CLOB API:订单簿和交易数据
  • Data API:用户仓位、活动及分析

🤝 贡献

欢迎贡献!请随意提交Pull Request。

📄 许可证

本项目根据Apache许可证2.0发布 - 详情见LICENSE文件。

👨‍💻 作者

陈星宇

🙏 致谢


为预测市场生态系统而建 ❤️