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.

Opera Omnia MCP 服务器

MCP 服务器提供对Opera Omnia项目中丰富的 JSON 数据集的访问,Opera Omnia 是一个用于游戏、讲故事和机器人开发的综合创意内容库。

特征

  • 访问所有 Opera Omnia 数据集
  • 从数据集中随机选择
  • 按条件过滤数据集
  • 合并多个数据集
  • 使用模板生成创意内容

安装

  1. 克隆此存储库
  2. 安装依赖项:
npm install
  1. 构建项目:
npm run build

用法

运行服务器

npm start

MCP 配置

将以下内容添加到您的 MCP 设置文件:

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

path/to/opera-omnia-mcp替换为此项目的实际路径。

可用工具

列表类别

列出所有可用的数据类别。

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

列出数据集

列出某一类别内的所有数据集。

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

获取数据集

获取特定数据集的完整内容。

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

获取随机物品

从特定数据集中获取随机项目。

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

获取过滤项目

从数据集中获取符合特定条件的项目。

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

合并数据集

组合多个数据集并获取随机选择。

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

生成内容

根据多个数据集生成创意内容。

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

可用资源

opera-omnia://categories

所有可用数据类别的列表。

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

opera-omnia://category/{category}

特定类别中可用的数据集列表。

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

opera-omnia://数据集/{类别}/{数据集}

特定数据集的内容。

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

未来的增强功能

我们对 Opera Omnia MCP 服务器的未来增强功能有几个想法:

  1. 高级内容生成:除了简单的模板替换之外,还添加更复杂的内容生成功能。
  2. 改进的缓存:实施更好的缓存机制以提高性能,特别是对于经常访问的数据集。
  3. 用户贡献的数据集:添加对用户贡献的数据集的支持,允许用户扩展可用内容。
  4. 可视化工具:创建可视化工具来探索数据并了解不同数据集之间的关系。
  5. 本地数据文件:添加对本地数据文件的支持,作为从 GitHub 获取的替代方法。
  6. 集成示例:提供更多将 MCP 服务器与不同应用程序和框架集成的示例。

发行说明

有关当前和过去版本的详细信息,请参阅RELEASE_NOTES.md文件。

执照

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE.md文件。

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

该服务器提供对 Opera Omnia JSON 数据集的访问,用于游戏、故事讲述和机器人开发,提供随机选择、过滤、组合数据集和生成创意内容的工具。

  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