t

triptych

@triptych/opera-omnia-mcp
1 Stars 340 次浏览 triptych 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

服务介绍

Opera Omnia MCP 服务器

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

功能

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

安装

  1. 克隆此仓库
  2. 安装依赖项:

bash
npm install

  1. 构建项目:

bash
npm run build

使用

运行服务器

bash
npm start

MCP 配置

在您的MCP设置文件中添加以下内容:

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

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

可用工具

list_categories

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

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

list_datasets

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

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

get_dataset

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

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

get_random_item

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

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

get_filtered_items

获取与特定条件匹配的数据集中的条目。

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

combine_datasets

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

javascript
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

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

javascript
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

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

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

opera-omnia://category/{category}

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

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

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

特定数据集的内容。

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

未来增强功能

我们有几个关于Opera Omnia MCP服务器未来增强的想法:1. 高级内容生成:增加比简单模板替换更复杂的内容生成能力。

  1. 改进的缓存机制:实现更好的缓存机制以提高性能,特别是对于频繁访问的数据集。

  2. 用户贡献的数据集:增加对用户贡献数据集的支持,允许用户扩展可用内容。

  3. 可视化工具:创建用于探索数据和理解不同数据集之间关系的可视化工具。

  4. 本地数据文件:增加对本地数据文件的支持,作为从GitHub获取数据的替代方案。

  5. 集成示例:提供更多将MCP服务器与不同应用程序和框架集成的示例。

发布说明

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

许可证

本项目根据MIT许可证发布 - 详情请见 LICENSE.md 文件。

相关 MCP 服务