这是一个全面的模型上下文协议(MCP)服务器,用于与世界上最大的预测市场平台Polymarket进行交互。该服务器提供了对Polymarket API的无缝访问,使AI助手能够检索市场数据、用户仓位、交易历史等信息。
克隆仓库
git clone <repository-url>
cd polymarket-mcp
安装依赖
npm install
构建项目
npm run build
启动服务器
npm start
在你的 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"]
}
}
}
安装 Supergateway
npm install -g supergateway
启动 SSE 服务器
npm run sse
配置 Claude Desktop
{
"mcpServers": {
"polymarket-mcp": {
"type": "sse",
"url": "http://localhost:3100/sse",
"timeout": 600
}
}
}
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 // 最小成交量阈值
})
get_events({
limit?: number, // 最大结果数(默认:20,最大:100)
offset?: number, // 分页偏移量
active?: boolean, // 根据活跃状态筛选
search?: string, // 根据标题/描述搜索
order?: string // 排序依据:volume, liquidity, start_date, end_date
})
get_user_positions({
user_address: string, // 必填:用户的钱包地址
limit?: number, // 最大结果数(默认:50,最大:100)
market_id?: string, // 根据特定市场筛选
min_size?: number, // 最小仓位大小
show_zero_positions?: boolean // 包括零仓位
})
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 日期格式
})
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 // 包括当前订单簿
})
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 日期格式
})
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 // 包括流动性分析
})
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
此MCP服务器集成了多项Polymarket API:
欢迎贡献!请随意提交Pull Request。
本项目根据Apache许可证2.0发布 - 详情见LICENSE文件。
陈星宇
为预测市场生态系统而建 ❤️