Random Value MCP Server
# ランダム値生成MCPサーバー
ランダムな数値と文字列を生成するModel Context Protocol (MCP) サーバーです。
## 機能
- **ランダム数値生成**: 指定した範囲内のランダムな整数を生成
- **ランダム文字列生成**: 指定した長さのランダムな英数字文字列を生成
- **入力値検証**: 包括的なエラーハンドリングと検証
- **MCP準拠**: MCPプロトコル仕様との完全な互換性
## ツール
### generate_random_number
指定した範囲内のランダムな整数を生成します。
**パラメータ:**
- `min` (number): 最小値(含む)
- `max` (number): 最大値(含む)
**例:**
```json
{
"name": "generate_random_number",
"arguments": {
"min": 1,
"max": 100
}
}
```
### generate_random_string
英数字(A-Z, a-z, 0-9)を使用して指定した長さのランダム文字列を生成します。
**パラメータ:**
- `length` (number): 生成する文字列の長さ(最小: 1)
**例:**
```json
{
"name": "generate_random_string",
"arguments": {
"length": 10
}
}
```
## インストール
1. リポジトリをクローン
2. 依存関係をインストール:
```bash
npm install
```
3. プロジェクトをビルド:
```bash
npm run build
```
## 使用方法
### 直接実行
```bash
node dist/index.js
```
### 起動スクリプト使用
```bash
./bin/start.sh
```
### MCPクライアント設定
MCPクライアントの設定に追加:
```json
{
"mcpServers": {
"random-value-server": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/path/to/random-value-mcp-server"
}
}
}
```
### Claude Code統合
このMCPサーバーをClaude Codeで使用するには:
1. サーバーがビルドされ準備完了していることを確認:
```bash
npm run build
```
2. Claude Codeの設定にサーバー設定を追加。MCP設定ファイル(通常は `~/.config/claude-code/mcp.json` 、devcontainer内であれば `claude mcp add random-value-generator node /workspace/dist/index.js` など)を作成または編集:
```json
{
"mcpServers": {
"random-value-server": {
"command": "node",
"args": ["dist/index.js"],
"cwd": "/absolute/path/to/random-value-mcp-server"
}
}
}
```
3. 新しいMCPサーバーを読み込むためClaude Codeを再起動
4. サーバーがClaude Codeセッションで利用可能になります。以下のようにして使用できます:
- `generate_random_number` with `min` and `max` パラメータ
- `generate_random_string` with `length` パラメータ
**Claude Codeでの使用例:**
```
1から100の間のランダムな数値を生成してください。
8文字のランダムな文字列を生成してください。
```
Claude Codeが自動的にMCPサーバーを使用してこれらのリクエストを処理します。
## テスト
テストスイートを実行:
```bash
node test/test-server.js
```
以下をテストします:
- サーバー初期化
- ツール一覧
- ランダム数値生成(有効・無効なケース)
- ランダム文字列生成(有効・無効なケース)
- エラーハンドリング
## 開発
- `npm run build`: TypeScriptコードをビルド
- `npm run dev`: 変更を監視して再ビルド
- `npm run clean`: ビルドアーティファクトをクリーン
## 技術詳細
- **プロトコル**: MCP (Model Context Protocol)
- **トランスポート**: STDIO
- **言語**: TypeScript/Node.js
- **SDK**: @modelcontextprotocol/sdk
## エラーハンドリング
サーバーには包括的なエラーハンドリングが含まれています:
- 無効なパラメータ範囲(数値でmin > max)
- 無効な文字列長(< 1)
- 必須パラメータの欠如
- 未知のツール名
すべてのエラーは適切なMCPエラーレスポンスとして説明的なメッセージと共に返されます。TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one generates random numbers within a range, while the other generates random strings of a specified length. There is no overlap in functionality, making it easy for an agent to choose the correct tool based on the desired output type.
Both tools follow a consistent verb_noun naming pattern with 'generate_random_' as the prefix, followed by the specific output type ('number' or 'string'). This uniformity makes the tool set predictable and easy to understand.
With only two tools, the server feels thin for a 'Random Value MCP Server' that might be expected to handle more varied random generation tasks (e.g., booleans, floats, UUIDs, or selections from lists). The scope is minimal, limiting its utility in broader contexts.
The tool set is severely incomplete for a random value generation domain. It lacks common operations like generating random booleans, floats, UUIDs, or picking random items from lists, which are typical needs in such applications. This will likely cause agent failures when more diverse random values are required.