f0_make_randomvalues MCP Server
FGDB(Functional Graph Database)システムの f0_make_randomvalues 関数ブロックを、Model Context Protocol (MCP) サーバーとして実装したものです。
概要
このMCPサーバーは、乱数生成機能をClaude DesktopやClaude Codeなどのクライアントアプリケーションに提供します。
主な機能
乱数生成: 指定された範囲とパラメータで乱数を生成
データ保存: 生成した乱数をCSVファイルに保存
統計分析: データの統計的特性を分析
データ読み込み: 保存されたCSVファイルからデータを読み込み
リソースアクセス: URI経由でデータやメタデータにアクセス
プロンプトテンプレート: 一般的なワークフロー用のインタラクティブプロンプト
システム要件
Python 3.8以上
uv(推奨)またはpip
Claude DesktopまたはClaude Code(MCPクライアントとして)
インストール
1. uvを使った環境構築
uvのインストール
Windows (PowerShell):
macOS/Linux:
プロジェクトのセットアップ
2. pipを使った環境構築(代替方法)
設定
Claude Desktopでの設定
設定ファイルの場所
macOS:
Windows:
設定内容
claude_desktop_config.json に以下を追加:
注意: パスは実際のインストール先に合わせて変更してください。
macOS/Linuxの例:
Claude Codeでの設定
Claude Codeの設定は、Claude Desktopと同じ設定ファイルを共有します。
設定手順
設定ファイルを開く
Claude Code内で設定メニューを開く
MCP設定セクションに移動
サーバーを追加 上記のClaude Desktop設定と同じJSON設定を追加
再起動 Claude Codeを再起動して設定を反映
使い方
基本的な使用例
1. 乱数を生成する
MCPサーバーが generate_random_numbers ツールを使用して乱数を生成します。
2. データを保存する
3. 統計分析を実行する
4. リソースにアクセスする
サーバーが random://current リソースにアクセスします。
利用可能なツール
generate_random_numbers
乱数を生成します。
パラメータ:
count(int): 生成する乱数の個数(デフォルト: 5)min_value(int): 最小値(デフォルト: 0)max_value(int): 最大値(デフォルト: 999)seed(int, optional): 乱数シード(再現性のため)
戻り値:
save_random_data
乱数データをCSVファイルに保存します。
パラメータ:
numbers(List[int]): 保存する整数のリストfilename(str): 出力ファイル名(デフォルト: "data.csv")
analyze_random_data
データの統計分析を実行します。
パラメータ:
numbers(List[int]): 分析する整数のリスト
戻り値:
load_data_from_csv
CSVファイルからデータを読み込みます。
パラメータ:
filename(str): 読み込むCSVファイル名
write_function_notation
FGDB関数記法をファイルに書き込みます。
パラメータ:
filename(str): 出力ファイル名(デフォルト: "func.txt")
利用可能なリソース
random://current
最後に生成された乱数データを取得します。
file://data/{filename}
保存されたCSVファイルからデータを読み込みます。
例: file://data/test_data.csv
meta://statistics
現在のデータの統計メタデータを取得します。
meta://files
データディレクトリ内の全ファイルをリストアップします。
meta://server-info
サーバー情報と機能一覧を取得します。
プロンプトテンプレート
Generate Test Dataset
テストデータセットを生成するためのガイド付きプロンプト。
パラメータ:
purpose: データセットの目的(デフォルト: "testing")size: サイズ - "small"(10), "medium"(100), "large"(1000)
Analyze Random Data
データ分析のためのステップバイステップガイド。
パラメータ:
data_source: "current"または保存されたファイル名
Create Reproducible Dataset
シードを使用して再現可能なデータセットを作成。
パラメータ:
seed: 乱数シード(デフォルト: 42)count: 生成する値の数(デフォルト: 100)
Batch Data Generation
複数バッチのデータを生成するワークフロー。
パラメータ:
num_batches: バッチ数(デフォルト: 5)batch_size: 各バッチのサイズ(デフォルト: 20)
Data Quality Check
データ品質チェックを実行するガイド。
パラメータ:
filename: チェックするCSVファイル(デフォルト: "data.csv")
開発とデバッグ
デバッグモードでの実行
MCPインスペクターの使用
MCPインスペクターを使用してサーバーをテストできます:
ログの確認
macOS:
Windows:
プロジェクト構造
トラブルシューティング
サーバーが起動しない
Pythonバージョンを確認
python --version # 3.8以上が必要依存関係を再インストール
uv pip install -r requirements.txt --force-reinstallパス設定を確認 設定ファイルのパスが絶対パスで正しいか確認
ツールが見つからない
Claude Desktop/Codeを再起動
設定ファイルの文法を確認 JSONが正しい形式か確認(カンマ、括弧など)
サーバーログを確認 エラーメッセージを確認
データが保存されない
書き込み権限を確認
# macOS/Linux ls -la mcp/data/ # Windows icacls mcp\dataディレクトリが存在するか確認
# 必要に応じて作成 mkdir -p mcp/data
セキュリティ考慮事項
ファイルアクセスは
./dataディレクトリ内に制限されていますパストラバーサル攻撃を防ぐための検証が実装されています
許可された拡張子(.csv, .txt, .json)のみアクセス可能です
ライセンス
このプロジェクトはFGDBシステムの一部です。
参考資料
サポート
問題が発生した場合は、以下を確認してください:
この README のトラブルシューティングセクション
mcp_specification.mdの技術仕様サーバーログファイル
バージョン: 1.0.0 最終更新: 2025-10-02
This server cannot be installed