mcpField
D
diceport

diceport

ローカル
github.com/CloudCorpRecordsゲーム・エンタメ02 日前に更新

diceport について

diceportは、サイコロ、コイン投げ、ランダムな整数を扱うコマンドラインツール兼MCPサーバーです。シードを指定すると結果を再現でき、出目ごとの値と合計も確認できます。

主な機能

  1. 01NdM表記でのサイコロ
  2. 02コイン投げ
  3. 03範囲内の整数生成
  4. 04シードによる結果の再現
  5. 05各出目と合計の表示

活用シーン

  1. 01スクリプトでシード付きのランダム選択
  2. 02ゲームの出目を記録

MCP 対応

stdio MCPサーバーとして、サイコロ、コイン投げ、両端を含む範囲の整数生成ツールを提供します。各ツールではシードを任意で指定できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-diceport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/diceport"
]
}
}
}
起動コマンドnpx -y @reneturcios/diceport

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/diceport0.1.0
ocighcr.io/cloudcorprecords/diceport:0.1.0

ツール

3

掲載時のツール一覧 · 1 日前に更新

パラメーター型必須説明
seedintegerいいえ再現可能な出目を得るためのシード
notationstringはい2d6 や 3d8+2 などのサイコロ表記

詳細

diceport

diceport はサイコロを振り、コインを投げ、ランダムな整数を選びます。 スクリプトやエージェントに公平で説明可能な偶然性が必要な場面を想定して 作られています。サイコロを振ると、合計に使われた目がすべて表示され、 どの呼び出しにもシードを指定して結果を再現できます。同じシードなら、 いつでも同じ結果になります。

インストール

npx @reneturcios/diceport roll 2d6

または、コンテナイメージを実行します。

docker run -i ghcr.io/cloudcorprecords/diceport

コンテナはデフォルトで MCP サーバーとして動作します(以下を参照)。CLI として使うには、CLI 引数を渡してください。

CLI

# Roll dice in NdM notation, with an optional +N / -N modifier
diceport roll 2d6
# 2d6: [3, 5] total 8
diceport roll 3d8+2 --seed 42   # reproducible

# Flip a coin
diceport flip                   # heads (or tails)
diceport flip --seed 7 --json

# Pick an integer between two bounds, inclusive
diceport random 1 100
diceport random 1 100 --seed 42

diceport --version

記法は NdM です。N 個の M 面ダイスを振ります。個数は省略でき(d20 は 1 個のダイスを振ります)、固定の修正値を末尾に追加できます(2d6+3、 1d100-5)。

終了コード:成功時は 0、ロールまたは範囲を処理できない場合(記法が 不正、範囲の上下限が逆など。エラーで理由を説明します)は 1、使用法 エラーの場合は 2 です。

MCP サーバー

どちらのインターフェースも、1 つのバイナリで利用できます。mcp サブ コマンドで stdio MCP サーバーを起動します。

npx -y @reneturcios/diceport mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "diceport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/diceport", "mcp"]
    }
  }
}
ツール
ツール入力返される内容
roll_dicenotation(文字列、必須。例:2d6+3)、seed(整数、任意)振った各ダイスの目、修正値、合計。
flip_coinseed(整数、任意)heads または tails。
random_numbermin、max(整数、必須)、seed(整数、任意)min から max までの範囲(両端を含む)から選ばれた整数。

シードを指定した呼び出しでは mulberry32 ジェネレーターを使用するため、 シードによって結果が完全に決まり、報告された結果を再現できます。シードを 指定しない呼び出しでは、プラットフォームのランダムソースから値を取得します。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, no network
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。