JSON数据集服务

一个提供Opera Omnia项目中丰富JSON数据集访问的MCP服务器,支持随机选择、过滤、组合数据集以及使用模板生成创意内容。

  • by triptych
  • JavaScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 triptych/opera-omnia-mcp

使用说明

Opera Omnia MCP服务器

一个MCP服务器,提供对来自以下位置的丰富JSON数据集的访问 Opera全部 project,一个为游戏、讲故事和机器人开发提供创意内容的综合库。

特性

  • 访问所有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"
  }
});

get_dataset

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

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

get_random_mitem

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

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

get_filterd_items

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

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

可用资源

歌剧-omnia://categories

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

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

歌剧-omnia://category/{类别}

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

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

歌剧-omnia://dataset/{类别}/{数据集}

特定数据集的内容。

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服务器与不同应用程序和框架集成的示例。

发布说明

有关当前和过去版本的详细信息,请参阅 发布_拒绝.md 文件。

许可证

此项目根据MIT许可证获得许可-请参阅 许可证.md 文件以获取详细信息。