ChatGPT와 ChatGPT classic 에 연결하기

두 앱이 함께 깔리는데 붙는 설정이 반대다. classic은 OAuth 커넥터, ChatGPT는 프로젝트 고정 API 키.

⚠ 먼저: 앱이 둘이다

OpenAI 앱은 ChatGPTChatGPT classic 두 개가 함께 깔린다. 이름은 비슷하지만 AiAkiv에 붙는 설정이 서로 다르다. 한쪽에서 되는 방법이 다른 쪽에서는 안 된다.

예전 자료에서 Codex 라고 부르던 것이 지금의 ChatGPT 다. 설정 파일이 .codex/config.toml 인 것도 그래서다.

한눈에

OAuth (계정 커넥터) API 키 (.codex/config.toml)
ChatGPT classic · 웹 ✅ 웹에서 한 번 등록한다 -
ChatGPT 쓸 수 없다 ✅ 작업 폴더에 키를 둔다
  • 계정 커넥터는 한 번 등록하면 웹과 두 앱 모두에서 보인다.
  • 두 설정은 함께 두어도 된다.이름을 다르게 등록해야 한다 → §4
  • 그래도 한 쪽만 쓰는 것을 권한다 → §5

저장이 어디로 가는지도 다르다. 계정 커넥터는 콘솔의 Main을 따라가고, 폴더의 키는 그 프로젝트에 고정된다(팀과 프로젝트).

1. ChatGPT classic: OAuth 커넥터로 붙는다

등록은 웹에서 한 번 한다. 앱에서는 커넥터를 만들 수 없다.

  1. 앱이 아니라 브라우저chatgpt.com 에 접속한다.

  2. 좌하단 사용자 → 설정 → 보안 및 로그인(Security and login) → 개발자 모드를 켠다.

  3. 설정 → 앱(커넥터) → 앱 만들기에서 아래 주소를 넣는다. (Plus 이상)

    https://mcp.aiakiv.com/mcp
    
  4. 대화마다 켠다. 커넥터는 대화 단위로 켜진다. 새 대화 입력창의 + 에서 AiAkiv를 고른다. 이 단계를 빼먹으면 새 대화에서 도구가 아예 안 보인다.

개발자 모드는 OpenAI 쪽 설정이다. 커스텀 커넥터를 직접 추가하려면 켜야 한다. AiAkiv를 OpenAI 플러그인 디렉터리에서 바로 설치할 수 있게 되면 커넥터를 손으로 추가할 일이 없어지므로 이 단계도 없어진다. 이 절차가 부담이라면 §2의 키 방식 으로 가도 된다. 다만 그쪽은 ChatGPT 앱을 쓰고 있어야 의미가 있다.

저장은 Main으로 간다. 계정 커넥터에는 프로젝트를 못 박는 장치가 없어서, 콘솔에서 정한 Main 프로젝트로 들어간다. 저장 대상 확인에서 binding"main" 으로 뜬다. 폴더마다 프로젝트를 다르게 쓰고 싶다면 §2로 간다.

2. ChatGPT: OAuth는 안 된다, API 키로 붙는다

여기서는 OAuth를 쓸 수 없다. 커스텀 커넥터로도, X-K2G-Project 헤더를 넣은 설정으로도 붙지 않는다. 붙이는 설정은 프로젝트 고정 API 키 하나다.

키를 쓰면 인증 단계 자체가 사라진다. 인증이 이미 키 안에 들어 있어서 로그인 창도, 브라우저도 필요 없다(연결 인증).

  1. 콘솔에서 그 프로젝트의 API 키를 발급한다(발급 직후 한 번만 보인다). 여기서는 프로젝트 키를 쓴다. 동적 키도 붙기는 하지만 저장 위치가 Main을 따라 움직여서, 폴더에 못 박으려는 목적과 어긋나고 §4처럼 두 설정을 함께 둘 때 어디에 저장됐는지가 더 헷갈린다. 동적 키 자체는 다른 데서 쓰면 된다 (연결 인증).

  2. 작업 폴더의 .codex/config.toml 에 아래를 넣는다. 파일 위치는 앱·CLI· IDE 확장이 모두 같다.

    [mcp_servers.AiAkiv-proj]
    url = "https://mcp.aiakiv.com/mcp"
    http_headers = { "Authorization" = "Bearer <발급받은 키>" }
    
  3. 앱을 재시작한다.

