HR System MCP Server
HRシステム MCPサーバー
Oktaトークン検証機能を備えた、非公式のプロトタイプMCPサーバーです。評価およびテスト目的でのみ使用してください。
📚 ドキュメント
完全なドキュメントは docs/ フォルダーにあります:
docs/RAILWAY_README.md - Railway.comへのデプロイ (3ステップ) 🚀
docs/DOCKER_QUICK_START.md - Dockerを使用したローカル実行 🐳
docs/README_INTEGRATION.md - デプロイ済みサーバーの使用方法 🔌
docs/CLAUDE.md - 開発者ガイドとアーキテクチャ 💻
docs/INDEX.md - ドキュメントインデックス 📖
Related MCP server: Keka MCP Server
概要
HRシステム MCPサーバーは以下を提供します:
✅ 従業員情報の検索
✅ 従業員ディレクトリの一覧表示
✅ 給与情報へのアクセス
✅ 休暇申請の管理
✅ すべてのツール呼び出しに対する Okta OAuth 2.0トークン検証
✅ HTTP/NDJSONストリーミングサポート (FastMCP)
✅ Railwayデプロイ対応 🚀
認証
このサーバーは、すべてのツール呼び出し(initializeを除く)に対してOktaアクセストークンを検証します:
トークンソース: Okta認可サーバー
検証: JWT署名、有効期限、オーディエンスクレーム
認可ヘッダー:
Authorization: Bearer <access_token>
クイックスタート
# Setup
cp env.example .env
# Edit .env with your Okta credentials
# Install dependencies
pip install -r requirements.txt
# Run in HTTP mode (for Okta MCP Adapter)
python main.py --http 8001設定
.env (環境変数)
OKTA_DOMAIN=ijtestcustom.oktapreview.com
OKTA_AUTHORIZATION_SERVER_ID=auss2fth0mcIXHzVO1d7
OKTA_AUDIENCE=
OKTA_REQUIRED_SCOPES=
# When true (default), tools/list without auth returns 401. When false, allows unauthenticated tools/list (e.g. for gateway registration).
# PROTECTED_DISCOVERY=true利用可能なツール
ツール | 説明 | パラメータ |
| IDで従業員を取得 |
|
| 全従業員を一覧表示 | なし |
| 給与情報を取得 |
|
| 休暇申請を取得 |
|
使用例
VS Code/Copilot経由で直接使用
# Endpoint
http://localhost:8001/mcp
# Authorization
Authorization: Bearer <okta_access_token>Okta MCPアダプターゲートウェイ経由
# Gateway will:
# 1. Receive request from client
# 2. Validate Okta token
# 3. Forward to HR System MCP
# 4. Attach authorization header実装の詳細
フレームワーク: FastMCP 3.0.0b1
サーバー: Uvicorn (非同期HTTP)
プロトコル: MCP (Model Context Protocol) (NDJSONストリーミング)
トークン検証: JWKSベースのJWT検証(署名検証付き)
キャッシュ: TTL付きのJWKSキーキャッシュ
リクエストフロー
Client Request
↓
Authorization Header (Okta token)
↓
Initialize (no token needed)
↓
tools/list (validate token)
↓
tools/call (validate token)
↓
Response🚀 デプロイオプション
Vercel (サーバーレス) ⚡
サーバーレス関数としてデプロイ - 自動スケーリング、従量課金
✅ 用途: 断続的な使用、自動スケールダウン
✅ 無料枠: 100GB帯域幅/月
⚠️ 制約: 10秒のタイムアウト(無料枠)、5分(Pro)
📖 ガイド: docs/VERCEL_README.md
Railway.com (従来のサーバー) 🚂
常時稼働サーバーとしてデプロイ - 常時稼働、無制限のタイムアウト
✅ 用途: 一定のトラフィック、永続的な接続
✅ 無料枠: 500時間/月(その後は月額5ドル)
✅ タイムアウトなし: リクエスト期間無制限
📖 ガイド: docs/RAILWAY_README.md
Docker (ローカル開発) 🐳
Dockerでローカル実行 - 完全な制御、テスト
📖 ガイド: docs/DOCKER_QUICK_START.md
docker-compose up -d推奨事項:
断続的または予測不可能な使用には Vercel を使用してください(安価で自動スケーリングします)
一定のトラフィックがある場合や、長いタイムアウトが必要な場合は Railway を使用してください
トラブルシューティング
完全なトラブルシューティングガイドについては、docs/RAILWAY_DEPLOYMENT.md を参照してください。
クイックフィックス:
トークン検証失敗:
.env内のOKTA_DOMAINとOKTA_AUTHORIZATION_SERVER_IDを確認してくださいポートが既に使用中: 起動コマンドでポートを変更してください:
python main.py --http 8002環境変数の不足:
.envの例をコピーして値を入力してくださいJWKS取得エラー: Oktaドメインと認可サーバーIDが正しいか確認してください
プロジェクト構造
hr-mcp-server/
├── main.py # FastMCP server with HTTP handler
├── requirements.txt # Python dependencies
├── Dockerfile # Docker container definition
├── docker-compose.yml # Docker Compose configuration
├── railway.json # Railway deployment config
├── deploy-railway.sh # Deployment helper script
├── test_server.sh # Server test script
├── auth/ # Authentication module
│ ├── __init__.py
│ └── okta_validator.py # Okta token validation
└── docs/ # Documentation
├── INDEX.md # Documentation index
├── RAILWAY_README.md # Railway quick start
├── RAILWAY_DEPLOYMENT.md # Complete deployment guide
├── DOCKER_QUICK_START.md # Docker reference
├── README_INTEGRATION.md # Usage guide
├── CLAUDE_CODE_SETUP.md # Claude Code setup
├── CLAUDE.md # Developer documentation
└── ...more docs完全なドキュメントガイドについては、docs/INDEX.md を参照してください。
テスト
# Using curl with Okta token
curl -X POST http://localhost:8001/mcp \
-H "Authorization: Bearer <your_okta_token>" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list",
"params": {}
}'📖 ドキュメント
完全なドキュメントについては、docs/ フォルダーを参照してください:
はじめに - ドキュメントインデックス
Railwayへのデプロイ - クラウドデプロイガイド
Dockerでの実行 - ローカル開発
統合ガイド - サーバーの使用方法
開発者ガイド - アーキテクチャと開発
参照
ステータス
⚠️ 非公式プロトタイプ - 評価およびテスト目的のみ。本番環境での使用は想定していません。
ライセンス: Apache 2.0
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- -licenseNot gradedqualityNot gradedmaintenanceEnables interaction with employee management systems through a standardized MCP interface. Supports comprehensive employee operations including CRUD operations, search, filtering by level/status, and data synchronization.
- AlicenseNot gradedqualityDmaintenanceIntegrates with Keka HR platform to manage employee profiles, attendance, leave applications, payslips, and holidays through OAuth2-authenticated API tools.1,2841MIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Insperity's REST API to access employee data, including employee lists, check details, and profile information for HR management tasks.
- FlicenseNot gradedqualityBmaintenanceEnables querying HR data like recent hires, employee details, departments, and PTO balances through natural language in an MCP client.
Related MCP Connectors
Search, document and execute authenticated API calls across 700+ apps via one MCP server
Apideck Unified API MCP — 330 tools across 200+ SaaS connectors (accounting, CRM, HRIS, ATS).
Odoo ERP for AI agents: hosted OAuth endpoint, gated writes, one endpoint for every instance.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/BalaGanaparthi/hr-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server