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 서명, 만료 시간, 대상(audience) 클레임
인증 헤더:
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)
프로토콜: NDJSON 스트리밍을 사용하는 MCP (Model Context Protocol)
토큰 검증: 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