테마
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:readCLI가 출력한 인증 주소를 브라우저에서 열고 기업 계정으로 로그인합니다. 프로그램 이름·기업·기능을 확인한 뒤 동의합니다. 이후 이동한 전체 콜백 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_request | resource를 자동 발견하는 설정에서 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로 첫 조회로 이동합니다.

