Skip to main content
Glama

HRシステム MCPサーバー

Oktaトークン検証機能を備えた、非公式のプロトタイプMCPサーバーです。評価およびテスト目的でのみ使用してください。

📚 ドキュメント

完全なドキュメントは docs/ フォルダーにあります:

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

利用可能なツール

ツール

説明

パラメータ

get_employee

IDで従業員を取得

employee_id: str

list_employees

全従業員を一覧表示

なし

get_employee_payroll

給与情報を取得

employee_id: str

get_time_off_requests

休暇申請を取得

employee_id: str (任意)

使用例

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でローカル実行 - 完全な制御、テスト

docker-compose up -d

推奨事項

  • 断続的または予測不可能な使用には Vercel を使用してください(安価で自動スケーリングします)

  • 一定のトラフィックがある場合や、長いタイムアウトが必要な場合は Railway を使用してください

トラブルシューティング

完全なトラブルシューティングガイドについては、docs/RAILWAY_DEPLOYMENT.md を参照してください。

クイックフィックス:

  • トークン検証失敗: .env 内の OKTA_DOMAINOKTA_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/ フォルダーを参照してください:

参照

ステータス

⚠️ 非公式プロトタイプ - 評価およびテスト目的のみ。本番環境での使用は想定していません。

ライセンス: Apache 2.0

F
license - not found
Not graded
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables 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.
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with Insperity's REST API to access employee data, including employee lists, check details, and profile information for HR management tasks.
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables querying HR data like recent hires, employee details, departments, and PTO balances through natural language in an MCP client.

View all related MCP servers

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.

View all MCP Connectors

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/BalaGanaparthi/hr-mcp'

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