Random Tables MCP Server
About
MCP server for generating dynamic random tables for tabletop RPGs with nested templates and weighted probabilities
Details
- Author
- MikeORed
- Downloads
- 220
- Categories
- Other
Jump to
- 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:
- 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
Random Tables MCP 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
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
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.



