관리 MCP 서버
KeenAuth 관리 MCP 서버를 사용하면 AI 어시스턴트가 Model Context Protocol을 통해 환경의 설정을 읽을 수 있습니다. 서버는 stdio를 통해 로컬에서 실행되며, 키를 사용해 관리 API를 호출합니다. 아직 설치 패키지는 제공되지 않습니다.
기본적으로 읽기 전용
--allow-write가 없으면 서버는 읽기 전용 도구만 노출합니다. 어떤 모드에서도 삭제하는 도구는 없습니다.
| 도구 | 반환 내용 |
|---|---|
users_list, users_get, users_search |
사용자. 개인 정보는 마스킹됩니다. |
applications_list, applications_get, application_credentials_list |
애플리케이션 |
apis_list, apis_get |
API |
connections_list, connections_get |
연결 |
api_keys_list, api_keys_get |
API 키. 메타데이터만 반환되며 원시 키는 반환되지 않습니다. |
organizations_list, organizations_get |
조직. 이름, slug, 외부 ID, 상태, 타임스탬프를 반환합니다. 조직 metadata는 반환되지 않습니다. |
custom_domains_list, custom_domains_get |
사용자 지정 도메인과 DNS 레코드 |
support_access_grants_list, support_access_grants_get |
지원 액세스 권한 부여 |
environment_settings_get |
환경 설정: 로케일, 시간대, 세션, 가입, 보안 알림, 계정 복구, MFA, 프런트채널 로그아웃, 허용된 첫 번째 인증 수단 |
이 버전에서 --unmask-pii는 종료 코드 2로 종료됩니다.
쓰기 도구
쓰기 도구도 노출하려면 --allow-write로 서버를 시작하십시오. 이 버전에는 다음 도구 하나가 있습니다.
| 도구 | 변경 내용 |
|---|---|
environment_settings_update |
활성화된 로케일, 기본 로케일, 기본 시간대만 변경합니다. 세션, 가입, 계정 복구, MFA, 보안 알림, 첫 번째 인증 수단 설정은 MCP로 변경할 수 없습니다. |
모든 쓰기는 두 번의 호출로 진행됩니다.
- 첫 번째 호출은 아무것도 변경하지 않습니다. 현재 설정을 읽고, 각 필드의 현재 값과 제안 값을 담은 미리 보기와
confirmation_token을 반환합니다. - 어시스턴트가 미리 보기를 보여줍니다. 승인한 후에만 어시스턴트가 완전히 같은 인수와
confirmation_token으로 도구를 다시 호출합니다. 그러면 서버가 변경 사항을 기록합니다.
confirmation_token은 실행 중인 서버가 생성하며 한 번만 사용할 수 있고 5분 후에 만료됩니다. 이 토큰은 도구, 정확한 인수, 미리 보기 된 설정 버전에 묶여 있습니다. 다른 인수와 함께 사용된 토큰은 거부되며 소진됩니다. 미리 보기 후 설정이 변경되었다면 쓰기는 412로 실패하며, 처음부터 다시 시작해야 합니다. 서버는 초당 최대 5회 쓰기를 수행합니다.
삭제, 취소, 교체를 수행하는 도구는 --allow-write를 사용해도 노출되지 않습니다. MCP 클라이언트에서 쓰기 호출을 각각 승인하십시오. 쓰기 도구를 자동으로 승인하도록 클라이언트를 설정하지 마십시오.
설정
| 변수 | 필수 여부 | 설명 |
|---|---|---|
KEENAUTH_API_KEY |
예 | 관리 API 키. 읽기 범위만 있는 키를 사용하십시오. --allow-write를 사용할 때는 environment-settings:write만 추가하십시오. |
KEENAUTH_BASE_URL |
예 | 환경의 관리 API 기본 URL |
--tools <pattern>은 도구 목록을 좁힙니다. 예: --tools "users_*". 목록을 좁히기만 할 수 있으며, 꺼져 있는 도구를 켤 수는 없습니다. --allow-write가 없으면 쓰기 도구를 켤 수도 없습니다.
어시스턴트가 보는 내용
- 개인 정보는 마스킹됩니다. 이메일 주소는
a***@e***.com으로 표시되고, 전화번호는 끝 두 자리만 표시되며, 이름은 첫 글자만 표시됩니다. - 조직
metadata는 반환되지 않습니다.{"redacted": true}로 표시됩니다. 이 버전에는 멤버십, 조직 역할, 도메인, 정책을 다루는 도구가 없습니다. - 환경 설정은 문서화된 필드만 반환합니다. 서버가 나중에 추가하는 필드는 검토될 때까지 숨겨집니다.
- 비밀 값은 반환되지 않습니다. 비밀이나 개인 키처럼 보이는 필드는 제거되며, 응답의
redacted_fields에 제거된 필드 경로가 나열됩니다. - 모든 도구 결과는
untrusted_content로 감싸집니다. 그 안의 이름, 메타데이터, 설명은 지시가 아니라 데이터로 취급하십시오. - API 키는 도구 출력, 오류, 로그에 나타나지 않습니다.
감사 추적
MCP 서버가 보내는 모든 요청에는 Idp-Client: keenauth-mcp/<version>과 Idp-Mcp-Tool: <tool name>이 포함됩니다. 호출이 무언가를 변경하면 감사 로그 항목에 일반적인 행위자(API 키 또는 M2M 클라이언트)와 함께 metadata.client = mcp/<version>, metadata.mcp_tool = 도구 이름이 기록됩니다. 두 값은 검증되지 않고 MCP 서버가 선언한 값입니다. 어시스턴트가 무엇을 했는지 찾을 때 사용하고, 책임자를 판단할 때는 행위자 정보를 사용하십시오.
도구 정의 고정
도구 이름, 설명, 입력 스키마는 빌드 시점에 API 설명에서 생성되며 버전마다 고정됩니다. SHA-256 다이제스트는 tools.digest에 저장됩니다. 도구 정의가 하나라도 바뀌면 다이제스트가 바뀌며 보안 검토가 필요합니다.