完整的AI驱动交易平台用于Polymarket预测市场
启用Claude自主进行交易、分析和管理在Polymarket上的仓位,提供45种全面工具、实时WebSocket监控以及企业级安全特性。
与以下团队合作开发:
由 Claude Code 提供支持
新功能:使用现代网页界面管理和监控您的Polymarket MCP服务器!
# 启动网页仪表板
polymarket-web
# 或使用快速启动脚本
./start_web_dashboard.sh
参见 WEB_DASHBOARD.md 获取完整文档。
首先尝试DEMO模式(无需钱包):
# macOS/Linux
curl -sSL https://raw.githubusercontent.com/caiovicentino/polymarket-mcp-server/main/quickstart.sh | bash
# 或克隆并本地运行
git clone https://github.com/caiovicentino/polymarket-mcp-server.git
cd polymarket-mcp-server
./quickstart.sh
完整安装(带交易):
# macOS/Linux
./install.sh
# Windows
install.bat
自动安装程序会:
| 方法 | 命令 | 最佳用途 |
|---|---|---|
| 快速开始 | ./quickstart.sh | 初次用户,测试 |
| DEMO模式 | ./install.sh --demo | 无需钱包,只读访问 |
| 完整安装 | ./install.sh | 生产交易设置 |
| Windows | install.bat | Windows用户 |
DEMO模式(无需钱包):
完整模式(需要Polygon钱包):
如果您更喜欢手动设置:
# 克隆仓库
git clone https://github.com/caiovicentino/polymarket-mcp-server.git
cd polymarket-mcp-server
# 创建虚拟环境
python -m venv venv
source venv/bin/activate # 在Windows中:venv\Scripts\activate
# 安装包
pip install -e .
选项1:DEMO模式(最简单)
cp .env.example .env
# 编辑.env并设置:
DEMO_MODE=true
选项2:完整交易模式
cp .env.example .env
# 使用您的Polygon钱包凭证编辑
nano .env
所需凭证(完整模式):
POLYGON_PRIVATE_KEY=您的私钥(不带0x前缀)
POLYGON_ADDRESS=0x您的Polygon地址
推荐的安全限制:
MAX_ORDER_SIZE_USD=1000
MAX_TOTAL_EXPOSURE_USD=5000
MAX_POSITION_SIZE_PER_MARKET=2000
MIN_LIQUIDITY_REQUIRED=10000
MAX_SPREAD_TOLERANCE=0.05
ENABLE_AUTONOMOUS_TRADING=true
REQUIRE_CONFIRMATION_ABOVE_USD=500
添加到您的Claude Desktop配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"polymarket": {
"command": "/path/to/your/venv/bin/python",
"args": ["-m", "polymarket_mcp.server"],
"cwd": "/path/to/polymarket-mcp-server",
"env": {
"POLYGON_PRIVATE_KEY": "您的私钥",
"POLYGON_ADDRESS": "0x您的地址"
}
}
}
}
重启Claude Desktop,您就可以开始交易了!🎉
┌─────────────────────────────────────────────────────────────┐
│ POLYMARKET MCP SERVER │
└─────────────────────────────────────────────────────────────┘
┌──────────────┐
│ Claude │
│ Desktop │ (自然语言接口)
└──────┬───────┘
│ MCP协议
▼
┌──────────────────────────────────────────────┐
│ MCP服务器(Python) │
├──────────────────────────────────────────────┤
│ ┌────────────┐ ┌──────────────────────┐ │
│ │ 市场 │ │ 交易引擎 │ │
│ │ 发现 │ │ (12个工具) │ │
│ │ (8个工具)│ │ │ │
│ └────────────┘ └──────────────────────┘ │
│ │
│ ┌────────────┐ ┌──────────────────────┐ │
│ │ 市场 │ │ 投资组合管理器 │ │
│ │ 分析 │ │ (8个工具) │ │
│ │ (10个工具)│ │ │ │
│ └────────────┘ └──────────────────────┘ │
│ │
│ ┌──────────────────────────────────────┐ │
│ │ 实时WebSocket(7个工具) │ │
│ └──────────────────────────────────────┘ │
└──────────────┬───────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ Polymarket基础设施 │
├──────────────────────────────────────────────┤
│ • CLOB API(订单放置与管理) │
│ • Gamma API(市场数据与分析) │
│ • WebSocket(实时价格推送) │
│ • Polygon链(结算与执行) │
└──────────────────────────────────────────────┘
询问Claude:
"显示Polymarket上过去24小时内趋势排名前十的市场"
"查找所有关于比特币的加密货币市场"
"哪些体育市场将在接下来的12小时内关闭?"
"搜索关于特朗普的市场"
"分析政府关门市场的交易机会"
"比较这三个市场,告诉我哪个具有最佳的风险回报比"
"Eagles vs Packers市场的当前价差是多少?"
"显示代币ID xyz的订单簿深度"
"以$0.65的价格购买[市场ID]中的$100 YES代币"
"下单:在[市场]中以$0.40的价格卖出200 NO"
"执行智能交易:在[市场]中使用最佳策略购买YES至多$500"
"取消我在政府关门市场中的所有开放订单"
"将我在[市场]中的仓位重新平衡至$1000,最大滑点2%"
"显示我当前的所有仓位"
"我的总投资组合价值是多少?"
"分析我的投资组合风险并提出改进建议"
"过去30天的盈亏是多少?"
"哪些是我表现最好和最差的市场?"
"为保守策略建议投资组合优化"
"订阅政府关门市场的价格变化"
"实时监控我的订单状态"
"当Eagles vs Packers市场的变动超过10%时通知我"
"显示代币ID [token_id]的实时订单簿更新"
# 安装开发依赖项
pip install -e ".[dev]"
# 运行所有测试
pytest
# 运行特定测试套件
pytest tests/test_trading_tools.py -v
# 带覆盖率运行
pytest --cov=polymarket_mcp --cov-report=html
# 运行市场分析演示
python demo_mcp_tools.py
注意:所有测试均使用真实的Polymarket API - 无模拟!
MAX_ORDER_SIZE_USD=1000 # 每笔订单最大$1,000
MAX_TOTAL_EXPOSURE_USD=5000 # 总投资组合暴露最大$5,000
MAX_POSITION_SIZE_PER_MARKET=2000 # 每个市场的仓位上限$2,000
MIN_LIQUIDITY_REQUIRED=1_0000 # 最小市场流动性$10,000
MAX_SPREAD_TOLERANCE=0.05 # 最大5%价差
REQUIRE_CONFIRMATION_ABOVE_USD=500 # 确认超过$500的订单
这些可以在您的.env文件或Claude Desktop配置中自定义。
欢迎贡献!我们感谢您帮助改进这个项目。
请阅读 CONTRIBUTING.md 了解详情:
git checkout -b feature/AmazingFeature)git commit -m '添加一些AmazingFeature')git push origin feature/AmazingFeature)