Manifold Markets

Interaja com os mercados de previsão do Manifold Markets, incluindo criação de mercados, negociação e gerenciamento de liquidez.

Documentação

Manifold Markets MCP Server

Um servidor MCP para interagir com os mercados de previsão do Manifold Markets. Este servidor fornece acesso abrangente aos recursos do Manifold por meio de uma interface MCP limpa, permitindo interações sofisticadas com mercados e mecanismos de inteligência coletiva.

Arquitetura

O servidor implementa um mapeamento completo dos recursos da API do Manifold Markets por meio de um sistema estruturado de ferramentas:

Componentes Principais

  • Camada de Schema: schemas de validação baseados em Zod para todas as operações
  • Integração com API: mapeamento direto para os endpoints REST do Manifold
  • Handlers de Ferramentas: processamento de requisições com gerenciamento adequado de erros
  • Segurança de Tipos: implementação completa em TypeScript

Categorias de Ferramentas

Criação e Gerenciamento de Mercados

  • create_market: Criar mercados (BINARY, MULTIPLE_CHOICE, PSEUDO_NUMERIC, POLL)
  • unresolve_market: Reverter mercados resolvidos
  • close_market: Fechar mercados para negociação
  • add_answer: Adicionar opções a mercados de múltipla escolha

Interação com Mercados

  • follow_market: Acompanhar mercados de interesse
  • react: Curtir/não curtir mercados e comentários
  • add_bounty: Adicionar recompensas para análise
  • award_bounty: Recompensar contribuições valiosas

Operações de Negociação

  • place_bet: Executar negociações em mercados
  • cancel_bet: Cancelar ordens limitadas
  • sell_shares: Liquidar posições

Gerenciamento de Liquidez

  • add_liquidity: Fornecer liquidez ao mercado
  • remove_liquidity: Retirar liquidez fornecida

Recuperação de Informações

  • search_markets: Encontrar mercados com filtros
  • get_market: Informações detalhadas do mercado
  • get_user: Dados do perfil do usuário
  • get_positions: Acompanhamento de portfólio

Recursos Sociais

  • send_mana: Transferir mana entre usuários

Capacidades Verificadas

O servidor foi testado por meio de trajetórias abrangentes de interação:

Testado com Sucesso

  1. Descoberta e Acompanhamento de Mercados

    • ✅ Busca de mercados com filtros
    • ✅ Acompanhamento de mercados
    • ✅ Recuperação de informações detalhadas do mercado
  2. Operações de Negociação

    • ✅ Fornecimento de liquidez
    • ✅ Colocação de apostas com atualizações de probabilidade
    • ✅ Liquidação de posições
    • ✅ Venda de ações
  3. Gerenciamento de Permissões

    • ✅ Controle de acesso baseado em funções
    • ✅ Tratamento de autenticação
    • ✅ Mensagens de erro

Operações Restritas por Permissão

Estas operações são implementadas, mas exigem funções específicas de usuário:

  • Resolução/não resolução de mercados (criador do mercado)
  • Fechamento de mercados (criador do mercado)
  • Gerenciamento de recompensas (criador do mercado)
  • Remoção de liquidez (provedor de liquidez)

Pré-requisitos

  • Node.js 18 ou superior
  • npm ou yarn
  • Chave de API do Manifold Markets
  • Saldo mínimo de M$1000 para criação de mercados

Instalação

1. Instale o pacote

npm install manifold-mcp-server

2. Obtenha sua Chave de API

  1. Faça login no Manifold Markets
  2. Vá para as configurações do seu perfil
  3. Gere uma chave de API
  4. Garanta que a conta tenha mana suficiente para as operações pretendidas

3. Configure as Configurações do MCP

Para Claude Desktop

Adicione 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 (Extensão do VSCode)

Adicione 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"
      }
    }
  }
}

Documentação das Ferramentas

Criação e Gerenciamento de Mercados

create_market

Crie um novo mercado de previsão:

{
  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

Desfaça a resolução de um mercado anteriormente resolvido:

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

close_market

Feche um mercado para negociação:

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

Interação com Mercados

follow_market

Siga ou deixe de seguir um mercado:

{
  contractId: string
  follow: boolean
}

react

Reaja a mercados ou comentários:

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

Operações de Negociação

place_bet

Faça uma aposta em um mercado:

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

sell_shares

Venda ações em um mercado:

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

Gerenciamento de Liquidez

add_liquidity

Adicione liquidez ao pool do mercado:

{
  marketId: string
  amount: number
}

remove_liquidity

Remova liquidez do pool do mercado:

{
  contractId: string
  amount: number
}

Tratamento de Erros

O servidor implementa tratamento abrangente de erros:

  1. Validação de Entrada

    • Verificação de tipos de parâmetros via schemas Zod
    • Validação de faixa de valores
    • Verificação de campos obrigatórios
  2. Comunicação com API

    • Erros de autenticação
    • Falhas de rede
    • Limitação de taxa
    • Verificações de permissão
  3. Lógica de Negócio

    • Saldo insuficiente
    • Estados de mercado inválidos
    • Operações não autorizadas
  4. Formato de Resposta de Erro

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

Desenvolvimento

# 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

Contribuição

Contribuições são bem-vindas! Áreas de interesse:

  • Ferramentas avançadas de análise de mercado
  • Recursos de otimização de portfólio
  • Integração com outras plataformas de previsão
  • Melhorias na documentação

Segurança

  • Chaves de API tratadas por meio de variáveis de ambiente
  • Validação de entrada em todos os parâmetros
  • Proteção contra limitação de taxa
  • Mensagens de erro seguras
  • Controle de acesso baseado em funções

Licença

MIT