Opera Omnia MCP Server

Integrations

  • Provides access to Opera Omnia datasets hosted on GitHub, allowing retrieval of creative content for games, storytelling, and bot development.

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 integral 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
  • Filtrar conjuntos de datos por criterios
  • Combinando múltiples conjuntos de datos
  • Generar contenido creativo usando plantillas

Instalación

  1. Clonar este repositorio
  2. Instalar dependencias:
npm install
  1. Construir el proyecto:
npm run build

Uso

Ejecución del servidor

npm start

Configuración de MCP

Agregue lo siguiente a su archivo de configuración de MCP:

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

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

Herramientas disponibles

lista_categorías

Enumere todas las categorías de datos disponibles.

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

lista_de_conjuntos_de_datos

Enumere 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" } });

obtener_conjunto de datos

Obtenga 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" } });

obtener_elemento_aleatorio

Obtenga 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" } });

obtener_elementos_filtrados

Obtener elementos de un conjunto de datos que coincidan 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" } });

combinar_conjuntos_de_datos

Combine múltiples conjuntos de datos y obtenga 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 } });

generar_contenido

Genere 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://categorías

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://categoría/{categoría}

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://conjunto de datos/{categoría}/{conjunto de datos}

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 futuras mejoras del servidor Opera Omnia MCP:

  1. Generación de contenido avanzada : agregue capacidades de generación de contenido más sofisticadas más allá de la simple sustitución de plantillas.
  2. Almacenamiento en caché mejorado : implemente mejores mecanismos de almacenamiento en caché para mejorar el rendimiento, especialmente para conjuntos de datos a los que se accede con frecuencia.
  3. Conjuntos de datos aportados por los usuarios : agregue soporte para conjuntos de datos aportados por los usuarios, lo que permite a los usuarios ampliar el contenido disponible.
  4. Herramientas de visualización : cree herramientas de visualización para explorar los datos y comprender las relaciones entre diferentes conjuntos de datos.
  5. Archivos de datos locales : agregue soporte para archivos de datos locales como alternativa a la obtención de GitHub.
  6. Ejemplos de integración : proporcione más ejemplos de integración del servidor MCP con diferentes aplicaciones y marcos.

Notas de la versión

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

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo LICENSE.md para obtener más detalles.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor que proporciona acceso a la colección de conjuntos de datos JSON de Opera Omnia para juegos, narración de historias y desarrollo de bots, y ofrece herramientas para la selección aleatoria, el filtrado, la combinación de conjuntos de datos y la generación de contenido creativo.

  1. Features
    1. Installation
      1. Usage
        1. Running the Server
        2. MCP Configuration
      2. Available Tools
        1. list_categories
        2. list_datasets
        3. get_dataset
        4. get_random_item
        5. get_filtered_items
        6. combine_datasets
        7. generate_content
      3. Available Resources
        1. opera-omnia://categories
        2. opera-omnia://category/{category}
        3. opera-omnia://dataset/{category}/{dataset}
      4. Future Enhancements
        1. Release Notes
          1. License
            ID: noastdim6i