Opera Omnia MCP Server

by triptych

Integrations

  • Provides access to Opera Omnia datasets hosted on GitHub, allowing retrieval of creative content for games, storytelling, and bot development.

Opera Omnia MCP Server

An MCP server that provides access to the rich collection of JSON datasets from the 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:
npm install
  1. Build the project:
npm run build

Usage

Running the Server

npm start

MCP Configuration

Add the following to your MCP settings file:

{ "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.

const result = await use_mcp_tool({ server_name: "opera-omnia", tool_name: "list_categories", arguments: {} });

list_datasets

List all datasets within a category.

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.

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.

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.

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.

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.

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.

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.

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.

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 file.

License

This project is licensed under the MIT License - see the LICENSE.md file for details.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

A server that provides access to the Opera Omnia collection of JSON datasets for games, storytelling, and bot development, offering tools for random selection, filtering, combining datasets, and generating creative content.

  1. Features
    1. Installation
      1. Usage
        1. Running the Server
        2. MCP Configuration
      2. Available Tools
        1. list_categories
        2. list_datasets
        3. get_dataset
        4. get_random_item
        5. get_filtered_items
        6. combine_datasets
        7. generate_content
      3. Available Resources
        1. opera-omnia://categories
        2. opera-omnia://category/{category}
        3. opera-omnia://dataset/{category}/{dataset}
      4. Future Enhancements
        1. Release Notes
          1. License

            Related MCP Servers

            • A
              security
              A
              license
              A
              quality
              This server allows users to interact with their Zotero library through the Model Context Protocol, providing tools for searching items, retrieving metadata, and accessing full text using natural language queries.
              Last updated -
              3
              44
              Python
              MIT License
              • Apple
              • Linux
            • A
              security
              F
              license
              A
              quality
              This server allows users to perform web searches using Perplexity AI, providing a tool for retrieving search results through a simple API interface.
              Last updated -
              1
              2
              TypeScript
            • A
              security
              A
              license
              A
              quality
              A server that enhances AI assistants with the ability to update your JSON Resume by analyzing your coding projects, automatically extracting skills and generating professional descriptions.
              Last updated -
              3
              32
              39
              TypeScript
              The Unlicense
              • Apple
              • Linux
            • A
              security
              A
              license
              A
              quality
              A TypeScript-based server that enables interaction with Jira, providing tools to execute JQL queries, manage tickets, list projects and statuses through natural language.
              Last updated -
              11
              20
              JavaScript
              MIT License
              • Apple

            View all related MCP servers

            ID: noastdim6i