# triptych
## 基本信息
- Slug: `triptych-opera-omnia-mcp`
- Source: modelscope
- Publisher: @triptych/opera-omnia-mcp
- Categories: art-and-culture / games-and-gamification / content-management-systems
- Hosted: No
- License: MIT License
- Source URL: https://www.modelscope.cn/mcp/servers/@triptych/opera-omnia-mcp
## 简介
暂无描述。
## MCP Server 详情

# Opera Omnia MCP 服务器

一个MCP服务器，提供对[Opera Omnia](https://github.com/triptych/opera-omnia)项目中丰富的JSON数据集的访问。该项目是一个面向游戏、故事讲述和机器人开发的创意内容综合库。

## 功能

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

## 安装

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

bash
npm install


3. 构建项目：

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. **高级内容生成**：增加比简单模板替换更复杂的内容生成能力。

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

3. **用户贡献的数据集**：增加对用户贡献数据集的支持，允许用户扩展可用内容。

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

5. **本地数据文件**：增加对本地数据文件的支持，作为从GitHub获取数据的替代方案。

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

## 发布说明

有关当前及过往版本的详细信息，请参阅 [RELEASE_NOTES.md](RELEASE_NOTES.md) 文件。

## 许可证

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

