关于 opera-omnia-mcp
opera-omnia-mcp 将 Opera Omnia 的 JSON 数据集提供给开发者和 AI 应用,用于游戏、故事创作和机器人内容。它支持筛选与组合数据集,并通过模板生成内容。
主要功能
- 01浏览类别和数据集
- 02获取完整数据集内容
- 03随机选择或筛选条目
- 04组合多个数据集
- 05通过模板生成内容
适用场景
- 01查找游戏内容所需的角色资料
- 02按条件筛选数据集条目
- 03组合人物特征与背景故事
- 04利用数据集模板生成文本
MCP 相关
该 MCP 服务通过资源提供数据类别和内容,并提供列出、获取、筛选、组合数据集及生成内容的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Opera Omnia MCP Server
一个 MCP 服务,可访问 Opera Omnia 项目中丰富的 JSON 数据集。该项目是一个全面的创意内容库,适用于游戏、故事创作和机器人开发。
功能
- 访问所有 Opera Omnia 数据集
- 从数据集中随机选择
- 按条件筛选数据集
- 合并多个数据集
- 使用模板生成创意内容
安装
- 克隆此存储库
- 安装依赖项:
npm install
- 构建项目:
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 替换为此项目的实际路径。
可用工具
list_categories
列出所有可用的数据类别。
const result = await use_mcp_tool({
server_name: "opera-omnia",
tool_name: "list_categories",
arguments: {}
});
list_datasets
列出某个类别中的所有数据集。
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_item
从指定数据集中随机获取一项。
const result = await use_mcp_tool({
server_name: "opera-omnia",
tool_name: "get_random_item",
arguments: {
category: "characters",
dataset: "personalities"
}
});
get_filtered_items
获取数据集中符合指定条件的项目。
const result = await use_mcp_tool({
server_name: "opera-omnia",
tool_name: "get_filtered_items",
arguments: {
category: "characters",
dataset: "personalities",
filter: "brave"
}
});
combine_datasets
合并多个数据集并随机选取内容。
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
根据多个数据集生成创意内容。
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://dataset/{category}/{dataset}
指定数据集的内容。
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 许可。详情请参阅 LICENSE.md 文件。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。