Okta-mcp-server

Integrations

  • Supported AI provider via Google Vertex AI, allowing use of Google's Gemini models through the Vertex AI platform.

  • Mentioned as an example integration that could be used alongside the Okta MCP Server for operations like creating spreadsheets with Okta user data.

  • Enables AI models to interact directly with Okta environments, providing tools for user management (listing, retrieving user details), group operations (listing groups and members), application management (listing applications and assigned users), policy and network management (listing policy rules and network zones), and system log event retrieval.

Okta MCP 서버는 AI 모델이 모델 컨텍스트 프로토콜(MCP)을 사용하여 Okta 환경과 직접 상호 작용할 수 있도록 하는 혁신적인 도구입니다. IAM 엔지니어, 보안 팀 및 Okta 관리자를 위해 특별히 설계된 이 서버는 MCP 사양을 구현하여 AI 어시스턴트가 Okta 리소스를 관리하고 분석하는 방식을 혁신합니다.

📋 목차

🔍 모델 컨텍스트 프로토콜이란 무엇인가요?

⚠️ 중요: 보안 및 제한 사항

Okta MCP 서버를 사용하기 전에 이 섹션을 주의 깊게 읽어보세요.

🔄 데이터 흐름 및 개인 정보 보호

요청을 하면 LLM과 Okta MCP 도구 간에 직접 상호작용이 이루어지며, 클라이언트 애플리케이션은 더 이상 중간에 위치하지 않습니다. 이러한 도구에서 반환되는 모든 데이터(전체 사용자 프로필, 그룹 멤버십 등)는 해당 대화의 전체 트랜잭션 동안 LLM 컨텍스트로 전송되어 저장됩니다.

주요 개인정보 보호 고려 사항:

  • LLM(Claude, GPT 등)은 도구에서 검색한 모든 Okta 데이터를 수신하고 처리합니다.
  • 이 데이터는 대화가 진행되는 동안 LLM 컨텍스트에 남아 있습니다.
  • 귀하는 LLM 공급자의 시스템에서 귀하의 Okta 사용자 데이터가 처리되는 것에 대해 편안해야 합니다.
  • 이러한 도구를 사용하기 전에 Okta 데이터가 AI 모델의 서버로 전송되는 것에 익숙해지십시오.

📊 컨텍스트 창 제한 사항

MCP는 대량 데이터 작업이 아닌 Zapier와 비슷한 가벼운 워크플로우를 위해 설계되었습니다.

권장 사항: 트랜잭션당 요청 수를 100개 미만으로 제한하세요. 대용량 데이터세트를 가져오거나 여러 API 호출을 필요로 하는 작업은 피하세요.

예:

다음과 같은 유형의 요청은 피하세요.

  • "Okta 테넌트에서 10,000명의 사용자를 모두 가져와서 로그인 패턴을 분석합니다."
  • "Okta Verify가 요소로 등록되지 않은 사용자 찾기"

더 나은 접근 방식:

  • "최근에 생성된 20명의 사용자를 가져옵니다"
  • "90일 이상 로그인하지 않은 사용자를 찾습니다. 처음 50개 결과로 제한"

💡 대규모 데이터 세트와 복잡한 쿼리의 경우: 대규모 쿼리와 데이터 세트에는 Okta AI Agent를 사용하는 것을 고려하세요. 이 에이전트는 가까운 시일 내에 대규모 데이터 세트와 더 복잡한 시나리오를 처리할 수 있는 유사한 "실행 가능한" 기능으로 향상될 예정입니다.

🚨 SSE 운송 보안 경고

HTTP 전송 모드를 통한 SSE에는 심각한 보안 위험이 있습니다.

  • Okta 테넌트에 대한 전체 액세스 권한이 있는 인증되지 않은 HTTP 서버를 엽니다.
  • 인증이나 권한이 제공되지 않습니다.
  • 네트워크 포트에 도달할 수 있는 사람은 누구나 Okta 환경에 명령을 내릴 수 있습니다.

모범 사례: 특정 보안 제어가 없는 한 STDIO 전송 방식(기본 모드)만 사용하세요.

🛠️ 사용 가능한 도구

Okta MCP 서버는 현재 다음과 같은 도구를 제공합니다.

사용자 관리

  • list_okta_users - 필터링, 검색 및 페이지 매김 옵션을 사용하여 사용자를 검색합니다.
  • get_okta_user - ID 또는 로그인으로 특정 사용자에 대한 자세한 정보를 가져옵니다.
  • list_okta_user_groups - 특정 사용자가 속한 모든 그룹을 나열합니다.
  • list_okta_user_applications - 특정 사용자에 대한 모든 애플리케이션 링크(할당된 애플리케이션)를 나열합니다.
  • list_okta_user_factors - 특정 사용자에 대해 등록된 모든 인증 요소를 나열합니다.

