f0_make_randomvalues MCP Server

f0_make_randomvalues MCP Server

Enables random number generation with statistical analysis, CSV data storage, and data visualization capabilities. Provides interactive prompts for creating test datasets, analyzing data quality, and managing reproducible random data workflows.

Category
访问服务器

README

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):

powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

macOS/Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh

プロジェクトのセットアップ

# プロジェクトディレクトリに移動
cd /path/to/f0_ws

# 仮想環境の作成と依存関係のインストール
uv venv
uv pip install -r requirements.txt

2. pipを使った環境構築(代替方法)

# 仮想環境の作成
python -m venv venv

# 仮想環境の有効化
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# 依存関係のインストール
pip install -r requirements.txt

設定

Claude Desktopでの設定

設定ファイルの場所

macOS:

~/Library/Application Support/Claude/claude_desktop_config.json

Windows:

%APPDATA%\Claude\claude_desktop_config.json

設定内容

claude_desktop_config.json に以下を追加:

{
  "mcpServers": {
    "f0_random": {
      "command": "uv",
      "args": [
        "--directory",
        "C:\\Users\\sengo\\Dropbox (旧)\\Dropbox\\FGDB\\workspace\\f0_ws\\mcp",
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "PYTHONPATH": "C:\\Users\\sengo\\Dropbox (旧)\\Dropbox\\FGDB\\workspace\\f0_ws\\mcp"
      }
    }
  }
}

注意: パスは実際のインストール先に合わせて変更してください。

macOS/Linuxの例:

{
  "mcpServers": {
    "f0_random": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/f0_ws/mcp",
        "run",
        "python",
        "server.py"
      ],
      "env": {
        "PYTHONPATH": "/absolute/path/to/f0_ws/mcp"
      }
    }
  }
}

Claude Codeでの設定

Claude Codeの設定は、Claude Desktopと同じ設定ファイルを共有します。

設定手順

  1. 設定ファイルを開く

    • Claude Code内で設定メニューを開く
    • MCP設定セクションに移動
  2. サーバーを追加 上記のClaude Desktop設定と同じJSON設定を追加

  3. 再起動 Claude Codeを再起動して設定を反映

使い方

基本的な使用例

1. 乱数を生成する

Claude Desktop/Codeで:
「10個の乱数を生成してください」

MCPサーバーが generate_random_numbers ツールを使用して乱数を生成します。

2. データを保存する

「生成した乱数をtest_data.csvに保存してください」

3. 統計分析を実行する

「データの統計分析を行ってください」

4. リソースにアクセスする

「現在のデータを確認してください」

サーバーが random://current リソースにアクセスします。

利用可能なツール

generate_random_numbers

乱数を生成します。

パラメータ:

  • count (int): 生成する乱数の個数(デフォルト: 5)
  • min_value (int): 最小値(デフォルト: 0)
  • max_value (int): 最大値(デフォルト: 999)
  • seed (int, optional): 乱数シード(再現性のため)

戻り値:

{
  "numbers": [404, 971, 885, ...],
  "count": 10,
  "min_value": 0,
  "max_value": 999,
  "timestamp": "2025-10-02T12:34:56.789012",
  "seed": null
}

save_random_data

乱数データをCSVファイルに保存します。

パラメータ:

  • numbers (List[int]): 保存する整数のリスト
  • filename (str): 出力ファイル名(デフォルト: "data.csv")

analyze_random_data

データの統計分析を実行します。

パラメータ:

  • numbers (List[int]): 分析する整数のリスト

戻り値:

{
  "mean": 615.7,
  "median": 618.0,
  "std_dev": 234.5,
  "variance": 55010.25,
  "min": 328,
  "max": 971,
  "count": 10,
  "sum": 6157,
  "range": 643
}

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")

開発とデバッグ

デバッグモードでの実行

cd mcp
uv run python server.py --debug

MCPインスペクターの使用

MCPインスペクターを使用してサーバーをテストできます:

npx @modelcontextprotocol/inspector uv --directory ./mcp run python server.py

ログの確認

macOS:

tail -f ~/Library/Logs/Claude/mcp-server-f0_random.log

Windows:

Get-Content "$env:APPDATA\Claude\Logs\mcp-server-f0_random.log" -Wait

プロジェクト構造

f0_ws/
├── mcp/                      # MCPサーバー実装
│   ├── server.py            # メインサーバー
│   ├── models.py            # Pydanticデータモデル
│   ├── tools.py             # ツール実装
│   ├── resources.py         # リソースハンドラー
│   ├── prompts.py           # プロンプトテンプレート
│   └── data/                # データ保存ディレクトリ
├── f0_make_randomvalues/    # オリジナルの関数ブロック
│   ├── func.py
│   └── lib.py
├── requirements.txt         # Python依存関係
├── README.md               # このファイル
└── mcp_specification.md    # 技術仕様書

トラブルシューティング

サーバーが起動しない

  1. Pythonバージョンを確認

    python --version  # 3.8以上が必要
    
  2. 依存関係を再インストール

    uv pip install -r requirements.txt --force-reinstall
    
  3. パス設定を確認 設定ファイルのパスが絶対パスで正しいか確認

ツールが見つからない

  1. Claude Desktop/Codeを再起動

  2. 設定ファイルの文法を確認 JSONが正しい形式か確認(カンマ、括弧など)

  3. サーバーログを確認 エラーメッセージを確認

データが保存されない

  1. 書き込み権限を確認

    # macOS/Linux
    ls -la mcp/data/
    
    # Windows
    icacls mcp\data
    
  2. ディレクトリが存在するか確認

    # 必要に応じて作成
    mkdir -p mcp/data
    

セキュリティ考慮事項

  • ファイルアクセスは ./data ディレクトリ内に制限されています
  • パストラバーサル攻撃を防ぐための検証が実装されています
  • 許可された拡張子(.csv, .txt, .json)のみアクセス可能です

ライセンス

このプロジェクトはFGDBシステムの一部です。

参考資料

サポート

問題が発生した場合は、以下を確認してください:

  1. この README のトラブルシューティングセクション
  2. mcp_specification.md の技術仕様
  3. サーバーログファイル

バージョン: 1.0.0 最終更新: 2025-10-02

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选