M

Manifold MCP服务端

@bmorphism/manifold-mcp-server
0 Stars 466 次浏览 bmorphism 更新于 2026-08-23

通过简洁的MCP接口,全面接入Manifold Markets预测平台,使用户能够通过自然语言创建市场、下注、管理流动性以及使用社交功能。

该服务暂未提供标准配置,请参考 README 手动接入

可用工具 (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

验证的功能

服务器已经通过全面的交互轨迹进行了测试:

成功测试

  1. 市场发现与关注

    • ✅ 使用过滤器搜索市场
    • ✅ 关注市场
    • ✅ 检索详细市场信息
  2. 交易操作

    • ✅ 提供流动性
    • ✅ 下注并更新概率
    • ✅ 平仓
    • ✅ 卖出股份
  3. 权限管理

    • ✅ 基于角色的访问控制
    • ✅ 认证处理
    • ✅ 错误消息

受权限限制的操作

这些操作已经实现,但需要特定的用户角色:

  • 市场解决/撤销(市场创建者)
  • 市场关闭(市场创建者)
  • 赏金管理(市场创建者)
  • 撤回流动性(流动性提供者)

先决条件

  • Node.js 18 或更高版本
  • npm 或 yarn
  • Manifold Markets API 密钥
  • 至少 M$1000 的余额以创建市场

安装

1. 安装包

npm install manifold-mcp-server

2. 获取您的 API 密钥

  1. 登录 Manifold Markets
  2. 进入您的个人设置
  3. 生成 API 密钥
  4. 确保账户有足够的 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
}

错误处理

服务器实现了全面的错误处理:

  1. 输入验证

    • 通过 Zod 模式进行参数类型检查
    • 值范围验证
    • 必填字段验证
  2. API 通信

    • 认证错误
    • 网络故障
    • 速率限制
    • 权限检查
  3. 业务逻辑

    • 余额不足
    • 无效的市场状态
    • 未经授权的操作
  4. 错误响应格式

{
  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

相关 MCP 服务