Opera Omnia

Accede a una amplia colección de conjuntos de datos JSON para juegos, narración de historias y desarrollo de bots del proyecto Opera Omnia.

Documentación

Servidor MCP de Opera Omnia

Un servidor MCP que proporciona acceso a la rica colección de conjuntos de datos JSON del proyecto Opera Omnia, una biblioteca completa de contenido creativo para juegos, narración de historias y desarrollo de bots.

Características

  • Acceso a todos los conjuntos de datos de Opera Omnia
  • Selección aleatoria de conjuntos de datos
  • Filtrado de conjuntos de datos por criterios
  • Combinación de múltiples conjuntos de datos
  • Generación de contenido creativo mediante plantillas

Instalación

  1. Clona este repositorio
  2. Instala las dependencias:
npm install
  1. Compila el proyecto:
npm run build

Uso

Ejecutar el servidor

npm start

Configuración de MCP

Añade lo siguiente a tu archivo de configuración de MCP:

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

Reemplaza path/to/opera-omnia-mcp con la ruta real a este proyecto.

Herramientas disponibles

list_categories

Lista todas las categorías de datos disponibles.

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

list_datasets

Lista todos los conjuntos de datos dentro de una categoría.

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

get_dataset

Obtiene el contenido completo de un conjunto de datos específico.

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

get_random_item

Obtiene un elemento aleatorio de un conjunto de datos 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

Obtiene elementos de un conjunto de datos que coinciden con criterios 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últiples conjuntos de datos y obtiene selecciones aleatorias.

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

Genera contenido creativo basado en múltiples conjuntos de datos.

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 disponibles

opera-omnia://categories

Lista de todas las categorías de datos disponibles.

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

opera-omnia://category/{category}

Lista de conjuntos de datos disponibles en una categoría específica.

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

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

Contenido de un conjunto de datos específico.

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

Mejoras futuras

Tenemos varias ideas para mejoras futuras del servidor MCP de Opera Omnia:

  1. Generación avanzada de contenido: Añadir capacidades más sofisticadas de generación de contenido más allá de la simple sustitución de plantillas.

  2. Caché mejorada: Implementar mejores mecanismos de caché para mejorar el rendimiento, especialmente para conjuntos de datos de acceso frecuente.

  3. Conjuntos de datos aportados por usuarios: Añadir soporte para conjuntos de datos aportados por usuarios, permitiendo ampliar el contenido disponible.

  4. Herramientas de visualización: Crear herramientas de visualización para explorar los datos y comprender las relaciones entre diferentes conjuntos de datos.

  5. Archivos de datos locales: Añadir soporte para archivos de datos locales como alternativa a la descarga desde GitHub.

  6. Ejemplos de integración: Proporcionar más ejemplos de integración del servidor MCP con diferentes aplicaciones y marcos de trabajo.

Notas de versión

Para obtener información detallada sobre las versiones actuales y anteriores, consulta el archivo RELEASE_NOTES.md.

Licencia

Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE.md para más detalles.