Manifold MCP服务端
通过简洁的MCP接口,全面接入Manifold Markets预测平台,使用户能够通过自然语言创建市场、下注、管理流动性以及使用社交功能。
可用工具 (18 个)
该服务在 MCP 协议中暴露的工具,AI 可按需调用
create_market 14 个参数 需填 2 项
Create a new prediction market
必填参数:outcomeType、question
search_markets 4 个参数
Search for prediction markets with optional filters
该工具无需必填参数,直接调用即可
get_market 1 个参数 需填 1 项
Get detailed information about a specific market
必填参数:marketId
get_user 1 个参数 需填 1 项
Get user information by username
必填参数:username
place_bet 4 个参数 需填 3 项
Place a bet on a market
必填参数:marketId、amount、outcome
cancel_bet 1 个参数 需填 1 项
Cancel a limit order bet
必填参数:betId
sell_shares 3 个参数 需填 1 项
Sell shares in a market
必填参数:marketId
add_liquidity 2 个参数 需填 2 项
Add mana to market liquidity pool
必填参数:marketId、amount
get_positions 1 个参数 需填 1 项
Get user positions across markets
必填参数:userId
unresolve_market 2 个参数 需填 1 项
Unresolve a previously resolved market
必填参数:contractId
close_market 2 个参数 需填 1 项
Close a market for trading
必填参数:contractId
add_answer 2 个参数 需填 2 项
Add a new answer to a multiple choice market
必填参数:contractId、text
follow_market 2 个参数 需填 2 项
Follow or unfollow a market
必填参数:contractId、follow
add_bounty 2 个参数 需填 2 项
Add bounty to a market
必填参数:contractId、amount
award_bounty 3 个参数 需填 3 项
Award bounty to a comment
必填参数:contractId、commentId、amount
remove_liquidity 2 个参数 需填 2 项
Remove liquidity from market pool
必填参数:contractId、amount
react 4 个参数 需填 2 项
React to a market or comment
必填参数:contentId、contentType
send_mana 3 个参数 需填 2 项
Send mana to other users
必填参数:toIds、amount
服务介绍
Manifold Markets MCP 服务器
一个用于与 Manifold Markets 预测市场交互的 MCP 服务器。该服务器通过简洁的 MCP 接口提供了对 Manifold 功能的全面访问,从而实现复杂的市场互动和集体智能机制。
架构
服务器通过结构化的工具系统实现了对 Manifold Markets API 能力的完整映射:
核心组件
- Schema 层:基于 Zod 的所有操作验证模式
- API 集成:直接映射到 Manifold 的 REST 端点
- 工具处理器:带有适当错误管理的请求处理
- 类型安全:完全使用 TypeScript 实现
工具类别
市场创建与管理
create_market:创建市场(二元、多选、伪数值、投票)unresolve_market:撤销已解决的市场close_market:关闭市场的交易add_answer:向多选市场添加选项
市场互动
follow_market:跟踪感兴趣的市场react:点赞/反对市场和评论add_bounty:为分析增加赏金award_bounty:奖励有价值的贡献
交易操作
place_bet:执行市场交易cancel_bet:取消限价单sell_shares:平仓
流动性管理
add_liquidity:提供市场流动性remove_liquidity:撤回提供的流动性
信息检索
search_markets:通过过滤器查找市场get_market:详细的市场信息get_user:用户资料数据get_positions:投资组合跟踪
社交功能
send_mana:在用户之间转移 mana
验证的功能
服务器已经通过全面的交互轨迹进行了测试:
成功测试
-
市场发现与关注
- ✅ 使用过滤器搜索市场
- ✅ 关注市场
- ✅ 检索详细市场信息
-
交易操作
- ✅ 提供流动性
- ✅ 下注并更新概率
- ✅ 平仓
- ✅ 卖出股份
-
权限管理
- ✅ 基于角色的访问控制
- ✅ 认证处理
- ✅ 错误消息
受权限限制的操作
这些操作已经实现,但需要特定的用户角色:
- 市场解决/撤销(市场创建者)
- 市场关闭(市场创建者)
- 赏金管理(市场创建者)
- 撤回流动性(流动性提供者)
先决条件
- Node.js 18 或更高版本
- npm 或 yarn
- Manifold Markets API 密钥
- 至少 M$1000 的余额以创建市场
安装
1. 安装包
npm install manifold-mcp-server
2. 获取您的 API 密钥
- 登录 Manifold Markets
- 进入您的个人设置
- 生成 API 密钥
- 确保账户有足够的 mana 用于预期的操作
3. 配置 MCP 设置
对于 Claude Desktop
添加到 ~/Library/Application Support/Claude/claude_desktop_config.json 中:
{
"mcpServers": {
"manifold": {
"command": "node",
"args": ["/path/to/manifold-mcp-server/build/index.js"],
"env": {
"MANIFOLD_API_KEY": "your_api_key_here"
}
}
}
}
为 Cline (VSCode 扩展)
添加到 ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json:
{
"mcpServers": {
"manifold": {
"command": "node",
"args": ["/path/to/manifold-mcp-server/build/index.js"],
"env": {
"MANIFOLD_API_KEY": "your_api_key_here"
}
}
}
}
工具文档
市场创建与管理
create_market
创建一个新的预测市场:
{
outcomeType: 'BINARY' | 'MULTIPLE_CHOICE' | 'PSEUDO_NUMERIC' | 'POLL' | 'BOUNTIED_QUESTION'
question: string
description?: string | {
type: 'doc'
content: any[]
}
closeTime?: number // Unix timestamp ms
visibility?: 'public' | 'unlisted'
initialProb?: number // Required for BINARY (1-99)
min?: number // Required for PSEUDO_NUMERIC
max?: number // Required for PSEUDO_NUMERIC
isLogScale?: boolean
initialValue?: number // Required for PSEUDO_NUMERIC
answers?: string[] // Required for MULTIPLE_CHOICE/POLL
addAnswersMode?: 'DISABLED' | 'ONLY_CREATOR' | 'ANYONE'
shouldAnswersSumToOne?: boolean
totalBounty?: number // Required for BOUNTIED_QUESTION
}
unresolve_market
取消之前已解决的市场:
{
contractId: string
answerId?: string // For multiple choice markets
}
close_market
关闭市场的交易:
{
contractId: string
closeTime?: number // Optional close time
}
市场互动
follow_market
关注或取消关注一个市场:
{
contractId: string
follow: boolean
}
react
对市场或评论做出反应:
{
contentId: string
contentType: 'comment' | 'contract'
remove?: boolean
reactionType: 'like' | 'dislike'
}
交易操作
place_bet
在市场上下注:
{
marketId: string
amount: number
outcome: 'YES' | 'NO'
limitProb?: number // 0.01-0.99
}
sell_shares
在市场上出售份额:
{
marketId: string
outcome?: 'YES' | 'NO'
shares?: number // Defaults to all
}
流动性管理
add_liquidity
向市场池添加流动性:
{
marketId: string
amount: number
}
remove_liquidity
从市场池移除流动性:
{
contractId: string
amount: number
}
错误处理
服务器实现了全面的错误处理:
-
输入验证
- 通过 Zod 模式进行参数类型检查
- 值范围验证
- 必填字段验证
-
API 通信
- 认证错误
- 网络故障
- 速率限制
- 权限检查
-
业务逻辑
- 余额不足
- 无效的市场状态
- 未经授权的操作
-
错误响应格式
{
code: ErrorCode
message: string
details?: any
}
开发
# Clone the repository
git clone https://github.com/bmorphism/manifold-mcp-server.git
cd manifold-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
贡献
欢迎贡献!感兴趣的领域:
- 高级市场分析工具
- 投资组合优化功能
- 与其他预测平台的集成
- 文档改进
安全
- 通过环境变量处理 API 密钥
- 对所有参数进行输入验证
- 速率限制保护
- 安全的错误消息
- 基于角色的访问控制
许可
MIT