Opera Omnia

Acesse uma rica coleção de conjuntos de dados JSON para jogos, narrativas e desenvolvimento de bots do projeto Opera Omnia.

Documentação

Servidor MCP Opera Omnia

Um servidor MCP que fornece acesso à rica coleção de conjuntos de dados JSON do projeto Opera Omnia, uma biblioteca abrangente de conteúdo criativo para jogos, narrativas e desenvolvimento de bots.

Recursos

  • Acesso a todos os conjuntos de dados do Opera Omnia
  • Seleção aleatória de conjuntos de dados
  • Filtragem de conjuntos de dados por critérios
  • Combinação de múltiplos conjuntos de dados
  • Geração de conteúdo criativo usando modelos

Instalação

  1. Clone este repositório
  2. Instale as dependências:
npm install
  1. Compile o projeto:
npm run build

Uso

Executando o Servidor

npm start

Configuração do MCP

Adicione o seguinte ao seu arquivo de configurações do MCP:

{
  "mcpServers": {
    "opera-omnia": {
      "command": "node",
      "args": ["path/to/opera-omnia-mcp/build/index.js"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

Substitua path/to/opera-omnia-mcp pelo caminho real para este projeto.

Ferramentas Disponíveis

list_categories

Lista todas as categorias de dados disponíveis.

const result = await use_mcp_tool({
  server_name: "opera-omnia",
  tool_name: "list_categories",
  arguments: {}
});

list_datasets

Lista todos os conjuntos de dados dentro de uma categoria.

const result = await use_mcp_tool({
  server_name: "opera-omnia",
  tool_name: "list_datasets",
  arguments: {
    category: "characters"
  }
});

get_dataset

Obtém o conteúdo completo de um conjunto de dados específico.

const result = await use_mcp_tool({
  server_name: "opera-omnia",
  tool_name: "get_dataset",
  arguments: {
    category: "characters",
    dataset: "personalities"
  }
});

get_random_item

Obtém um item aleatório de um conjunto de dados específico.

const result = await use_mcp_tool({
  server_name: "opera-omnia",
  tool_name: "get_random_item",
  arguments: {
    category: "characters",
    dataset: "personalities"
  }
});

get_filtered_items

Obtém itens de um conjunto de dados que correspondem a critérios específicos.

const result = await use_mcp_tool({
  server_name: "opera-omnia",
  tool_name: "get_filtered_items",
  arguments: {
    category: "characters",
    dataset: "personalities",
    filter: "brave"
  }
});

combine_datasets

Combina múltiplos conjuntos de dados e obtém seleções aleatórias.

const result = await use_mcp_tool({
  server_name: "opera-omnia",
  tool_name: "combine_datasets",
  arguments: {
    datasets: [
      { category: "characters", dataset: "personalities" },
      { category: "characters", dataset: "backstories" }
    ],
    count: 3
  }
});

generate_content

Gera conteúdo criativo com base em múltiplos conjuntos de dados.

const result = await use_mcp_tool({
  server_name: "opera-omnia",
  tool_name: "generate_content",
  arguments: {
    template: "A {adjective} {class} must {quest} to obtain {artifact}",
    datasets: {
      adjective: { category: "attributes", dataset: "adjectives" },
      class: { category: "rpg", dataset: "classes" },
      quest: { category: "situations", dataset: "quests" },
      artifact: { category: "equipment", dataset: "artifacts" }
    }
  }
});

Recursos Disponíveis

opera-omnia://categories

Lista de todas as categorias de dados disponíveis.

const result = await access_mcp_resource({
  server_name: "opera-omnia",
  uri: "opera-omnia://categories"
});

opera-omnia://category/{category}

Lista de conjuntos de dados disponíveis em uma categoria específica.

const result = await access_mcp_resource({
  server_name: "opera-omnia",
  uri: "opera-omnia://category/characters"
});

opera-omnia://dataset/{category}/{dataset}

Conteúdo de um conjunto de dados específico.

const result = await access_mcp_resource({
  server_name: "opera-omnia",
  uri: "opera-omnia://dataset/characters/personalities"
});

Melhorias Futuras

Temos várias ideias para melhorias futuras no servidor MCP Opera Omnia:

  1. Geração Avançada de Conteúdo: Adicionar capacidades mais sofisticadas de geração de conteúdo além da simples substituição de modelos.

  2. Cache Aprimorado: Implementar melhores mecanismos de cache para melhor desempenho, especialmente para conjuntos de dados acessados com frequência.

  3. Conjuntos de Dados Contribuídos por Usuários: Adicionar suporte para conjuntos de dados contribuídos por usuários, permitindo que os usuários estendam o conteúdo disponível.

  4. Ferramentas de Visualização: Criar ferramentas de visualização para explorar os dados e entender as relações entre diferentes conjuntos de dados.

  5. Arquivos de Dados Locais: Adicionar suporte para arquivos de dados locais como alternativa à busca no GitHub.

  6. Exemplos de Integração: Fornecer mais exemplos de integração do servidor MCP com diferentes aplicações e frameworks.

Notas de Versão

Para informações detalhadas sobre as versões atuais e anteriores, consulte o arquivo RELEASE_NOTES.md.

Licença

Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE.md para obter detalhes.