Skip to main content
Glama
okoshi-f

Random Value MCP Server

by okoshi-f

ランダム値生成MCPサーバー

ランダムな数値と文字列を生成するModel Context Protocol (MCP) サーバーです。

機能

  • ランダム数値生成: 指定した範囲内のランダムな整数を生成

  • ランダム文字列生成: 指定した長さのランダムな英数字文字列を生成

  • 入力値検証: 包括的なエラーハンドリングと検証

  • MCP準拠: MCPプロトコル仕様との完全な互換性

Related MCP server: Random Number MCP

ツール

generate_random_number

指定した範囲内のランダムな整数を生成します。

パラメータ:

  • min (number): 最小値(含む)

  • max (number): 最大値(含む)

例:

{
  "name": "generate_random_number",
  "arguments": {
    "min": 1,
    "max": 100
  }
}

generate_random_string

英数字(A-Z, a-z, 0-9)を使用して指定した長さのランダム文字列を生成します。

パラメータ:

  • length (number): 生成する文字列の長さ(最小: 1)

例:

{
  "name": "generate_random_string",
  "arguments": {
    "length": 10
  }
}

インストール

  1. リポジトリをクローン

  2. 依存関係をインストール:

    npm install
  3. プロジェクトをビルド:

    npm run build

使用方法

直接実行

node dist/index.js

起動スクリプト使用

./bin/start.sh

MCPクライアント設定

MCPクライアントの設定に追加:

{
  "mcpServers": {
    "random-value-server": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/random-value-mcp-server"
    }
  }
}

Claude Code統合

このMCPサーバーをClaude Codeで使用するには:

  1. サーバーがビルドされ準備完了していることを確認:

    npm run build
  2. Claude Codeの設定にサーバー設定を追加。MCP設定ファイル(通常は ~/.config/claude-code/mcp.json 、devcontainer内であれば claude mcp add random-value-generator node /workspace/dist/index.js など)を作成または編集:

    {
      "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サーバーを使用してこれらのリクエストを処理します。

テスト

テストスイートを実行:

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エラーレスポンスとして説明的なメッセージと共に返されます。

Available Tools

2 tools
generate_random_numberB

Generate a random integer within a specified range

ParametersJSON Schema
NameRequiredDescriptionDefault
minYesMinimum value (inclusive)
maxYesMaximum value (inclusive)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions generating a random integer but fails to add context beyond the basic action, such as randomness quality, performance, or any limitations (e.g., distribution, seed, rate limits). This leaves gaps in understanding the tool's behavior for an AI agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without unnecessary words. It is front-loaded and appropriately sized, making it easy to understand quickly with zero waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (two simple parameters, no output schema, no annotations), the description is minimally adequate but lacks depth. It covers the basic purpose but misses behavioral context and usage guidelines, making it incomplete for optimal agent use, though not severely deficient for such a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with clear parameter descriptions for 'min' and 'max'. The description adds no additional meaning beyond the schema, such as constraints or examples, but since the schema is comprehensive, the baseline score of 3 is appropriate as it doesn't compensate for any gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as generating a random integer within a specified range, using a specific verb ('generate') and resource ('random integer'), which is straightforward. However, it does not explicitly differentiate from its sibling tool 'generate_random_string', which likely generates strings instead of integers, so it misses full sibling distinction.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, such as the sibling 'generate_random_string' or other random generation methods. It lacks context on use cases, exclusions, or prerequisites, offering only a basic functional statement without usage instructions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

generate_random_stringC

Generate a random string of specified length using alphanumeric characters

ParametersJSON Schema
NameRequiredDescriptionDefault
lengthYesLength of the string to generate

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the output type ('random string') and character set ('alphanumeric characters'), but fails to cover important traits like whether the generation is deterministic, any rate limits, error handling, or the exact format of the output. This leaves significant gaps for a tool that produces data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without any unnecessary words. It is front-loaded and wastes no space, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the lack of annotations and output schema, the description is incomplete. It covers the basic purpose but misses critical details like the output format (e.g., string type, encoding), behavioral aspects (e.g., randomness source, constraints), and usage context. For a tool with no structured support, this leaves the agent under-informed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the 'length' parameter well-documented in the schema itself. The description adds minimal value by implying the parameter's role ('specified length') but doesn't provide additional semantics beyond what the schema already states, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Generate a random string') and specifies the resource ('of specified length using alphanumeric characters'), making the purpose understandable. However, it doesn't explicitly differentiate from the sibling tool 'generate_random_number', which is a minor gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like the sibling 'generate_random_number' or other string generation methods. It lacks context on prerequisites, use cases, or exclusions, leaving the agent with minimal direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 2 tool updatesv1.0.0
    • First observedgenerate_random_number
    • First observedgenerate_random_string

TDQS

B3.1/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    RandomWeb3MCP is a random element generation service based on EVM block hash. The service provides various random element generation tools that can be used in games, finance, testing, and other fields.
    10
    2
    -
  • A
    license
    A
    quality
    A
    maintenance
    Production-ready MCP server that provides LLMs with essential random generation abilities, including random integers, floats, choices, shuffling, and cryptographically secure tokens.
    7
    50
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    An encrypted and secure random number generation server that complies with the MCP protocol, suitable for AI applications, LLMS, and other systems that require high-quality random numbers.
    7
    2
    Apache 2.0

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/okoshi-f/random-value-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server