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 サーバー
ゲーム、ストーリーテリング、ボット開発向けの包括的なクリエイティブコンテンツライブラリである Opera Omnia プロジェクトの豊富な JSON データセットにアクセスできる MCP サーバーです。
機能
- 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 サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。