MCP Server Tutorial について
MCP Server Tutorialは、FastMCPで構築されたサーバーで、基本・高度な数学演算と個別の挨拶リソースを提供します。MCPの実演や計算ツールを必要とするクライアント向けです。
主な機能
- 01基本的な四則演算
- 02べき乗、平方根、階乗、対数
- 03正弦、余弦、正接
- 04剰余計算
- 05個別の挨拶リソース
活用シーン
- 01MCPクライアント経由の算術計算
- 02べき乗、根、対数の計算
- 03名前に応じた挨拶の取得
MCP 対応
MCPクライアントに数学ツールと動的な挨拶リソースを提供します。stdioとSSEのトランスポートに対応しています。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP サーバーのチュートリアル
このリポジトリには、FastMCP で構築されたシンプルな MCP(Model Context Protocol)サーバーが含まれています。このサーバーは、MCP プロトコルを通じて利用できる、さまざまな数学演算をツールとして提供します。
特長
- 基本的な算術演算(加算、減算、乗算、除算)
- 高度な数学関数:
- べき乗
- 平方根
- 立方根
- 階乗
- 対数
- 三角関数(sin、cos、tan)
- 余り
- 動的なあいさつリソース
前提条件
- Python 3.8 以降
- FastMCP ライブラリ
インストール
- このリポジトリをクローンします
- 仮想環境を作成して有効化します:
uv venv source venv/bin/activate # On Windows: venv\Scripts\activate - 依存関係をインストールします:
uv install fastmcp
使用方法
サーバーの実行
次のコマンドでサーバーを実行します:
python main.py
サーバーはデフォルトで SSE(Server-Sent Events)トランスポートを使用するため、MCP Inspector を使って接続できます。
MCP Inspector を使った接続
- MCP Inspector を開きます
npx @modelcontextprotocol/inspector
- SSE トランスポートタイプを選択します
- サーバーの URL(通常は http://localhost:8000/sse)に接続します
- サーバーで定義されている数学ツールとリソースを操作できるようになります
利用可能なツール
add(a, b):2つの数値を加算しますsubtract(a, b):2つの数値を減算しますmultiply(a, b):2つの数値を乗算しますdivide(a, b):2つの数値を除算しますpower(a, b):a の b 乗を計算しますsqrt(a):数値の平方根を計算しますcbrt(a):数値の立方根を計算しますfactorial(a):数値の階乗を計算しますlog(a):数値の自然対数を計算しますremainder(a, b):a を b で割ったときの余りを計算しますsin(a):数値の正弦を計算しますcos(a):数値の余弦を計算しますtan(a):数値の正接を計算します
利用可能なリソース
greeting://{name}:指定された名前に合わせたあいさつを返します
サーバーの変更
main.py のパターンに従って、ツールやリソースを追加できます:
- 新しいツールを追加するには、
@mcp.tool()デコレーターを使います - 新しいリソースを追加するには、
@mcp.resource()デコレーターを使います
トランスポートのオプション
FastMCP は、次の2つのトランスポートプロトコルをサポートしています:
stdio:標準入出力(ターミナルベース)sse:Server-Sent Events(ブラウザベース、MCP Inspector と互換性があります)
トランスポートプロトコルを変更するには、mcp.run() 呼び出しの transport パラメーターを変更します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。