⚠ 먼저: 앱이 둘이다
OpenAI 앱은 ChatGPT 와 ChatGPT classic 두 개가 함께 깔린다. 이름은 비슷하지만 AiAkiv에 붙는 설정이 서로 다르다. 한쪽에서 되는 방법이 다른 쪽에서는 안 된다.
예전 자료에서 Codex 라고 부르던 것이 지금의 ChatGPT 다. 설정 파일이
.codex/config.toml인 것도 그래서다.
한눈에
| OAuth (계정 커넥터) | API 키 (.codex/config.toml) |
|
|---|---|---|
| ChatGPT classic · 웹 | ✅ 웹에서 한 번 등록한다 | - |
| ChatGPT | ❌ 쓸 수 없다 | ✅ 작업 폴더에 키를 둔다 |
- 계정 커넥터는 한 번 등록하면 웹과 두 앱 모두에서 보인다.
- 두 설정은 함께 두어도 된다. 단 이름을 다르게 등록해야 한다 → §4
- 그래도 한 쪽만 쓰는 것을 권한다 → §5
저장이 어디로 가는지도 다르다. 계정 커넥터는 콘솔의 Main을 따라가고, 폴더의 키는 그 프로젝트에 고정된다(팀과 프로젝트).
1. ChatGPT classic: OAuth 커넥터로 붙는다
등록은 웹에서 한 번 한다. 앱에서는 커넥터를 만들 수 없다.
-
앱이 아니라 브라우저로
chatgpt.com에 접속한다. -
좌하단 사용자 → 설정 → 보안 및 로그인(Security and login) → 개발자 모드를 켠다.
-
설정 → 앱(커넥터) → 앱 만들기에서 아래 주소를 넣는다. (Plus 이상)
https://mcp.aiakiv.com/mcp -
대화마다 켠다. 커넥터는 대화 단위로 켜진다. 새 대화 입력창의 + 에서 AiAkiv를 고른다. 이 단계를 빼먹으면 새 대화에서 도구가 아예 안 보인다.
개발자 모드는 OpenAI 쪽 설정이다. 커스텀 커넥터를 직접 추가하려면 켜야 한다. AiAkiv를 OpenAI 플러그인 디렉터리에서 바로 설치할 수 있게 되면 커넥터를 손으로 추가할 일이 없어지므로 이 단계도 없어진다. 이 절차가 부담이라면 §2의 키 방식 으로 가도 된다. 다만 그쪽은 ChatGPT 앱을 쓰고 있어야 의미가 있다.
저장은 Main으로 간다. 계정 커넥터에는 프로젝트를 못 박는 장치가 없어서, 콘솔에서 정한 Main 프로젝트로 들어간다. 저장 대상 확인에서
binding이"main"으로 뜬다. 폴더마다 프로젝트를 다르게 쓰고 싶다면 §2로 간다.
2. ChatGPT: OAuth는 안 된다, API 키로 붙는다
여기서는 OAuth를 쓸 수 없다. 커스텀 커넥터로도, X-K2G-Project 헤더를 넣은
설정으로도 붙지 않는다. 붙이는 설정은 프로젝트 고정 API 키 하나다.
키를 쓰면 인증 단계 자체가 사라진다. 인증이 이미 키 안에 들어 있어서 로그인 창도, 브라우저도 필요 없다(연결 인증).
-
콘솔에서 그 프로젝트의 API 키를 발급한다(발급 직후 한 번만 보인다). 여기서는 프로젝트 키를 쓴다. 동적 키도 붙기는 하지만 저장 위치가 Main을 따라 움직여서, 폴더에 못 박으려는 목적과 어긋나고 §4처럼 두 설정을 함께 둘 때 어디에 저장됐는지가 더 헷갈린다. 동적 키 자체는 다른 데서 쓰면 된다 (연결 인증).
-
작업 폴더의
.codex/config.toml에 아래를 넣는다. 파일 위치는 앱·CLI· IDE 확장이 모두 같다.[mcp_servers.AiAkiv-proj] url = "https://mcp.aiakiv.com/mcp" http_headers = { "Authorization" = "Bearer <발급받은 키>" } -
앱을 재시작한다.
이름을
AiAkiv로 두지 않는다. 위 예시가AiAkiv-proj인 데에는 이유가 있다. §1의 계정 커넥터와 이름이 겹치면 둘을 구분할 수 없게 된다. 자세한 것은 §4. 전역 쪽과 다르기만 하면 이름은 무엇이든 된다.
프로젝트가 키에 고정된다. 좌표가 키 안에 동결돼 있어서 콘솔에서 Main을 바꿔도
이 폴더는 안 움직인다. 저장 대상 확인에서 binding 이 "api-key" 로 뜬다.
⚠ 키가 곧 신분증이다. 유출은 내 기억에 대한 접근이 통째로 넘어가는 것을 뜻한다.
config.toml을 저장소에 올리지 않는다. 지켜야 할 최소선 전체는 연결 인증의 키 보안.
3. 한 앱 안에서 두 설정이 만난다
ChatGPT 앱에서는 두 설정이 동시에 보일 수 있다.
- 계정 커넥터(§1)는 계정에 붙는 것이라, 웹에서 등록해 두면 이 앱에서도 보인다.
- 폴더의 키(§2)는 그 폴더에서 일을 시작할 때 읽힌다.
그래서 같은 앱에서 대화는 커넥터로, 폴더 작업은 폴더의 키로 붙는 상황이 나온다. 문제가 되는 상황은 아니다. 다만 어느 쪽으로 저장됐는지가 헷갈리기 시작한다.
4. 둘을 함께 쓰기: 이름을 다르게 등록한다
§1과 §2는 동시에 사용할 수 있다. 다만 전제가 하나 있다.
전역과 폴더의 MCP 서버 이름이 달라야 한다.
이름 전역: 계정 커넥터 AiAkiv폴더: .codex/config.tomlAiAkiv-proj
이름이 둘 다 AiAkiv 면 어느 쪽을 쓰라고 지목할 방법이 없다. 도구 이름까지 같아
지므로 AI가 그때그때 아무 쪽이나 고르고, 저장이 어디로 갔는지는 나중에야 알게 된다.
이름을 갈라 두면 그때부터 "AiAkiv-proj 로 저장해줘" 처럼 말할 수 있다.
이름은 AiAkiv-proj 가 아니어도 된다. 전역 쪽과 다르기만 하면 된다: 폴더가
여러 개라면 AiAkiv-<프로젝트이름> 처럼 프로젝트를 알아볼 수 있게 붙이면 더 낫다.
5. 권장: 하나만 쓰되, 함께 쓸 거면 확인을 붙인다
§1 또는 §2 중 하나만 쓰는 것을 권한다. 설정이 하나면 저장이 어디로 가는지 헷갈릴 일이 없다.
함께 써야 한다면 두 가지를 지킨다.
- 쓸 쪽을 명시한다. §4대로 이름을 갈라 두고, 일을 시킬 때 어느 쪽인지 말한다.
- 저장 대상을 자주 확인한다. 아래 §확인하기. 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단계.
- 커넥터를 지웠다 다시 넣었더니 안 붙는다. 예전 상태가 캐시로 남은 것이다 → 자주 겪는 문제.
관련 문서
- 폴더 바인딩 전반과 다른 클라이언트 → 폴더 바인딩
- Claude Desktop에서 폴더 바인딩 → Claude Desktop
- 인증(OAuth·API 키)과 키 보안 → 연결 인증
- Main·프로젝트·저장 대상의 개념 → 팀과 프로젝트
- 콘솔에서 MCP 설정 복사하기 → 콘솔 안내