그룹 운영

  • list_okta_groups - 필터링, 검색 및 페이지 매김 옵션을 사용하여 그룹을 검색합니다.
  • get_okta_group - 특정 그룹에 대한 자세한 정보를 가져옵니다.
  • list_okta_group_members - 특정 그룹의 모든 멤버를 나열합니다
  • list_okta_assigned_applications_for_group - 특정 그룹에 할당된 모든 애플리케이션을 나열합니다.

애플리케이션 관리

  • list_okta_applications - 필터링, 검색 및 페이지 매김 옵션을 사용하여 애플리케이션 검색
  • list_okta_application_users - 특정 애플리케이션에 할당된 모든 사용자 나열
  • list_okta_application_group_assignments - 특정 애플리케이션에 할당된 모든 그룹을 나열합니다.

정책 및 네트워크 관리

  • list_okta_policy_rules - 자세한 조건 및 작업을 포함하여 특정 정책에 대한 모든 규칙을 나열합니다.
  • get_okta_policy_rule - 특정 정책 규칙에 대한 자세한 정보를 가져옵니다.
  • list_okta_network_zones - IP 범위 및 구성 세부 정보가 포함된 모든 네트워크 영역을 나열합니다.

시스템 로그 이벤트

  • get_okta_event_logs - 시간 기반 필터링 및 검색 옵션을 사용하여 Okta 시스템 로그 이벤트를 검색합니다.

날짜 및 시간 유틸리티

  • get_current_time - ISO 8601 형식으로 현재 UTC 시간을 가져옵니다.
  • parse_relative_time - 자연어 시간 표현식을 ISO 8601 형식으로 변환합니다.

애플리케이션, 요소, 정책 및 보다 고급 작업을 위한 추가 도구가 로드맵에 있으며 향후 릴리스에 추가될 예정입니다.

🚀 빠른 시작

필수 조건

✅ 컴퓨터에 Python 3.8 이상이 설치되어 있어야 합니다.
✅ 적절한 API 액세스 권한이 있는 Okta 테넌트
✅ MCP 호환 AI 클라이언트(Claude Desktop, Microsoft Copilot Studio 등)

⚠️ 중요 모델 호환성 참고 사항:
모든 AI 모델이 이 MCP 서버에서 작동하는 것은 아닙니다. 테스트는 다음 서버에서만 수행되었습니다.

  • GPT-4.0
  • 클로드 3.7 소네트
  • 구글-2.5-프로

도구 호출/함수 호출 기능을 명시적으로 지원하는 최신 모델 버전을 사용해야 합니다. 이전 모델이나 도구 호출을 지원하지 않는 모델은 Okta MCP 서버와 상호 작용할 수 없습니다.

🧠 지원되는 AI 제공업체

Okta MCP 서버는 유연한 구성 시스템을 통해 여러 AI 공급자를 지원합니다. 이를 통해 특정 요구 사항과 기존 액세스 권한에 따라 다양한 대규모 언어 모델에 연결할 수 있습니다.

현재 지원되는 공급자:

공급자환경 변수설명
오픈AIAI_PROVIDER=openaiGPT-4o와 같은 모델을 사용하여 OpenAI API에 연결합니다. OpenAI API 키가 필요합니다.
Azure 오픈AIAI_PROVIDER=azure_openai향상된 보안 및 규정 준수 기능을 갖춘 Azure 호스팅 OpenAI 모델을 사용하세요.
인류학적AI_PROVIDER=anthropicAnthropic의 Claude 모델에 연결합니다(주로 Claude 3.7 Sonnet으로 테스트됨).
구글 버텍스 AIAI_PROVIDER=vertex_aiVertex AI를 통해 Google의 Gemini 모델을 사용하세요. Google Cloud 서비스 계정이 필요합니다.
OpenAI 호환AI_PROVIDER=openai_compatibleFireworks.ai, Ollama 또는 OpenAI API 사양을 구현하는 다른 공급자 등 OpenAI API 호환 엔드포인트에 연결합니다.

설치

지엑스피1

⚠️ 주의: 이 저장소를 새로 복제하거나 업데이트를 가져오는 경우 항상 pip install -r requirements.txt 다시 실행하여 모든 종속성이 최신 상태인지 확인하세요.

구성 및 사용

Okta 설정을 사용하여 구성 파일을 만듭니다.

명령줄 클라이언트(메모리 없음)를 사용하려면 아래 지침을 따르세요.

# Copy the sample config cp .env.sample .env # Edit the env with your settings # Required: Okta domain and API token and LLM settings cd clients python mcp-cli-stdio-client.py

Claude Code, vsCode 등과 같은 MCP 호스트를 사용하려면 아래의 json 구성을 찾으세요.

지원되는 운송 및 발사

Okta MCP 서버는 두 가지 전송 프로토콜을 지원합니다.

