MCP-Server for Data Analysis について
FastMCP を使った Excel データ分析用 MCP サーバーです。MCP クライアント経由でデスクトップ上の表計算ファイルを調べたいユーザー向けに、記述統計とグラフ作成を提供します。
主な機能
- 01デスクトップ上の Excel ファイル一覧
- 02シート情報とデータプレビューの読み取り
- 03記述統計と相関行列の計算
- 046 種類のグラフ作成
活用シーン
- 01列の型と先頭 5 行の確認
- 02数値・カテゴリ・日付列の集計
- 03表計算データから統計グラフを作成
MCP 対応
FastMCP により、Excel ファイルの読み取り、分析、作図をツールとして MCP クライアントに公開します。生成したグラフは画像オブジェクトで返します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
データ分析用 MCP サーバー
このサーバーは主にツールに重点を置いています。リソースとプロンプトのデモもいくつか含まれています。FastMCP を使用してサーバーを定義して実行し、各ツールをエンドポイントとして公開します。
機能
- デスクトップから Excel ファイルを読み取る
- 記述統計分析を実行する
- グラフを作成する(棒グラフ、円グラフ、折れ線グラフ、散布図、ヒストグラム、箱ひげ図など)
ツール
Excel ファイルの一覧表示
fileslist_excel_files(): デスクトップを検索して .xlsx ファイルと .xls ファイルを見つけ、ファイル名の一覧を返します。
Excel ファイルの読み取り
read_excel_file(filename, sheet_name=None): デスクトップから指定された Excel ファイルを読み取ります。sheet_name が指定されていない場合、デフォルトで最初のシートを読み取ります。行数、列数、先頭 5 行のプレビュー、データ型などの基本情報を返します。
Excel ファイルの分析
analyze_excel_data(filename, sheet_name=None): 数値列、カテゴリ列、日付列の記述統計を計算します。該当する場合は、数値列の相関行列も計算します。
グラフの生成
以下の各ツールは Excel ファイルからデータを読み取り、Matplotlib を使用してグラフを生成します。グラフは Image オブジェクト(メモリ内の PNG データ)として返され、MCP サーバーとやり取りするクライアントが後続の処理で利用できます。
create_bar_chart(filename, x_column, y_column, sheet_name=None, title=None, limit=10)
create_pie_chart(filename, labels_column, values_column, sheet_name=None, title=None, limit=8)
create_line_chart(filename, x_column, y_columns, sheet_name=None, title=None)
create_scatter_plot(filename, x_column, y_column, color_column=None, sheet_name=None, title=None)
create_histogram(filename, column, bins=10, sheet_name=None, title=None)
create_box_plot(filename, columns, sheet_name=None, title=None)
MCP サーバー
スクリプトを直接実行すると(例:python excel_analytics_server.py)、FastMCP サーバーが起動し、上記のすべてのツールが登録されます。これらのツールは、MCP インターフェースに対応したクライアントから呼び出せます。
Claude Desktop での使用方法
前提条件
- Claude Desktop をダウンロードします
手順 1:Python プロジェクトに MCP を追加する
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create a new project directory
uv init data_analysis_tool
cd data_analysis_tool
# Create and activate a virtual environment
uv venv
source .venv/bin/activate
# Install dependencies
uv add "mcp[cli]" httpx
手順 2:MCP サーバーを作成する
- ファイル excel_analytics_server.py をディレクトリ data_analysis_tool に配置します
- 実行します
pip install "mcp[cli]" pandas matplotlib openpyxl
手順 3:サーバーをテストする
mcp dev excel_analytics_server.py
手順 4:MCP を Claude に接続する
- これを claude_desktop_config.json に追加します
"data_analysis_tool": {
"command": "/Users/username/.local/bin/uv", # remember to change the username
"args": [
"--directory",
"xxx/data_analysis_tool", # change it to the directory of data_analysis_tool
"run",
"excel_analytics_server.py"
]
}
手順 5:完了!
- Claude で試してみましょう!
サンプル 1:

サンプル 2:

サンプル 3:

リソース
デモ: https://github.com/user-attachments/assets/6bf023ae-7d73-4bfb-95dd-d648a19133a1
プロンプト
デモ: https://github.com/user-attachments/assets/59596eae-b8d1-4e5f-951b-15d94d8d261f
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。