이름을 AiAkiv 로 두지 않는다. 위 예시가 AiAkiv-proj 인 데에는 이유가 있다. §1의 계정 커넥터와 이름이 겹치면 둘을 구분할 수 없게 된다. 자세한 것은 §4. 전역 쪽과 다르기만 하면 이름은 무엇이든 된다.

프로젝트가 키에 고정된다. 좌표가 키 안에 동결돼 있어서 콘솔에서 Main을 바꿔도 이 폴더는 안 움직인다. 저장 대상 확인에서 binding"api-key" 로 뜬다.

⚠ 키가 곧 신분증이다. 유출은 내 기억에 대한 접근이 통째로 넘어가는 것을 뜻한다. config.toml 을 저장소에 올리지 않는다. 지켜야 할 최소선 전체는 연결 인증의 키 보안.

3. 한 앱 안에서 두 설정이 만난다

ChatGPT 앱에서는 두 설정이 동시에 보일 수 있다.

  • 계정 커넥터(§1)는 계정에 붙는 것이라, 웹에서 등록해 두면 이 앱에서도 보인다.
  • 폴더의 키(§2)는 그 폴더에서 일을 시작할 때 읽힌다.

그래서 같은 앱에서 대화는 커넥터로, 폴더 작업은 폴더의 키로 붙는 상황이 나온다. 문제가 되는 상황은 아니다. 다만 어느 쪽으로 저장됐는지가 헷갈리기 시작한다.

4. 둘을 함께 쓰기: 이름을 다르게 등록한다

§1과 §2는 동시에 사용할 수 있다. 다만 전제가 하나 있다.

전역과 폴더의 MCP 서버 이름이 달라야 한다.

이름
전역: 계정 커넥터 AiAkiv
폴더: .codex/config.toml AiAkiv-proj

이름이 둘 다 AiAkiv어느 쪽을 쓰라고 지목할 방법이 없다. 도구 이름까지 같아 지므로 AI가 그때그때 아무 쪽이나 고르고, 저장이 어디로 갔는지는 나중에야 알게 된다. 이름을 갈라 두면 그때부터 "AiAkiv-proj 로 저장해줘" 처럼 말할 수 있다.

이름은 AiAkiv-proj 가 아니어도 된다. 전역 쪽과 다르기만 하면 된다: 폴더가 여러 개라면 AiAkiv-<프로젝트이름> 처럼 프로젝트를 알아볼 수 있게 붙이면 더 낫다.

5. 권장: 하나만 쓰되, 함께 쓸 거면 확인을 붙인다

§1 또는 §2 중 하나만 쓰는 것을 권한다. 설정이 하나면 저장이 어디로 가는지 헷갈릴 일이 없다.

함께 써야 한다면 두 가지를 지킨다.

  1. 쓸 쪽을 명시한다. §4대로 이름을 갈라 두고, 일을 시킬 때 어느 쪽인지 말한다.
  2. 저장 대상을 자주 확인한다. 아래 §확인하기. ChatGPT는 대체로 스스로 get_save_target 을 자주 부르는 편이라, 확인을 요청하면 잘 따른다.

확인하기

일을 시작하기 전에 AI에게 물어본다.

지금 어디에 저장돼?

AI가 get_save_target 을 부르고 결과를 알려준다. binding 값이 지금 어느 설정으로 붙어 있는지를 그대로 말해 준다.

binding
"main" §1 계정 커넥터: 콘솔의 Main을 따라간다
"api-key" §2 폴더의 키: 그 프로젝트에 고정돼 있다

프로젝트 이름에 (Main) 접미사가 붙어 있으면 전역 Main을 따라가는 중이다.

이 둘 말고 binding 이 가질 수 있는 나머지 값은 폴더 바인딩제대로 붙었는지 확인하기 에 있다.

자주 겪는 문제

  • 어느 앱을 열었는지 모르겠다. 아이콘 이름이 ChatGPT 면 §2, ChatGPT classic 이면 §1이다.
  • 폴더 설정을 넣었는데 안 붙는다. OAuth 방식으로 넣지 않았는지 본다. ChatGPT 는 OAuth를 못 쓴다. §2의 키 방식이어야 한다.
  • 저장이 엉뚱한 프로젝트로 간다. 두 설정이 함께 켜져 있고 이름이 같을 때 생긴다. §4대로 폴더 쪽 이름을 바꾼다.
  • 새 대화에서 도구가 아예 안 보인다. 커넥터는 대화마다 켠다. §1의 4단계.
  • 커넥터를 지웠다 다시 넣었더니 안 붙는다. 예전 상태가 캐시로 남은 것이다 → 자주 겪는 문제.

관련 문서