First Mcp Server について
First Mcp Serverは、FastMCPで構築されたPython製の休暇管理サンプルサーバーです。従業員の残日数確認や申請、履歴参照を試せますが、データはメモリ上にあり、再起動すると初期状態に戻ります。
主な機能
- 01従業員の休暇残日数の確認
- 02残日数を確認しながら休暇を申請
- 03従業員の休暇履歴の表示
- 04greeting://リソースによる個別の挨拶
- 05メモリ内のモックデータ保存
活用シーン
- 01従業員が利用できる休暇残日数の確認
- 02指定日の休暇申請
- 03従業員の過去の休暇日の確認
MCP 対応
MCPサーバーは、残日数確認、休暇申請、履歴取得のツールと、個別の挨拶を返すgreeting://リソースを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
#休暇管理システム これは、Python の FastMCP フレームワークを使用して構築されたシンプルな休暇管理システムです。従業員は、休暇残日数の確認、特定の日付での休暇申請、休暇履歴の確認、個別のあいさつの受け取りができます。このシステムでは、従業員の休暇データを保存するために、メモリ内のモックデータベースを使用します。 機能
休暇残日数の確認:従業員の残りの休暇日数を取得します。 休暇の申請:残日数を確認しながら、特定の日付の休暇を申請します。 休暇履歴の確認:従業員が以前に休暇を取得した日付を確認します。 個別のあいさつ:ユーザー向けのカスタムあいさつメッセージを取得します。
前提条件
Python 3.8 以降 FastMCP ライブラリ(インストール済み、または環境で利用可能であることを確認してください)
依存関係をインストールするには(FastMCP が pip で利用可能な場合): pip install fastmcp
インストール
プロジェクトファイルをローカルマシンにクローンまたはダウンロードします。 Python と必要な依存関係がインストールされていることを確認します。 メインスクリプト(例:leave_manager.py)を作業ディレクトリに配置します。
使い方
サーバーを実行する:コードをファイル(例:leave_manager.py)に保存し、実行します: python leave_manager.py
これにより、LeaveManager という名前の FastMCP サーバーが起動します。
サーバーとやり取りする:FastMCP と互換性のあるクライアントインターフェース(例:API 呼び出し、CLI、UI)を使用して、次のコマンドを送信します:
休暇残日数の確認:get_leave_balance("E001") 応答例:E001 の休暇残日数は 18 日です。
休暇の申請:apply_leave("E002", ["2025-04-17", "2025-04-18"]) 応答例:2 日間の休暇を申請しました。残りの休暇残日数:18 日。
休暇履歴の取得:get_leave_history("E001") 応答例:E001 の休暇履歴:2024-12-25、2025-01-01
あいさつの取得:greeting://Alice 応答例:こんにちは、Alice さん!本日は休暇管理についてどのようにお手伝いできますか?
モックデータベース このシステムでは、モックデータベースとしてメモリ内の辞書(employee_leaves)を使用し、次の内容で初期化します:
従業員 E001:休暇残日数 18 日、履歴:["2024-12-25", "2025-01-01"] 従業員 E002:休暇残日数 20 日、履歴:[]
注:データが保持されるのはサーバーの実行中のみです。サーバーを再起動すると、データは初期状態に戻ります。 コード構成
FastMCP サーバー:FastMCP("LeaveManager") でサーバーを作成します。 ツール: get_leave_balance(employee_id: str):残りの休暇日数を返します。 apply_leave(employee_id: str, leave_dates: List[str]):指定した日付の休暇を申請します。 get_leave_history(employee_id: str):休暇履歴を取得します。
リソース: get_greeting(name: str):greeting://{name} を通じて個別のあいさつを返します。
制限事項
メモリ内ストレージ:サーバーの再起動後もデータを保持することはできません。 日付の検証:日付形式の検証や、休暇日の重複チェックは行いません。 スケーラビリティ:モックデータベースを使用した小規模な用途向けに設計されています。 エラー処理:従業員 ID と休暇残日数の基本的な確認を行います。本番環境で使用するには、追加の検証が必要になる場合があります。
今後の改善点
従業員データの永続ストレージ(例:SQLite や MongoDB)を追加します。 日付形式の検証を実装し、休暇申請の重複を防止します。 従業員データへのアクセスを保護するため、認証を追加します。 休暇の一括申請やキャンセルに対応します。 操作を簡単にするため、使いやすいフロントエンドを統合します。
テスト システムをテストするには、次のプロンプト例を使用します:
{EID} の { } の日付に休暇を申請 {EID} の休暇履歴を取得 (EID} の休暇残日数を取得
サーバーが実行中であることを確認し、互換性のあるクライアントを使ってこれらのリクエストを送信します。 ライセンス このプロジェクトはデモを目的としており、特定のライセンスは含まれていません。用途に応じて変更して使用してください。 お問い合わせ 質問や貢献については、プロジェクトのメンテナーに連絡するか、リポジトリで issue を作成してください(該当する場合)。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。