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
- Clona este repositorio
- Instala las dependencias:
npm install
- 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:
-
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.
-
Caché mejorada: Implementar mejores mecanismos de caché para mejorar el rendimiento, especialmente para conjuntos de datos de acceso frecuente.
-
Conjuntos de datos aportados por usuarios: Añadir soporte para conjuntos de datos aportados por usuarios, permitiendo ampliar el contenido disponible.
-
Herramientas de visualización: Crear herramientas de visualización para explorar los datos y comprender las relaciones entre diferentes conjuntos de datos.
-
Archivos de datos locales: Añadir soporte para archivos de datos locales como alternativa a la descarga desde GitHub.
-
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.