Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
An MCP (Model Context Protocol) server for managing and rolling on random-table assets used in tabletop RPGs. Create, update, and roll on random tables with support for nested tables, weighted entries, and range-based results. Random Tables MCP Server From manually flipping through sourcebooks to wrestling with nested Excel formulas, I've tried every random table solution out there—which is exactly why I built **MCP Random Tables** to be the flexible generation tool I've always wanted. This $1 server bridges worlds: drop in your tables for LLM interaction or use the standalone scripts for token-free efficiency. Either way, the hexagonal ar Published capability contract available. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
random-tables-mcp is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
An MCP (Model Context Protocol) server for managing and rolling on random-table assets used in tabletop RPGs. Create, update, and roll on random tables with support for nested tables, weighted entries, and range-based results. Random Tables MCP Server From manually flipping through sourcebooks to wrestling with nested Excel formulas, I've tried every random table solution out there—which is exactly why I built **MCP Random Tables** to be the flexible generation tool I've always wanted. This $1 server bridges worlds: drop in your tables for LLM interaction or use the standalone scripts for token-free efficiency. Either way, the hexagonal ar
Public facts
7
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Mikeored
Artifacts
0
Benchmarks
0
Last release
0.9.1-beta.2
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. 2 GitHub stars reported by the source. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/MikeORed/random-tables-mcp.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Mikeored
Protocol compatibility
MCP
Auth modes
mcp, api_key
Machine-readable schemas
OpenAPI or schema references published
Adoption signal
2 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
json
{
"name": "Low-Mid Level Forest Encounters",
"description": "A varied table of forest encounters for low to mid-level adventurers",
"entries": [
{
"content": "A pack of 2-4 wolves emerges from the underbrush, hungry and territorial",
"weight": 4
},
{
"content": "Hidden pit trap covered by branches and leaves (10 ft deep, 1d6 damage)",
"weight": 3
},
{
"content": "Mischievous sprites swap one random item from each character's pack with forest debris",
"weight": 2
},
{
"content": "A dryad's tree is being cut down by loggers - she pleads for help",
"weight": 1
}
]
}json
{
"name": "Treasure Types",
"description": "Parent table for different types of treasure",
"entries": [
{
"content": "{{Gold::gold-quantities}}",
"weight": 1
},
{
"content": "{{Gemstone::gemstones}}",
"weight": 1
},
{
"content": "{{Weapon::weapons}} that is {{Quirk::weapon-quirks}}",
"weight": 1
}
]
}text
{{reference-title::table-id::table-name::roll-number::separator}}json
{
"content": "{{::currency}}"
}json
{
"content": "{{::items::Items::3}}"
}json
{
"content": "{{::monsters::Monsters::2::||}}"
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
An MCP (Model Context Protocol) server for managing and rolling on random-table assets used in tabletop RPGs. Create, update, and roll on random tables with support for nested tables, weighted entries, and range-based results. Random Tables MCP Server From manually flipping through sourcebooks to wrestling with nested Excel formulas, I've tried every random table solution out there—which is exactly why I built **MCP Random Tables** to be the flexible generation tool I've always wanted. This $1 server bridges worlds: drop in your tables for LLM interaction or use the standalone scripts for token-free efficiency. Either way, the hexagonal ar
From manually flipping through sourcebooks to wrestling with nested Excel formulas, I've tried every random table solution out there—which is exactly why I built MCP Random Tables to be the flexible generation tool I've always wanted.
This MCP (Model Context Protocol) server bridges worlds: drop in your tables for LLM interaction or use the standalone scripts for token-free efficiency. Either way, the hexagonal architecture ensures your random generation stays organized, maintainable, and ready when inspiration runs dry.
My random table journey probably looks familiar to many of you—starting with physical books and dice, graduating to spreadsheets with formulas, and now exploring what's possible in the LLM space. This server is the culmination of that journey, designed to handle everything from simple lookups to complex nested tables with the flexibility modern GMs deserve.
Why build it on hexagonal architecture? Because as my own needs evolved from manual lookups to programmatic generation, I learned that keeping the core logic separate from how you access it is the key to longevity:
I'm actively working on those script-based tools mentioned in the features section, ensuring you can use this system with or without LLMs—giving you the freedom to choose the right approach for each situation while leveraging the same powerful table structures.
create_table - Create a new random table with optional initial entriesroll_on_table - Roll on a specific table and returns the resultupdate_table - Update an existing table (name, description, entries)list_tables - List available tables with metadataget_table - Get details of a specific tablecreate_template - Create a new roll templateget_template - Get a specific roll template by IDlist_templates - List all available roll templatesupdate_template - Update an existing roll templatedelete_template - Delete a roll template by IDevaluate_template - Evaluate a roll template by resolving all references to tablesSee the Environment Variables section for how to switch between using Tools and Resources.
table://{tableId} - Access a specific tabletables:// - Access a list of all tablestemplate://{id} - Access a specific roll templatetemplates:// - Access a list of all roll templatesNote: The examples below use simplified table IDs (like "gold-quantities") for readability. In actual implementation, table IDs are UUIDs (e.g., "b2cf46a1-1884-4492-8770-d1b7e796355d"). The template syntax structure itself is strict and must be followed exactly. For more comprehensive examples, see the Simple Encounter and Nested Treasure guides.
Create a forest encounter table with weighted entries for different encounter types:
{
"name": "Low-Mid Level Forest Encounters",
"description": "A varied table of forest encounters for low to mid-level adventurers",
"entries": [
{
"content": "A pack of 2-4 wolves emerges from the underbrush, hungry and territorial",
"weight": 4
},
{
"content": "Hidden pit trap covered by branches and leaves (10 ft deep, 1d6 damage)",
"weight": 3
},
{
"content": "Mischievous sprites swap one random item from each character's pack with forest debris",
"weight": 2
},
{
"content": "A dryad's tree is being cut down by loggers - she pleads for help",
"weight": 1
}
]
}
Higher weights (4) make encounters more common than rare encounters (1).
Create a comprehensive treasure generation system with multiple interconnected tables:
{
"name": "Treasure Types",
"description": "Parent table for different types of treasure",
"entries": [
{
"content": "{{Gold::gold-quantities}}",
"weight": 1
},
{
"content": "{{Gemstone::gemstones}}",
"weight": 1
},
{
"content": "{{Weapon::weapons}} that is {{Quirk::weapon-quirks}}",
"weight": 1
}
]
}
When you roll on this table, it automatically resolves references to other tables (gold-quantities, gemstones, weapons, weapon-quirks), creating rich, varied results like "a bag of gold coins" or "a sword that is glowing with inner fire".
The template system allows you to create complex, nested random generation systems by referencing other tables. Templates use double curly braces with a flexible syntax:
{{reference-title::table-id::table-name::roll-number::separator}}
Where:
reference-title: Optional title for the referencetable-id: ID of the table to roll ontable-name: Optional name for readabilityroll-number: Number of times to roll (default: 1)separator: Separator between multiple rolls (default: ", ")Simple Reference:
{
"content": "{{::currency}}"
}
Rolls once on the "currency" table.
Multiple Rolls:
{
"content": "{{::items::Items::3}}"
}
Rolls 3 times on the "items" table, results separated by commas.
Custom Separator:
{
"content": "{{::monsters::Monsters::2::||}}"
}
Rolls twice on the "monsters" table, results separated by "||".
Here's how 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.
You can also create standalone templates that can be reused across multiple tables:
{
"name": "NPC Description",
"description": "Template for generating NPC descriptions",
"template": "A {{::appearance}} {{::race}} {{::class}} who {{::personality}}"
}
These templates can be managed independently of tables, allowing for more modular and reusable content.
To integrate the MCP Random Tables server with Claude Desktop, you need to add the server configuration to your claude_desktop_config.json file.
{
"mcpServers": {
"random-tables": {
"type": "stdio",
"command": "npx",
"args": ["-y", "random-tables-mcp"],
"env": {} // Empty object uses default values
}
}
}
When using an empty env object, the server will use default values (DATA_DIR='./data' and CAN_USE_RESOURCE='false'). If you need to customize these values, specify them explicitly:
{
"mcpServers": {
"random-tables": {
"type": "stdio",
"command": "npx",
"args": ["-y", "random-tables-mcp"],
"env": {
"DATA_DIR": "/path/to/your/preferred/data/directory",
"CAN_USE_RESOURCE": "true"
}
}
}
}
# Clone the repository
git clone https://github.com/MikeORed/random-tables-mcp
cd random-tables-mcp
# Install dependencies
npm install
# Build the project
npm run build
The server can be configured using the following environment variables:
DATA_DIR: Directory where table data is stored (default: ./data)
CAN_USE_RESOURCE: Controls whether to use MCP Resources or Tools for certain functionality (default: false)
true: Uses the TableResource and TemplateResource for accessing tables and templatesGetTableTool and GetTemplateTool instead of resourcesThis allows compatibility with LLM clients that may not fully support MCP Resources.
# Run in development mode
npm run dev
# Run tests
npm test
# Build the project
npm run build
# Run the built project
npm start
Common issues:
Server not showing up in Claude Desktop
Tool execution failures
Check Claude Desktop logs at:
~/Library/Logs/Claude/mcp*.log%APPDATA%\\Claude\\logs\\mcp*.logComprehensive documentation is available in the docs directory:
/
├── docs/ # Documentation for users and developers
├── src/ # Source code
│ ├── domain/ # Core domain entities and value objects
│ ├── ports/ # Interface definitions for primary and secondary ports
│ ├── useCases/ # Application use cases and service implementations
│ ├── adapters/ # Primary and secondary adapters
│ │ ├── primary/ # Adapters that drive the application (MCP server)
│ │ └── secondary/ # Adapters driven by the application (persistence, RNG)
│ └── index.ts # Application entry point
├── test/ # Test files
│ ├── unit/ # Unit tests for individual components
│ ├── integration/ # Tests for component interactions
│ └── e2e/ # End-to-end tests
└── scripts/ # Build and utility scripts
The project uses Jest for testing. Run the tests with:
npm test
Test Location Standard:
test/ directory, mirroring the structure of the src/ directory.src/adapters/secondary/rng/DefaultRandomNumberGenerator.ts should be in test/unit/adapters/secondary/rng/DefaultRandomNumberGenerator.test.ts.Test Types:
test/unit/ - Test individual components in isolationtest/integration/ - Test interactions between componentstest/e2e/ - Test the entire systemGot an idea or bug? Open an issue and let's chat—PRs are welcome! See the Contributing Guide for more details.
This project is released under the MIT License.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key
Streaming
No
Data region
global
Protocol support
Requires: mcp, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key"
],
"requires": [
"mcp",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/MikeORed/random-tables-mcp#input",
"outputSchemaRef": "https://github.com/MikeORed/random-tables-mcp#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:45:52.224Z",
"sourceUpdatedAt": "2026-02-24T19:45:52.224Z",
"freshnessSeconds": 4429903
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T02:17:35.548Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "random-tables",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "rpg",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ttrpg",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "pathfinder",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "pf2e",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "dnd",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "dungeons-and-dragons",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "tabletop",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "game-master",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "claude",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:mcp|supported|profile capability:random-tables|supported|profile capability:rpg|supported|profile capability:ttrpg|supported|profile capability:pathfinder|supported|profile capability:pf2e|supported|profile capability:dnd|supported|profile capability:dungeons-and-dragons|supported|profile capability:tabletop|supported|profile capability:game-master|supported|profile capability:claude|supported|profile capability:model-context-protocol|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:52.224Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key",
"href": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:52.224Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/MikeORed/random-tables-mcp#input",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:52.224Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Mikeored",
"href": "https://github.com/MikeORed/random-tables-mcp#readme",
"sourceUrl": "https://github.com/MikeORed/random-tables-mcp#readme",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "2 GitHub stars",
"href": "https://github.com/MikeORed/random-tables-mcp",
"sourceUrl": "https://github.com/MikeORed/random-tables-mcp",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-mikeored-random-tables-mcp/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub · GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to random-tables-mcp and adjacent AI workflows.