关于 Polymarket Agent MCP
面向 Polymarket 预测市场交易与分析的 MCP 服务,适用于兼容 MCP 的客户端。提供市场发现、交易、跟单回测、风险管理和组合优化,并默认采用模拟交易模式。
主要功能
- 01搜索并分析预测市场
- 02下单、批量交易和订单管理
- 03发现交易者并回测跟单
- 04管理持仓、止损和止盈
- 05评估风险并优化投资组合
- 06扫描套利机会和智能资金流
适用场景
- 01筛选热门市场并比较行情
- 02分析交易者后回测跟单策略
- 03设置持仓止损并检查风险
- 04查找套利机会并管理组合
MCP 相关
通过 MCP 向 Claude Code、Cursor 等客户端提供 48 种市场发现、分析、交易和组合管理工具。支持 STDIO 与 HTTP;服务按单租户设计,公开部署需配置令牌并限制访问。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y polymarket-agent-mcpCOPY_MODEExecution mode: 'preview' simulates trades in a local SQLite DB (default, safe for inspection); 'live' places real orders on Polymarket and requires all POLY_* credentials.POLY_PRIVATE_KEY密钥Polygon wallet private key used to sign CLOB orders. Required only when COPY_MODE=live. Never logged, persisted, or transmitted outside signed order bodies.POLY_API_KEY密钥Polymarket CLOB API key. Required only when COPY_MODE=live.POLY_API_SECRET密钥Polymarket CLOB API secret. Required only when COPY_MODE=live.POLY_API_PASSPHRASE密钥Polymarket CLOB API passphrase. Required only when COPY_MODE=live.POLY_FUNDER_ADDRESSPolymarket funder wallet address (proxy wallet) used for live trading.DAILY_BUDGETMaximum USDC the agent may spend per day. Used by BudgetManager to cap copy-trading exposure.MIN_CONVICTIONMinimum conviction score (0–100) required before a copy trade is executed.CHAIN_IDEVM chain ID for Polymarket (137 = Polygon mainnet).DB_PATHOptional override for the SQLite database path. Defaults to a package-local file.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Polymarket Agent MCP 服务
通过 AI 交易、分析和自动化 Polymarket 预测市场。
功能最全面的 Polymarket MCP 服务——提供 48 个工具,涵盖直接交易、市场发现、聪明资金追踪、跟单交易、回测、风险管理和投资组合优化。可与 Claude Code、Cursor 或任何兼容 MCP 的客户端配合使用。
工具概览
| 类别 | 数量 | 亮点 |
|---|---|---|
| 发现 | 9 | 搜索、热门趋势、精选、事件、相关市场、聪明资金流向 |
| 分析 | 8 | AI 机会评分、信心评级、价格历史、市场质量、顶级持仓者、对比 |
| 交易 | 8 | 买入、卖出、批量订单、限价单、订单管理、安全限额 |
| 跟单交易 | 5 | 关注交易者、自动监控、自动再平衡、回测 |
| 投资组合 | 10 | 持仓、盈亏、余额、风险评估、止损/止盈、优化、市场提醒 |
| 实用工具 | 8 | 仪表板、配置、交易历史、观察列表、Agent 日志 |
快速开始
npm 安装
npm install -g polymarket-agent-mcp
Docker
docker compose up
Claude Code 配置
添加到 ~/.claude/settings.json:
{
"mcpServers": {
"polymarket": {
"command": "npx",
"args": ["polymarket-agent-mcp"]
}
}
}
使用示例
直接用自然语言与 AI 助手交流:
“今天有哪些热门市场?”
“搜索比特币预测市场”
“在这个市场买入 5 美元”
“给这位交易者评分——我应该跟单吗?”
“回测这位交易者,每笔交易 10 美元”
“显示聪明资金流向——顶级交易者在买什么?”
“将我的 BTC 持仓止损设为 0.30”
“使用平衡策略优化我的投资组合”
“扫描套利机会”
“并排比较这两个市场”
全部 48 个工具
发现
| 工具 | 描述 |
|---|---|
markets.search | 按关键词搜索市场(bitcoin、election、UFC 等) |
traders.discover | 根据盈亏和交易量查找顶级交易者 |
markets.discover | 按结束日期和类别查找市场 |
markets.trending | 按 24h/7d/30d 交易量排列的热门市场 |
markets.featured | 按类别列出的流动性最高市场(politics、sports、crypto 等) |
wta.discover | 提供低价买入报价的 WTA 网球市场 |
flow.discover | 智能资金信号——多位顶级交易者买入同一市场 |
markets.related | 查找与某个主题或市场相关的市场 |
markets.events | 浏览某个事件下的所有市场 |
分析
| 工具 | 描述 |
|---|---|
markets.analyze | AI 驱动的 BUY/SELL/HOLD 建议 |
traders.analyze | 详细的交易者资料、胜率和盈亏 |
traders.score | 从 5 个维度评估信念分数(0-100) |
markets.check | 市场质量——价差、深度、价格范围 |
markets.price | 实时买价/卖价/价差 |
markets.price_history | 历史价格及迷你走势图(1h 至 1m) |
markets.holders | 市场中持仓最大的持有者 |
markets.compare | 并排比较 2-5 个市场 |
交易
| 工具 | 描述 |
|---|---|
orders.buy | 在任意市场买入份额 |
orders.sell | 卖出未平仓头寸 |
orders.batch | 一次最多执行 10 笔订单 |
wta.bid | 以折扣价下限价单 |
orders.cancel | 取消所有未成交订单 |
orders.list | 查看待处理的限价单 |
orders.status | 检查特定订单的状态 |
config.go_live | 从预览模式切换到实盘模式 |
跟单交易
| 工具 | 描述 |
|---|---|
watchlist.add | 在关注列表中添加或移除交易者 |
monitor.start | 启动自动跟单循环 |
monitor.stop | 停止监控 |
watchlist.rebalance | 移除表现不佳的交易者 |
traders.backtest | 模拟跟随某位交易者过去的交易 |
投资组合与风险
| 工具 | 描述 |
|---|---|
portfolio.balance | 账户余额、预算和盈亏 |
portfolio.get | 多钱包概览,包含每位交易者的盈亏 |
positions.list | 未平仓/已平仓头寸 |
positions.close | 手动平仓 |
positions.set_exit_rules | 设置止损和止盈价位 |
positions.check_exits | 检查头寸是否已结算 |
portfolio.risk | 投资组合风险评分和警告 |
portfolio.optimize | AI 驱动的优化(保守/均衡/激进) |
markets.watch | 市场关注列表及价格提醒 |
markets.watch_price | 实时 WebSocket 价格订阅 |
markets.arbitrage | 查找 YES+NO 价格差异 |
配置
| 工具 | 描述 |
|---|---|
config.set | 更新机器人设置 |
config.safety_limits | 最大订单规模、敞口上限、价差容忍度 |
dashboard.get | 终端格式的仪表板 |
trades.history | 带筛选条件的交易历史 |
watchlist.list | 显示已关注的钱包 |
agent.log_cycle | 记录 Agent 周期,供仪表板使用 |
traders.positions | 查看某位交易者的未平仓头寸 |
架构
Claude Code / Cursor / AI Client
|
| MCP Protocol (stdio)
v
+------------------+
| MCP Server | 48 tools registered
| (index.ts) |
+--------+---------+
|
+----+----+
| |
Tools Services
| |
v v
+-------+ +------------+
| Zod | | Backtester |
| Input | | Scorer |
| Valid. | | SmartFlow |
+-------+ | Filter |
| Tracker |
| Executor |
+-----+------+
|
+-------+-------+
| | |
Data Gamma CLOB
API API API
HTTP 传输与部署
该服务支持两种传输模式:
| 模式 | 启用方式 | 用途 |
|---|---|---|
| stdio(默认) | npx polymarket-agent-mcp | Claude Code、Cursor、本地 MCP 客户端 |
| HTTP | --http 标志或 PORT 环境变量 | 可自托管的 Docker、私有 VPS、单用户远程访问 |
部署模式——请先阅读
此服务专为单租户使用而设计。每个客户端都会运行自己的实例,并拥有独立的 SQLite 数据库(copytrader.db)、观察列表、每日预算、交易历史和监控循环。对大多数用户而言,推荐使用 stdio 模式——npx polymarket-agent-mcp 或上方的 Claude Code 配置都能提供完全隔离、仅在本地运行的实例。
⚠️ 请勿将 HTTP 实例公开到互联网上。 此服务没有按用户隔离:观察列表、持仓、预算和后台监控循环会由所有连接的客户端共享。公开部署 HTTP 实例实际上相当于共享工作区,而非多租户 SaaS。如果启用实盘交易,任何调用者都可能通过公开端点耗尽你的 Polymarket 钱包。务必配置 HTTP bearer-token 环境变量(参见 PERMISSIONS.md),并确保端点位于防火墙、VPN 或身份验证代理之后。
以 HTTP 模式启动
# Flag
node dist/index.js --http
# Or set PORT (defaults to 3000)
PORT=8080 node dist/index.js
端点
| 路径 | 方法 | 说明 |
|---|---|---|
/mcp | POST | MCP 协议端点(Streamable HTTP 传输) |
/health | GET | 健康检查——返回 { status, version, db } |
/.well-known/mcp/server-card.json | GET | MCP 发现卡片(工具、权限、数据处理) |
/ | GET | 包含版本和端点列表的服务信息 |
身份验证
HTTP 传输支持通过环境变量控制是否启用 bearer token——具体名称见 PERMISSIONS.md。设置后,客户端必须在发送至 /mcp 的请求中携带 Authorization: Bearer <token>;未设置时,端点将开放访问(仅适用于本地网络或专用网络)。
Docker 部署
每次发布时,都会将预构建的多架构映像发布到 GHCR:
docker pull ghcr.io/demwick/polymarket-agent-mcp:1.7.0
或者使用随附的 Dockerfile 自行构建:
docker build -t polymarket-mcp .
docker run -p 3000:3000 -v mcp-data:/app/data \
-e DAILY_BUDGET=50 \
polymarket-mcp
# To require bearer-token auth on /mcp, also pass the HTTP bearer env var
# listed in PERMISSIONS.md (e.g. `-e <VAR>=my-secret-key`).
DB_PATH(默认值为 /app/data/copytrader.db)用于指定 SQLite 数据的持久化位置——挂载一个卷即可在重启后保留数据。
配置
进程运行期间,所有密钥都只保存在内存中——绝不会写入数据库、日志或磁盘,并且只会通过 HTTPS 发送到指定的 Polymarket API 端点。完整且权威的环境变量列表(包含各变量的敏感级别和作用范围)见 PERMISSIONS.md 和 SECURITY.md。
| 变量 | 必需 | 默认值 | 说明 |
|---|---|---|---|
COPY_MODE | 否 | preview | preview(模拟)或 live(真实订单) |
DAILY_BUDGET | 否 | 20 | 每日最高支出,单位为 USDC |
MIN_CONVICTION | 否 | 3 | 复制交易的最低交易金额($) |
| 钱包签名密钥 | 仅实盘模式 | - | 在本地对 CLOB 订单负载签名,不会持久化(确切的环境变量名称见 PERMISSIONS.md) |
| CLOB API 凭据 | 仅实盘模式 | - | API 密钥 / 密文 / 口令——只会发送到 clob.polymarket.com(确切名称见 PERMISSIONS.md) |
安全功能
- 可配置的订单金额限制
- 总风险敞口上限
- 单个市场的持仓限制
- 最低流动性要求
- 最大价差容忍度
- 自动止损 / 止盈
- 预览模式(默认)——不涉及真实资金
权限与能力
此软件包的影响范围透明且精简。完整披露:PERMISSIONS.md — 机器可读版本位于 .well-known/mcp/server-card.json。
| 类别 | 范围 |
|---|---|
| 网络(出站) | 3 个 Polymarket HTTPS API + 1 个仅接收入站连接的 WSS 公共价格流(ws-subscriptions-clob.polymarket.com) |
| 文件系统 | 单个 SQLite 数据库文件 + 启动时读取的 .env — 不涉及其他内容 |
| 环境 | API 凭据(仅实时模式下使用,仅存于内存中)、预算配置、模式选择 |
| 进程 | 无 — 不创建子进程,不运行 shell 命令,不使用 eval/Function |
| 遥测 | 无 — 不进行分析、不发送崩溃报告、不检查更新、不向第三方传输数据 |
WebSocket 范围: 与 Polymarket 的 WSS 连接仅用于接收公共价格更新。不传输钱包、凭据或用户身份信息 — 它承载的公共数据流与任何浏览器客户端可获取的数据流相同。
机密信息范围: 所有机密环境变量仅存于内存中,绝不记录、绝不持久化,且仅发送至一个主机(参见 SECURITY.md)。
开发
git clone https://github.com/demwick/polymarket-agent-mcp.git
cd polymarket-agent-mcp
npm install
npm run build
npm test # 200+ tests
许可证
MIT — 参见 LICENSE
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。