Manifold Markets

Interactúa con los mercados de predicción de Manifold Markets, incluyendo la creación de mercados, el trading y la gestión de liquidez.

Documentación

Servidor MCP de Manifold Markets

Un servidor MCP para interactuar con los mercados de predicción de Manifold Markets. Este servidor proporciona acceso completo a las funcionalidades de Manifold a través de una interfaz MCP limpia, habilitando interacciones sofisticadas con el mercado y mecanismos de inteligencia colectiva.

Arquitectura

El servidor implementa un mapeo completo de las capacidades de la API de Manifold Markets mediante un sistema estructurado de herramientas:

Componentes principales

  • Capa de esquemas: Esquemas de validación basados en Zod para todas las operaciones
  • Integración de API: Mapeo directo a los endpoints REST de Manifold
  • Manejadores de herramientas: Procesamiento de solicitudes con gestión adecuada de errores
  • Seguridad de tipos: Implementación completa en TypeScript

Categorías de herramientas

Creación y gestión de mercados

  • create_market: Crear mercados (BINARY, MULTIPLE_CHOICE, PSEUDO_NUMERIC, POLL)
  • unresolve_market: Revertir mercados resueltos
  • close_market: Cerrar mercados para negociación
  • add_answer: Añadir opciones a mercados de opción múltiple

Interacción con mercados

  • follow_market: Seguir mercados de interés
  • react: Dar me gusta/no me gusta a mercados y comentarios
  • add_bounty: Añadir recompensas para análisis
  • award_bounty: Recompensar contribuciones valiosas

Operaciones de negociación

  • place_bet: Ejecutar operaciones en el mercado
  • cancel_bet: Cancelar órdenes limitadas
  • sell_shares: Liquidar posiciones

Gestión de liquidez

  • add_liquidity: Proporcionar liquidez al mercado
  • remove_liquidity: Retirar liquidez proporcionada

Recuperación de información

  • search_markets: Encontrar mercados con filtros
  • get_market: Información detallada del mercado
  • get_user: Datos del perfil de usuario
  • get_positions: Seguimiento de cartera

Funciones sociales

  • send_mana: Transferir mana entre usuarios

Capacidades verificadas

El servidor ha sido probado mediante trayectorias de interacción exhaustivas:

Probado con éxito

  1. Descubrimiento y seguimiento de mercados

    • ✅ Búsqueda de mercados con filtros
    • ✅ Seguimiento de mercados
    • ✅ Recuperación de información detallada del mercado
  2. Operaciones de negociación

    • ✅ Provisión de liquidez
    • ✅ Colocación de apuestas con actualizaciones de probabilidad
    • ✅ Liquidación de posiciones
    • ✅ Venta de acciones
  3. Gestión de permisos

    • ✅ Control de acceso basado en roles
    • ✅ Manejo de autenticación
    • ✅ Mensajes de error

Operaciones restringidas por permisos

Estas operaciones están implementadas pero requieren roles de usuario específicos:

  • Resolución/desresolución de mercados (creador del mercado)
  • Cierre de mercados (creador del mercado)
  • Gestión de recompensas (creador del mercado)
  • Retiro de liquidez (proveedor de liquidez)

Requisitos previos

  • Node.js 18 o superior
  • npm o yarn
  • Clave API de Manifold Markets
  • Saldo mínimo de M$1000 para la creación de mercados

Instalación

1. Instalar el paquete

npm install manifold-mcp-server

2. Obtener tu clave API

  1. Inicia sesión en Manifold Markets
  2. Ve a la configuración de tu perfil
  3. Genera una clave API
  4. Asegúrate de que la cuenta tenga suficiente mana para las operaciones previstas

3. Configurar los ajustes de MCP

Para Claude Desktop

Añade a ~/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"
      }
    }
  }
}

Para Cline (Extensión de VSCode)

Añade a ~/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"
      }
    }
  }
}

Documentación de herramientas

Creación y gestión de mercados

create_market

Crear un nuevo mercado de predicción:

{
  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

Desresolver un mercado previamente resuelto:

{
  contractId: string
  answerId?: string // For multiple choice markets
}

close_market

Cerrar un mercado para negociación:

{
  contractId: string
  closeTime?: number // Optional close time
}

Interacción con mercados

follow_market

Seguir o dejar de seguir un mercado:

{
  contractId: string
  follow: boolean
}

react

Reaccionar a mercados o comentarios:

{
  contentId: string
  contentType: 'comment' | 'contract'
  remove?: boolean
  reactionType: 'like' | 'dislike'
}

Operaciones de negociación

place_bet

Colocar una apuesta en un mercado:

{
  marketId: string
  amount: number
  outcome: 'YES' | 'NO'
  limitProb?: number // 0.01-0.99
}

sell_shares

Vender acciones en un mercado:

{
  marketId: string
  outcome?: 'YES' | 'NO'
  shares?: number // Defaults to all
}

Gestión de liquidez

add_liquidity

Añadir liquidez al fondo del mercado:

{
  marketId: string
  amount: number
}

remove_liquidity

Retirar liquidez del fondo del mercado:

{
  contractId: string
  amount: number
}

Manejo de errores

El servidor implementa un manejo exhaustivo de errores:

  1. Validación de entrada

    • Verificación de tipos de parámetros mediante esquemas Zod
    • Validación de rangos de valores
    • Verificación de campos obligatorios
  2. Comunicación con la API

    • Errores de autenticación
    • Fallos de red
    • Limitación de velocidad
    • Verificaciones de permisos
  3. Lógica de negocio

    • Saldo insuficiente
    • Estados de mercado inválidos
    • Operaciones no autorizadas
  4. Formato de respuesta de errores

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

Desarrollo

# 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

Contribuciones

¡Las contribuciones son bienvenidas! Áreas de interés:

  • Herramientas avanzadas de análisis de mercados
  • Funcionalidades de optimización de cartera
  • Integración con otras plataformas de predicción
  • Mejoras en la documentación

Seguridad

  • Claves API gestionadas mediante variables de entorno
  • Validación de entrada en todos los parámetros
  • Protección contra limitación de velocidad
  • Mensajes de error seguros
  • Control de acceso basado en roles

Licencia

MIT