{"id":"d209a041-7718-4878-969b-495c48eb23c4","slug":"camegone-bcdicemcpwrapper","kind":"mcp","name":"BCDiceMCPWrapper","summary":"A wrapper MCP server of BCDice (famous dice bot)","owner":"camegone","repoUrl":"https://github.com/camegone/BCDiceMCPWrapper","license":"BSD-3-Clause","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-09-12T11:08:35.000Z","addedAt":"2026-10-14T10:50:09.965Z","logoUrl":"https://avatars.githubusercontent.com/u/121595305?u=b7bf12f3b1c77199d93cf7eeb8fc948de7e06fb4&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra"],"tags":[],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-17T20:14:56.833Z","sample":false,"url":"https://conduits.dev/tools/camegone-bcdicemcpwrapper","language":"TypeScript","transports":["stdio"],"install":{"npm":"@camegone/bcdice-mcp"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"[日本語版はこちら](./README_ja.md)\n\n# BCDice MCP Server Wrapper\n\n## Overview\n\nThis is an **MCP (Model Context Protocol) server** wrapper for **BCDice**. BCDice is a popular tabletop role-playing game (TRPG) dice bot in Japan, supporting **over 100 different game systems**. \n\nWith this MCP server, LLMs can not only execute standard dice roll commands (**1d100**, **2d6**, etc.), but also retrieve game system help messages, command syntax patterns, and execute game-specific resolution mechanics.\n\n## Features\n\n- **Supports all BCDice game systems** (e.g., Call of Cthulhu, Emoklore TRPG, and many others).\n- Retrieve **system-specific dice commands and rules**.\n- Inspect **regex patterns** used for command parsing.\n- Access **full BCDice capabilities**, from standard dice rolls to complex game-specific tables and custom user-defined tables.\n\n## Installation\n\n**Node.js** and **npm** are required as prerequisites.\n\n### Using npx\n\nAdd the following configuration to your MCP-compatible client settings:\n\n```json\n{\n  \"mcpServers\": {\n    \"bcdice\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"@camegone/bcdice-mcp\"\n      ]\n    }\n  }\n}\n```\n\n### Installing from Repository\n\nClone the repository or download and extract the ZIP file:\n\n```bash\ngit clone https://github.com/camegone/BCDiceMCPWrapper.git\n```\n\nThen, add the following to your MCP client configuration file. **Make sure to replace `<YOUR_INSTALL_PATH>` with the actual path where this repository is located.**\n\n```json\n{\n  \"mcpServers\": {\n    \"bcdice\": {\n      \"command\": \"node\",\n      \"args\": [\n        \"<YOUR_INSTALL_PATH>/BCDiceMCPWrapper/build/index.js\"\n      ]\n    }\n  }\n}\n```\n\n## Available Tools\n\nThis server provides the following tools:\n\n### 1. `rollDice`\nExecutes a dice roll according to the rules of the specified game system. In addition to standard dice (`1d100`, `2d6+4`, etc.), system-specific check commands (such as Call of Cthulhu's `CC<=50`) are fully supported.\n- **Arguments**:\n  - `diceCommand` (string, **required**): The dice command expression to execute (e.g., `'1d100'`, `'3d6'`, `'2d6+4'`, `'CC<=50'`).\n  - `system` (string, optional, default: `'DiceBot'`): Target game system name (retrievable via `getGameSystemsList`, e.g., `'Cthulhu'`, `'Cthulhu7th'`, `'DiceBot'`).\n- **Returns**:\n  - Dice roll result text (success/failure judgment, individual dice rolls, etc.). Returns the system help message if the command is invalid.\n---\n### 2. `getDescription`\nRetrieves the help message (available commands and resolution explanations) and command regular expression patterns for the specified game system.\n- **Arguments**:\n  - `system` (string, optional, default: `'DiceBot'`): Game system name to get descriptions for.\n- **Returns**:\n  - System help message (command specifications and formats)\n  - Regular expression patterns for command matching\n---\n### 3. `getGameSystemsList`\nRetrieves a list of all game systems available in BCDice.\n- **Arguments**: None\n- **Returns**:\n  - A metadata list (JSON format) containing system IDs, display names, etc.\n---\n### 4. `rollUserDefinedTable`\nRolls on a user-defined custom table defined in plain text format.\n- **Arguments**:\n  - `tableText` (string, **required**): Table definition text containing table title, dice expression, and mapped outcomes.\n    ```text\n    Table Title\n    1D6\n    1:One\n    2:Two\n    3:Three\n    4:Four\n    5:Five\n    6:Six\n    ```\n- **Returns**:\n  - Result text from rolling on the custom table.\n---\n### 5. `getDiceBotVersion`\nRetrieves the version of the underlying BCDice library.\n- **Arguments**: None\n- **Returns**:\n  - BCDice version string (e.g., `BCDice version: 4.10.0`).\n---\n### 6. `getMCPServerVersion`\nRetrieves the version of this MCP server.\n- **Arguments**: None\n- **Returns**:\n  - MCP server version string (e.g., `MCP server version: 1.0.1`).\n\n## Example Usage (Chat Log)\n\n**User**: I'd like to test the BCDice MCP server. Let's execute rolls step by step. The system is Call of Cthulhu 6th Edition.\n\n**AI**: I have checked the command specifications for Call of Cthulhu 6th Edition in BCDice. The check command format is `CC<=skill_value` (using the 1% critical/fumble rules).\n\nShall we start with ability score generation, or would you like to test skill checks (`CC`) first? For instance, a STR check is rolled as `CC<=STR`. Let me know what you'd like to roll. For now, shall we do a test roll with `1d100`, which is commonly used for Sanity checks?\n\n**User**: Let's do a test roll of 1d100 first.\n\n**AI**: The result of rolling 1d100 was **27**.\n\nLet's move on to the next step. As typical in CoC 6th Edition, would you like to roll ability scores (3d6, 2d6+6, etc.), skill checks (`CC<=skill_value`), or a SAN check next?\n\n**User**: An enemy is attacking. Let's decide who gets targeted. The party has five members: Ichiro through Goro.\n\n**AI**: The enemy's attack target was determined to be **Goro**.\n\nNext, shall we proceed with Goro's Dodge check (e.g., `CC<=DEX*5`) or the damage roll?\n\n**User**: Let's roll Dodge.\n\n**AI**: Please tell me Goro's Dodge skill value (DEX × 5, or the modified value if developed). Once you share it, I will roll `CC<=skill_value`.\n\n**User**: DEX is 9.\n\n**AI**: Goro's Dodge check: `29 <= 45 -> Success`. The attack was successfully dodged!\n\nWhat would you like to do next? (Enemy's follow-up attack, damage roll, another check, etc.)\n\n**User**: Next is Ichiro's turn. Rolling Fist. Skill value is 50, base damage is 1d3, and damage bonus is 1d4.\n\n**AI**: Ichiro's Brawl check: `56 > 50 -> Failure`. The punch swung through the air and missed.\n\nWhat would you like to do next? (Enemy's turn, another character's action, etc.)\n\n**User**: Let's stop here. That was a great test. Thank you!\n\n**AI**: You're very welcome! The BCDice MCP server handled Call of Cthulhu 6th Edition checks and dice expressions smoothly. Feel free to reach out anytime you want to play again. Have a great session!\n"}