返回市场
预测市场MCP

预测市场MCP

作者:JamesANZ14 星标更新:2025-11-01

项目介绍

prediction-markets-mcp

信任评分

这是一个提供来自多个平台的实时预测市场数据的模型上下文协议(MCP)服务器。该服务器允许您通过统一接口查询当前赔率、价格和市场信息。

<a href="https://glama.ai/mcp/servers/@JamesANZ/prediction-market-mcp"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=2177938813,1649226948&fm=3081&app=3081&f=PNG?w=760&h=400" alt="prediction-market-mcp MCP服务器" /> </a>

支持的平台

  • Polymarket - 基于加密货币的百分比赔率预测市场
  • PredictIt - 基于美元价格的传统预测市场
  • Kalshi - 受监管的美国预测市场

特性

  • 多平台支持:查询加密货币和传统预测市场
  • 实时数据:获取来自实时市场的当前赔率和价格
  • 关键词搜索:按特定关键词或主题过滤市场
  • 统一接口:不同平台间一致的数据格式
  • 错误处理:优雅地处理API失败和网络问题
  • 类型安全:全面的TypeScript支持及类型定义

安装

预备条件

  • Node.js(v18或更高版本)
  • npm 或 yarn

设置

  1. 克隆仓库:
git clone <repository-url>
cd prediction-markets-mcp
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

使用方法

运行服务器

启动MCP服务器:

node build/index.js

服务器运行在标准I/O上,并可与兼容MCP的客户端集成。

API端点

服务器提供了一个工具:get-prediction-markets

参数

  • keyword (字符串,必需):用于过滤市场的搜索词
    • 最大长度:50个字符
    • 示例:"trump","election","supreme court"

示例查询

// 搜索与特朗普相关的市场
{
  "keyword": "trump"
}

// 搜索选举市场
{
  "keyword": "election"
}

// 搜索最高法院市场
{
  "keyword": "supreme court"
}

响应格式

服务器以以下格式返回预测市场数据:

Polymarket市场

**Polymarket: 特朗普能否赢得2024年总统选举?**
是:45.2% | 否:54.8%

PredictIt市场

**PredictIt: 2025年弗吉尼亚州长选举哪个政党会获胜?**
民主党:89.0% | 共和党:11.0%

数据来源

Polymarket API

  • 基础URLhttps://clob.polymarket.com/markets
  • 格式:JSON
  • 赔率显示:百分比(例如,65.2%)
  • 数据:市场问题、活动状态、代币价格

PredictIt API

  • 基础URLhttps://www.predictit.org/api/marketdata/all/
  • 格式:JSON
  • 赔率显示:美元金额(例如,$0.65)
  • 数据:市场名称、合约、交易价格、状态

开发

项目结构

prediction-markets-mcp/
├── src/
│   └── index.ts          # 主服务器实现
├── build/                # 编译后的JavaScript输出
├── package.json          # 依赖项和脚本
├── tsconfig.json         # TypeScript配置
└── README.md            # 本文件

关键组件

类型定义

// Polymarket类型
type Market = {
  question: string;
  active: boolean;
  archived: boolean;
  tokens: Token[];
};

// PredictIt类型
type PredictItMarket = {
  id: number;
  name: string;
  shortName: string;
  contracts: PredictItContract[];
  status: string;
};

核心函数

  • getPolymarketPredictionData():获取并处理Polymarket数据
  • getPredictItMarkets():获取所有PredictIt市场
  • makeApiRequest():处理带有适当头信息的HTTP请求

构建

# 开发构建
npm run build

# 监视模式(如有需要)
npm run dev

测试

要手动测试服务器:

  1. 启动服务器:
node build/index.js
  1. 通过MCP客户端发送测试请求或直接测试API端点。

故障排除

常见问题

未找到市场

  • 原因:关键词太具体或没有匹配的市场
  • 解决方案:尝试更广泛的关键词或检查市场可用性
  • 示例:使用“选举”而不是“特定候选人姓名”

开发设置

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 如适用添加测试
  5. 提交拉取请求

代码风格

  • 对所有新代码使用TypeScript
  • 遵循现有的命名约定
  • 对公共函数添加JSDoc注释
  • 在提交前确保所有构建都通过

许可证

MIT许可证 - 查看LICENSE文件了解详情

支持

对于问题和疑问:

  1. 查看故障排除部分
  2. 查阅现有GitHub问题
  3. 使用详细信息创建新问题