返回 MCP 目录
public公开dns本地运行

prediction-market-mcp

一个提供多平台预测市场实时数据的MCP服务器,支持Polymarket、PredictIt和Kalshi等平台,通过统一接口查询赔率、价格和市场信息

article

README

🚀 预测市场MCP

预测市场MCP(Model Context Protocol)服务器,可从多个平台提供实时的预测市场数据。该服务器允许你通过统一接口查询预测市场的当前赔率、价格和市场信息。

信任评分

🚀 快速开始

预测市场MCP服务器能让你轻松从多个平台获取实时预测市场数据。只需按照以下步骤操作,即可快速搭建并使用该服务器。

✨ 主要特性

  • 多平台支持:可查询加密货币和传统预测市场。
  • 实时数据:从活跃市场获取当前赔率和价格。
  • 关键词搜索:通过特定关键词或主题过滤市场。
  • 统一接口:不同平台的数据格式一致。
  • 错误处理:优雅处理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

服务器在标准输入输出上运行,可与兼容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端点。

故障排除

常见问题

未找到市场
  • 原因:关键词过于具体或没有匹配的市场
  • 解决方案:尝试更宽泛的关键词或检查市场可用性
  • 示例:使用 "election" 代替 "特定候选人姓名"

开发设置

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

代码风格

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

📄 许可证

本项目采用MIT许可证,详情请参阅 LICENSE 文件。

支持

如果你遇到问题或有疑问:

  1. 查看故障排除部分
  2. 查看现有的GitHub问题
  3. 创建一个包含详细信息的新问题
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端