Random Tables MCP Server

by MikeORed

220 downloads
Not rated
GitHub

About

MCP server for generating dynamic random tables for tabletop RPGs with nested templates and weighted probabilities

Details

Author
MikeORed
Downloads
220
Categories
Other

- Create and update random tables with optional entries
- Roll on any table and get instant results
- Link tables together using a template system
- Define range‑based entries for dice‑driven tables
- Weight entries to fine‑tune probabilities
- Switch between MCP Resources or Tools access model

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Random Tables MCP Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install manually by cloning the repository, running npm install and npm build, then point your MCP client (e.g., Claude Desktop) to dist/index.js over stdio. The server exposes tools (create_table, roll_on_table, update_table, list_tables, get_table) and resources (table://{tableId}, tables://). Toggle between the two access models by setting the CAN_USE_RESOURCE environment variable.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "random tables mcp server": {
            "random-tables": {
                "type": "stdio",
                "command": "node",
                "args": [
                    "C:\\path\\to\\mcp-random-tables\\dist\\index.js"
                ],
                "env": {
                    "CAN_USE_RESOURCE": "false"
                }
            }
        }
    }
}

McpServers

{
    "random-tables": {
        "type": "stdio",
        "command": "node",
        "args": [
            "C:\\path\\to\\mcp-random-tables\\dist\\index.js"
        ],
        "env": {
            "CAN_USE_RESOURCE": "false"
        }
    }
}

Random Tables MCP Server

Need a drop‑in random‑table engine for your next one‑shot? MCP Random Tables has you covered.

An MCP (Model Context Protocol) server for managing and rolling on random-table assets used in tabletop RPGs, following a hexagonal architecture (ports & adapters) approach.

Project Overview

This section details the server’s core capabilities and architecture—how random‑table definitions are stored, rolled, and extended while ports & adapters keep concerns isolated and the codebase easy to test and maintain.

Features

- Create random tables in seconds and keep them updated
- Roll results instantly on any table
- Link tables together with powerful template support
- Define range‑based entries for dice‑driven tables
- Weight entries to fine‑tune probabilities
- Choose your access model – MCP _Resources_ or _Tools_ (see the Environment Variables section to toggle)

Available Tools

- create_table - Create a new random table with optional initial entries
- roll_on_table - Roll on a specific table and returns the result
- update_table - Update an existing table (name, description, entries)
- list_tables - List available tables with metadata
- get_table - Get details of a specific table

_See the Environment Variables section for how to switch between using Tools and Resources._

Available Resources

- table://{tableId} - Access a specific table
- tables:// - Access a list of all tables

Key Use Cases

- RPG Encounter Generation: Generate random encounters for tabletop RPGs
- Loot Generation: Create dynamic treasure and item drops
- NPC Generation: Build complex NPCs with personality traits, equipment, and motivations
- Story Prompt Generation: Generate creative writing prompts and plot hooks

Template System Example

Here’s how easy it is to chain tables together:

{
  "name": "Treasure",
  "description": "Random treasure found in dungeons",
  "entries": [
    {
      "content": "{{::currency}}",
      "weight": 3
    },
    {
      "content": "{{::items::Items::3}} worth {{::currency}}",
      "weight": 2
    }
  ]
}

When you roll on this table, the system automatically resolves templates by rolling on referenced tables. For example, {{::items::Items::3}} will roll 3 times on the "Items" table.

Requirements

- Node.js (v20 or higher)
- npm

Installation

Claude Desktop Integration

To integrate the MCP Random Tables server with Claude Desktop, you need to add the server configuration to your claude_desktop_config.json file.

Windows Configuration

Add this to your claude_desktop_config.json (located at %APPDATA%\\Claude\\claude_desktop_config.json):

{
  "mcpServers": {
    "random-tables": {
      "type": "stdio",
      "command": "node",
      "args": ["C:\\path\\to\\mcp-random-tables\\dist\\index.js"],
      "env": {
        "CAN_USE_RESOURCE": "false"
      }
    }
  }
}

Replace C:\\path\\to\\mcp-random-tables with the actual path to your local installation.

macOS Configuration

Add this to your claude_desktop_config.json (located at ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "random-tables": {
      "type": "stdio",
      "command": "node",
      "args": ["/path/to/mcp-random-tables/dist/index.js"],
      "env": {
        "CAN_USE_RESOURCE": "false"
      }
    }
  }
}

Replace /path/to/mcp-random-tables with the actual path to your local installation.

NPX Configuration – 🚧 We’re hammering out the NPX package; stay tuned!

> Note: The MCP Random Tables server is not yet published to npm. We plan to deploy it after test coverage is solid and we're comfortable with the functionality.

Manual Installation

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.