Skip to main content
Glama

Opera Omnia MCP Server

by triptych
README.md4.97 kB
# Opera Omnia MCP Server An MCP server that provides access to the rich collection of JSON datasets from the [Opera Omnia](https://github.com/triptych/opera-omnia) project, a comprehensive library of creative content for games, storytelling, and bot development. ## Features - Access to all Opera Omnia datasets - Random selection from datasets - Filtering datasets by criteria - Combining multiple datasets - Generating creative content using templates ## Installation 1. Clone this repository 2. Install dependencies: ```bash npm install ``` 3. Build the project: ```bash npm run build ``` ## Usage ### Running the Server ```bash npm start ``` ### MCP Configuration Add the following to your MCP settings file: ```json { "mcpServers": { "opera-omnia": { "command": "node", "args": ["path/to/opera-omnia-mcp/build/index.js"], "disabled": false, "autoApprove": [] } } } ``` Replace `path/to/opera-omnia-mcp` with the actual path to this project. ## Available Tools ### list_categories List all available data categories. ```javascript const result = await use_mcp_tool({ server_name: "opera-omnia", tool_name: "list_categories", arguments: {} }); ``` ### list_datasets List all datasets within a category. ```javascript const result = await use_mcp_tool({ server_name: "opera-omnia", tool_name: "list_datasets", arguments: { category: "characters" } }); ``` ### get_dataset Get the complete contents of a specific dataset. ```javascript const result = await use_mcp_tool({ server_name: "opera-omnia", tool_name: "get_dataset", arguments: { category: "characters", dataset: "personalities" } }); ``` ### get_random_item Get a random item from a specific dataset. ```javascript const result = await use_mcp_tool({ server_name: "opera-omnia", tool_name: "get_random_item", arguments: { category: "characters", dataset: "personalities" } }); ``` ### get_filtered_items Get items from a dataset that match specific criteria. ```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 Combine multiple datasets and get random selections. ```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 Generate creative content based on multiple datasets. ```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" } } } }); ``` ## Available Resources ### opera-omnia://categories List of all available data categories. ```javascript const result = await access_mcp_resource({ server_name: "opera-omnia", uri: "opera-omnia://categories" }); ``` ### opera-omnia://category/{category} List of datasets available in a specific category. ```javascript const result = await access_mcp_resource({ server_name: "opera-omnia", uri: "opera-omnia://category/characters" }); ``` ### opera-omnia://dataset/{category}/{dataset} Contents of a specific dataset. ```javascript const result = await access_mcp_resource({ server_name: "opera-omnia", uri: "opera-omnia://dataset/characters/personalities" }); ``` ## Future Enhancements We have several ideas for future enhancements to the Opera Omnia MCP server: 1. **Advanced Content Generation**: Add more sophisticated content generation capabilities beyond simple template substitution. 2. **Improved Caching**: Implement better caching mechanisms for improved performance, especially for frequently accessed datasets. 3. **User-Contributed Datasets**: Add support for user-contributed datasets, allowing users to extend the available content. 4. **Visualization Tools**: Create visualization tools for exploring the data and understanding relationships between different datasets. 5. **Local Data Files**: Add support for local data files as an alternative to fetching from GitHub. 6. **Integration Examples**: Provide more examples of integrating the MCP server with different applications and frameworks. ## Release Notes For detailed information about the current and past releases, see the [RELEASE_NOTES.md](RELEASE_NOTES.md) file. ## License This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details.

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/triptych/opera-omnia-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server