Skip to main content
Glama
AniketDonode

Leave Manager

by AniketDonode

Leave Manager MCPサーバー

このプロジェクトは、SQLiteを使用して従業員、休暇残高、休暇申請を管理するPython MCPサーバーです。

1. プロジェクトを作成する

PowerShellを開き、プロジェクトディレクトリを作成してください:

mkdir D:\Coding\mcpserver\LeaveManager
cd D:\Coding\mcpserver\LeaveManager

leave_manager_server 内に uv Pythonプロジェクトを作成してください:

uv init leave_manager_server
cd leave_manager_server
uv add "mcp[cli]>=2.1.1"

このプロジェクトにはPython 3.14以降が必要です。uvpyproject.tomluv.lock、およびサーバーの実行に使用する仮想環境を作成します。

Related MCP server: leave_manager

2. サーバーを実装する

server.py を作成し、次の各部分を追加します:

  1. mcp.server.mcpserver から MCPServer をインポートします。

  2. MCPServer("Leave Manager") でサーバーを作成します。

  3. EmployeeLeaveRequest データモデルを定義します。

  4. 絶対パスを使用して server.py と同じディレクトリにSQLiteデータベースを作成します。

  5. 起動時に employeesleave_requests テーブルを初期化し、サンプルデータを挿入します。

  6. 従業員ディレクトリと休暇申請用のリソースを追加します。

  7. 休暇の申請・承認、残高の確認、未承認申請の一覧取得、データベース統計の取得、従業員の追加を行うツールを追加します。

  8. __main__ ブロックからサーバーを起動します:

if __name__ == "__main__":
		init_database()
		mcp.run()

このプロジェクトはMCP 2.xを使用します。古いMCP 1.xのインポートは、この依存関係では動作しません:

from mcp.server.fastmcp import FastMCP

有効なMCP 2.xの形式は次のとおりです:

from mcp.server.mcpserver import MCPServer

mcp = MCPServer("Leave Manager")

3. サーバーを直接実行する

プロジェクトディレクトリから:

cd D:\Coding\mcpserver\LeaveManager\leave_manager_server
uv run server.py

サーバーはMCP通信に標準入出力を使用するため、MCPクライアントが接続されている間は実行を続けます。停止するには Ctrl+C を押します。

長時間実行されるサーバーを起動せずに、モジュールが正しくインポートされることを検証します:

uv run python -c "import server; print('Server import valid')"

4. MCP Inspectorでテストする

サポートされている開発コマンドは次のとおりです:

cd D:\Coding\mcpserver\LeaveManager\leave_manager_server
uv run mcp dev server.py

MCP InspectorはNode.jsを使用します。最新のInspectorを使用する前に、Node.js 22.19.0以降をインストールしてください。バージョンは次のコマンドで確認します:

node --version
npm --version

このPythonプロジェクトディレクトリには package.json がないため、npm i を実行しないでください。Inspectorがネイティブバインディングの欠落を報告した場合は、一時的な npx キャッシュをクリアして再試行してください:

Remove-Item "$env:LOCALAPPDATA\npm-cache\_npx" -Recurse -Force
uv run mcp dev server.py

5. Claude Desktopを接続する

Claude Desktopは次の場所から設定を読み取ります:

%APPDATA%\Claude\claude_desktop_config.json

このサーバーエントリを追加します。プロジェクトが別の場所に保存されている場合は、パスを置き換えてください:

{
	"mcpServers": {
		"leave-manager": {
			"command": "uv",
			"args": [
				"run",
				"--directory",
				"D:\\Coding\\mcpserver\\LeaveManager\\leave_manager_server",
				"server.py"
			]
		}
	}
}

設定を保存した後、Claude Desktopを再起動します。サーバーは初回起動時に server.py と同じディレクトリに leave_manager.db を作成します。

利用可能なMCP機能

リソース:

  • employees://all

  • employee://{employee_id}

  • leave-requests://all

  • leave-requests://employee/{employee_id}

  • leave-requests://status/{status}

ツール:

  • submit_leave_request

  • approve_leave_request

  • check_leave_balance

  • get_pending_approvals

  • get_database_stats

  • add_employee

  • This will add my Config file automatic uv run mcp install server.py --name "leave_manager"

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AniketDonode/LeaveManager'

If you have feedback or need assistance with the MCP directory API, please join our Discord server