返回市场
多维MCP服务器

多维MCP服务器

作者:bmorphism10 星标更新:2025-01-11

项目介绍

Manifold Markets MCP 服务器

用于与 Manifold Markets 预测市场进行交互的 MCP 服务器。该服务器通过一个简洁的 MCP 接口提供了对 Manifold 功能的全面访问,支持复杂的市场互动和集体智能机制。

架构

服务器通过一个结构化的工具系统实现了 Manifold Markets API 能力的完整映射:

核心组件

  • 模式层:基于 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 时间戳毫秒
  visibility?: 'public' | 'unlisted'
  initialProb?: number // 二元市场必需(1-99)
  min?: number // 伪数值市场必需
  max?: number // 伪数值市场必需
  isLogScale?: boolean
  initialValue?: number // 伪数值市场必需
  answers?: string[] // 多选/投票市场必需
  addAnswersMode?: 'DISABLED' | 'ONLY_CREATOR' | 'ANYONE'
  shouldAnswersSumToOne?: boolean
  totalBounty?: number // 悬赏问题市场必需
}

unresolve_market

撤销先前已解决的市场:

{
  contractId: string
  answerId?: string // 多选市场
}

close_market

关闭市场交易:

{
  contractId: string
  closeTime?: number // 可选关闭时间
}

市场互动

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 // 默认为全部
}

流动性管理

add_liquidity

向市场池添加流动性:

{
  marketId: string
  amount: number
}

remove_liquidity

从市场池移除流动性:

{
  contractId: string
  amount: number
}

错误处理

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

  1. 输入验证

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

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

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

{
  code: ErrorCode
  message: string
  details?: any
}

开发

# 克隆仓库
git clone https://github.com/bmorphism/manifold-mcp-server.git
cd manifold-mcp-server

# 安装依赖
npm install

# 构建
npm run build

# 运行测试
npm test

贡献

欢迎贡献!感兴趣的领域:

  • 高级市场分析工具
  • 投资组合优化功能
  • 与其他预测平台的集成
  • 文档改进

安全

  • 通过环境变量处理 API 密钥
  • 对所有参数进行输入验证
  • 速率限制保护
  • 安全错误消息
  • 基于角色的访问控制

许可证

MIT </中文翻译>