1. 표준 I/O(STDIO) - 권장
  • 보안 : 표준 입출력 스트림을 통한 직접 통신
  • 사용 사례 : Claude Desktop과 같은 데스크톱 AI 어시스턴트에 이상적
  • 구성 : Claude Desktop의 경우 claude_desktop_config.json 에 다음을 추가합니다.
    { "mcpServers": { "okta-mcp-server": { "command": "DIR/okta-mcp-server/venv/Scripts/python", "args": [ "DIR/okta-mcp-server/main.py" ], "env": { "OKTA_CLIENT_ORGURL": "https://dev-1606.okta.com", "OKTA_API_TOKEN": "OKTA_API_TOKEN" } } } }
    DIR 절대 디렉토리 경로로 바꾸고 OKTA_API_TOKEN 실제 토큰으로 바꾸세요.
2. 서버 전송 이벤트(SSE) - 고급 사용자만 사용 가능
# Run in SSE mode (requires explicit risk acknowledgment) python main.py --sse --iunderstandtherisks

⚠️ 경고 : SSE 전송은 네트워크에 접속할 수 있는 모든 사람이 접근할 수 있는 웹 엔드포인트를 통해 서버를 노출합니다. 적절한 네트워크 보호가 적용된 안전한 환경에서만 사용하세요.

  • 다른 MCP 클라이언트의 경우 : STDIO 또는 SSE 전송에 대한 설명서에 따라 구성합니다.

⚠️ 알아두면 좋은 정보

알파 릴리스 🧪

  • 초기 개발 단계 - 잦은 업데이트가 예상됩니다.
  • API 표면 적용 범위는 계속 확장되고 있습니다.
  • 현재 사용자 및 그룹에 대한 읽기 전용 작업에 중점을 두고 있습니다.
  • 더 많은 도구와 기능이 빠르게 추가되고 있습니다.
  • 아직 프로덕션 환경에 적합하지 않습니다.

보안이 최우선입니다 🛡️

  • 최소 권한 작동을 위해 설계되었습니다.
  • Okta 리소스에 대한 기본 읽기 전용 액세스
  • 향후 쓰기 작업에는 명시적인 승인 흐름이 필요합니다.

현재 제한 사항 🔍

  • 사용자 및 그룹을 위한 제한된 읽기 전용 도구 세트로 시작
  • 향후 릴리스에서 API 적용 범위를 빠르게 확장할 계획입니다.
  • 아직 공개되지 않은 복잡한 Okta 관계
  • 아직 최적화되지 않은 매우 큰 Okta 인스턴스의 성능
  • Okta API 엔드포인트에 대한 직접 네트워크 액세스가 필요합니다.

🗺️ 로드맵

현재 진행 상황:

  • [x] MCP 프로토콜 준수
  • [x] 기본 Okta API 통합
  • [x] 읽기 전용 작업 지원

향후 계획은 다음과 같습니다.

  • [ ] 포괄적인 문서
  • [ ] 사용자 라이프사이클 작업 완료
  • [ ] 애플리케이션 할당 관리
  • [ ] 그룹 멤버십 운영
  • [ ] 요인 등록 및 검증
  • [ ] 정책 및 규칙 관리
  • [ ] 민감한 작업에 대한 승인 워크플로
  • [ ] 다중 채널 승인 옵션(웹, 이메일, Slack)
  • [ ] 감사 로깅 및 규정 준수 보고
  • [ ] 시스템 로그 통합
  • [ ] 보안 인사이트 생성
  • [ ] 멀티 테넌트 지원
  • [ ] 역할 기반 접근 제어

🆘 도움이 필요하신가요?

문제를 제기하기 전에 다음 사항을 확인하세요.

  1. 📝 서버 구성
  2. 🔑 Okta API 권한
  3. 🔌 MCP 클라이언트 호환성
  4. 📊 서버 로그

여전히 문제가 발생하시나요? GitHub에서 이슈를 등록하거나 support@fctr.io 로 이메일을 보내주세요. (답변 시간은 다를 수 있습니다.)

💡 기능 요청 및 아이디어

아이디어나 제안이 있으신가요? GitHub에서 기능 요청을 남겨주세요 !

👥 기여자

참여하고 싶으신가요? 환영합니다! 협업 기회는 info@fctr.io 로 문의해 주세요.

⚖️ 법률 관련 사항

자세한 내용은 License.md 확인하세요.


🌟 © 2025 Fctr Identity. 모든 권리 보유. Okta 및 AI 커뮤니티를 위해 ❤️로 제작되었습니다.

Related MCP Servers

  • A
    security
    A
    license
    A
    quality
    An MCP server implementation that enables interaction with the Letta API for managing agents, memory blocks, and tools in the Letta system.
    Last updated -
    9
    13
    JavaScript
    MIT License
    • Linux
    • Apple
  • -
    security
    A
    license
    -
    quality
    MCP Server for Netbird
    Last updated -
    28
    Go
    Apache 2.0

View all related MCP servers

ID: q1myh7k2mh