Opera Omnia MCP 服务器
MCP 服务器提供对Opera Omnia项目中丰富的 JSON 数据集的访问,Opera Omnia 是一个用于游戏、讲故事和机器人开发的综合创意内容库。
特征
- 访问所有 Opera Omnia 数据集
- 从数据集中随机选择
- 按条件过滤数据集
- 合并多个数据集
- 使用模板生成创意内容
安装
- 克隆此存储库
- 安装依赖项:
- 构建项目:
用法
运行服务器
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 服务器的未来增强功能有几个想法:
- 高级内容生成:除了简单的模板替换之外,还添加更复杂的内容生成功能。
- 改进的缓存:实施更好的缓存机制以提高性能,特别是对于经常访问的数据集。
- 用户贡献的数据集:添加对用户贡献的数据集的支持,允许用户扩展可用内容。
- 可视化工具:创建可视化工具来探索数据并了解不同数据集之间的关系。
- 本地数据文件:添加对本地数据文件的支持,作为从 GitHub 获取的替代方法。
- 集成示例:提供更多将 MCP 服务器与不同应用程序和框架集成的示例。
发行说明
有关当前和过去版本的详细信息,请参阅RELEASE_NOTES.md文件。
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE.md文件。