Skip to content

AI 클라이언트 연결 설정 ​

기업 소유자가 프로그램 등록을 마쳤다면, 공개 프로그램 ID와 HTTPS 콜백을 클라이언트에 설정합니다. 직접 SDK를 개발할 경우에도 같은 OAuth 인증이 필요합니다.

준비할 값 ​

값어디서 확인하나요?
MCP resource개발 환경 기본값 https://dev-api.infirium.org/mcp. 보호 리소스 메타데이터로 확인
client_id프로그램 등록 뒤 표시되는 공개 프로그램 ID
redirect_uri프로그램 담당자가 관리하고 소유자가 등록한 정확한 HTTPS 콜백 주소
scope목표별 프로그램 허용 목록을 처음 등록할 때 선택. 첫 OAuth 요청은 data:read만 사용

이 환경은 공개 클라이언트를 사용하므로 client secret을 넣지 않습니다. 기업 계정·그룹과 환경을 확인하고 아래 메타데이터를 먼저 조회합니다.

bash
curl --fail --silent --show-error \
  https://dev-api.infirium.org/.well-known/oauth-protected-resource/mcp
curl --fail --silent --show-error \
  https://dev-api.infirium.org/.well-known/oauth-authorization-server

예상 결과: 첫 문서에 resource와 authorization_servers, 두 번째 문서에 issuer, authorization_endpoint, token_endpoint가 있습니다. 인증 경로에 REST /api 접두사를 임의로 붙이지 않습니다. 404라면 환경·경로 점검을 먼저 합니다.

Codex에서 연결하기 ​

현재 CLI에서 codex mcp login --help로 --no-browser 지원을 확인합니다. OpenAI 공식 MCP 안내는 사전 등록 client ID와 콜백 선택 규칙을 설명합니다.

1. 서버 설정을 추가합니다 ​

~/.codex/config.toml에 다음 항목을 추가합니다. 기존 항목이 있다면 같은 table을 중복 추가하지 않고 수정합니다. 로그인 전에 공개 프로그램 ID·등록한 HTTPS 콜백·scope를 모두 맞춥니다.

toml
[mcp_servers.infirium_dev]
url = "https://dev-api.infirium.org/mcp"
scopes = ["data:read"]

[mcp_servers.infirium_dev.oauth]
client_id = "YOUR_REGISTERED_CLIENT_ID"
callback_url = "https://YOUR_APP_HOST/ko/mcp/callback"

YOUR_REGISTERED_CLIENT_ID와 YOUR_APP_HOST는 실제 등록값으로 바꿉니다. 인피리움 웹의 수동 콜백 화면을 사용할 때는 /ko 등 실제 locale이 포함된 주소를 사용해 중간 locale redirect를 피합니다. 콜백은 코드를 자체 교환하지 않고 Codex가 교환할 수 있도록 구성돼야 합니다.

Codex의 콜백 선택은 issuer 메타데이터 지원 여부에 영향을 받습니다. 실제 인증 요청의 redirect_uri가 등록 URI와 정확히 같은지 확인합니다. 응답의 iss·state·PKCE S256 검사를 완화해 주소 불일치를 해결하지 않습니다.

2. 수동 로그인을 시작합니다 ​

bash
codex mcp login infirium_dev --no-browser --scopes data:read

CLI가 출력한 인증 주소를 브라우저에서 열고 기업 계정으로 로그인합니다. 프로그램 이름·기업·기능을 확인한 뒤 동의합니다. 이후 이동한 전체 콜백 URL은 해당 로그인 명령이 기다리는 로컬 입력란에만 전달합니다. code·state나 토큰을 AI 대화·지원 게시물·일반 로그에 붙여넣지 않습니다.

예상 결과: CLI 로그인이 완료됩니다. 새 Codex 세션의 MCP 도구에서 infirium_list_data_profiles, infirium_get_data_requirements, infirium_get_input_field_guidance를 확인합니다. 필요하면 서버 설정을 새로 불러옵니다.

3. 첫 읽기를 확인합니다 ​

text
infirium_list_data_profiles를 catalogVersion 3으로 호출해 줘.
반환된 profileKey와 schemaVersion만 표로 보여 줘.

예상 결과: 프로필 4종과 버전이 표시됩니다. 도구 발견과 실제 도구 호출은 각각 확인합니다.

예제 파일을 분석할 때는 등록된 프로그램의 허용 목록에 data:read, data:prepare가 있는지 확인합니다. 이미 있다면 config.toml의 OAuth 요청용 scopes를 ["data:read", "data:prepare"]로 바꾸고 필요한 범위에 다시 동의합니다.

bash
codex mcp login infirium_dev --no-browser --scopes data:read,data:prepare

프로그램 허용 목록이 부족하면 소유자가 필요한 기능을 포함한 새 프로그램을 등록합니다. 설정의 oauth.client_id를 새 공개 프로그램 ID로 교체하고 정확한 HTTPS 콜백과 요청 scopes를 확인한 뒤 다시 로그인합니다. 등록된 프로그램의 허용 목록을 편집하는 기능은 없습니다. 기존 client/grant에 묶인 계획·검토·승인을 새 연결에서 재사용하지 말고 해당 연결로 다시 준비합니다. 초안·정식 등록까지 진행할 경우에도 먼저 목표에 맞는 허용 목록을 등록하고 단계별 OAuth 동의를 받습니다.

연결을 종료합니다 ​

인피리움의 승인한 연결 → 연결 폐기를 실행하고, Codex의 로컬 로그인도 정리합니다.

bash
codex mcp logout infirium_dev

로컬 로그아웃만으로 서버의 동의가 폐기되는 것은 아닙니다. 클라이언트의 도구 호출 허용도 인피리움의 업무별 사람 승인을 대신하지 않습니다.

연결 문제와 다른 클라이언트 ​

상황확인할 내용
invalid_requestresource를 자동 발견하는 설정에서 oauth_resource·--oauth-resource를 추가해 중복 전송하지 않았는지 확인
콜백 불일치·issuer 오류HTTPS URI 전체·locale·issuer 지원과 실제 callback 선택 확인
로그인했으나 도구가 없음프로그램 허용 목록·이번 사용자 동의·역할·그룹·구독 확인. 목록 안에서는 재로그인·동의, 목록 밖이면 새 프로그램 필요
다른 AI 프로그램을 연결하려고 함Streamable HTTP, 사전 등록 client ID, 정확한 HTTPS 콜백, PKCE S256, resource 지원 확인

현재 안내 경로는 수동 HTTPS 콜백입니다. 자동 localhost 콜백은 현재 HTTPS 정책과 맞지 않으며 CIMD/DCR 자동 등록·다른 AI 제품의 성공은 보장하지 않습니다. 자세한 인증 계약과 오류 대응을 참고하세요. 직접 프로그램을 개발한다면 SDK로 첫 조회로 이동합니다.

이 안내서는 현재 저장소에 구현된 화면을 기준으로 작성합니다.