Simple Server
About
The Opera Omnia MCP server provides programmatic access to the rich collection of JSON datasets from the Opera Omnia project. It enables developers, storytellers, and AI applications to easily access, combine, and generate creative content for games, interactive fiction, chatbots
Details
- Author
- triptych
- GitHub stars
- 2
- Downloads
- 369
- Categories
- Database, Other
Jump to
- Access all Opera Omnia datasets
- Random selection from datasets
- Filter datasets by criteria
- Combine multiple datasets
- Generate creative content using templates
- List categories and datasets as resources
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Simple ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Clone the repository, run npm install and npm run build, then start with npm start. Add the server to your MCP settings file with the command node and args pointing to the built index.js.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"simple server": {
"simple-server": {
"command": "node",
"args": [
"path/to/server/index.js"
],
"disabled": false,
"autoApprove": []
}
}
}
}
McpServers
{
"simple-server": {
"command": "node",
"args": [
"path/to/server/index.js"
],
"disabled": false,
"autoApprove": []
}
}
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
3. 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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





