Meeting.ai는 팀 회의를 녹음하고, 노트를 쓰고, 전체 녹취록을 보관합니다. 여기에 Codex를 연결하면 팀이 기획 회의에서 결정한 내용을 Codex가 저장소 안에서 직접 읽고 그대로 구현합니다. 누가 다시 받아 적을 필요가 없습니다.
Codex가 읽을 수 있는 것은 Meeting.ai가 녹음한 회의입니다. Meeting.ai의 AI 노트테이커인 Meeting Bot이 들어간 회의와, 직접 녹음하거나 업로드한 회의가 모두 포함됩니다.
설정은 명령어 한 줄과 브라우저 로그인 한 번이면 됩니다. 저장해 둘 API 키나 토큰은 없습니다.
codex mcp add meeting-ai --url https://mcp.meeting.ai/mcp이렇게 연결하면 Codex가 도구 20개를 쓸 수 있게 됩니다. 그중 일곱 개는 읽기만 합니다. 회의 검색, 노트 읽기, 녹취록 읽기와 검색, 연락처와 Drive 검색, 워크스페이스 목록 조회입니다. 나머지는 데이터를 바꾸는 도구이고, Codex에 허용할지는 직접 정합니다. 읽기만 하도록 묶어 두는 config.toml 설정은 아래 설정 섹션에 있습니다.
어제 기획 회의가 곧 스펙입니다. 팀이 웹훅 재시도 규칙을 말로만 합의했고, 티켓은 아무도 쓰지 않았습니다. 저장소에서 이렇게 입력합니다.
Meeting.ai에서 어제 웹훅 재시도 관련 기획 회의를 찾아 줘. 노트를 읽고, 우리가 정확히 어떤 규칙으로 합의했는지 녹취록에서 찾아 줘. 그 규칙을 이 저장소에 구현하고 규칙마다 테스트를 하나씩 붙여 줘. 회의에서 결론이 안 난 건 추측하지 말고 따로 정리해 줘.
Codex가 코드를 고치고, 어떤 규칙을 따랐는지 정리해 줍니다.
“웹훅 재시도 기획”(10월 13일) 회의에서:
1. 실패한 전송은 30초부터 시작하는 지수 백오프로 5번 재시도한다.
2. 4xx 응답은 재시도하지 않는다. 429만 예외.
3. 마지막 시도까지 실패하면 엔드포인트를 실패 상태로 표시하고 전송을 중단한다.
회의에서 결론이 나지 않은 것:
- 엔드포인트가 실패 상태로 표시될 때 고객에게 메일을 보낼지 여부.
결정되지 않음. TODO와 건너뛴 테스트로 남겨 둠.
변경: internal/webhooks/retry.go, internal/webhooks/retry_test.go
(테스트 3개 추가)이 글에 나오는 출력은 가상의 회의로 만든 예시입니다. ‘결론이 나지 않은 것’ 목록부터 읽으세요. 아무도 정하지 않은 규칙은 팀에 다시 물어봐야 합니다.
리뷰를 받기 전에 브랜치가 회의 내용과 맞는지 확인합니다. 지난주 목요일 API 리뷰에서 페이지네이션 설계가 바뀌었는데, 내 브랜치는 그 전에 만든 것입니다.
Meeting.ai에서 목요일 API 리뷰를 찾아서, 거기서 합의한 페이지네이션 방식이랑 이 브랜치 diff를 비교해 줘. 다른 데는 전부 짚어 주고, 하나하나 근거가 된 발언을 녹취록에서 인용해 줘.
차이점마다 근거가 된 발언을 나란히 붙여 보여 줍니다. 리뷰에서는 커서 페이지네이션으로 정했는데 브랜치는 아직 offset을 받습니다. 합의한 페이지 크기는 50인데 코드에는 100으로 되어 있습니다.
아직 끝나지 않은 회의 내용을 묻습니다. 장애 리뷰 회의가 나 없이 시작됐습니다. 내가 바로 그 장애를 고치고 있기 때문입니다. 초대 링크를 붙여 넣습니다.
Meeting.ai로 이 회의에 Meeting Bot을 보내 줘: [Zoom, Google Meet 또는 Microsoft Teams 링크 붙여넣기]
승인 설정을 따로 바꾸지 않았다면 Codex는 도구를 실행하기 전에 먼저 묻습니다. 그러면 Meeting Bot이 누구나 볼 수 있게 참석자로 들어가 회의를 녹음합니다. 이때 Meeting.ai 구독이나 Coins를 사용합니다. Coins는 Meeting.ai 계정에 들어 있는 크레딧이며, 요금제로 그 회의에 접근할 수 있는 동안에는 연결과 읽기에 추가 비용이 없습니다. 20분 뒤, 같은 세션에서 이렇게 묻습니다.
Meeting.ai 실시간 노트를 보고, 이 회의에서 롤백 관련해서 지금까지 뭐가 결정됐는지 알려 줘. 이 브랜치도 똑같이 하고 있어?
답은 실시간 노트와 그 시점까지 기록된 녹취록에서 나옵니다.
Meeting.ai를 Codex에 연결하려면 어떻게 하나요?
Codex와, 워크스페이스가 하나 이상 있는 Meeting.ai 계정이 필요합니다. 서버는 Meeting.ai가 호스팅하므로 내 컴퓨터에 설치할 것은 없습니다.
codex mcp add meeting-ai --url https://mcp.meeting.ai/mcp- 서버를 추가합니다. 위 명령어를 실행하세요. Codex가 서버를 저장하고 브라우저에서 Meeting.ai를 엽니다.
- 로그인하고 승인합니다. Meeting.ai 계정으로 로그인하세요. 화면에 연결하려는 앱의 이름과 그 앱이 할 수 있는 일이 나옵니다. 읽어 본 뒤 처음 사용할 워크스페이스에서 워크스페이스를 고르고 액세스 허용을 클릭하세요.
- 연결을 확인합니다.
codex mcp list를 실행하세요. Auth 열에 승인 전에는Not logged in이, 승인 후에는OAuth가 표시됩니다. Codex 세션 안에서는/mcp를 입력하면 활성화된 서버를 볼 수 있습니다.
브라우저가 열리지 않았거나 나중에 다시 로그인해야 한다면 codex mcp login meeting-ai를 실행하세요. SSH로 접속해 있다면 --no-browser를 붙이세요. Codex가 인증 URL을 출력하면 브라우저가 있는 컴퓨터에서 그 URL을 열고, Codex가 요청할 때 콜백 URL을 터미널에 붙여 넣으면 됩니다.
직접 참석했던 회의로 시험해 보세요.
Meeting.ai에서 내 가장 최근 회의를 찾아서 뭐가 결정됐는지 정리해 줘.
그 자리에 있었으니 답이 맞는지 바로 알 수 있습니다.
명령어 대신 config.toml 파일에 추가하기
Codex는 MCP 서버를 ~/.codex/config.toml에 저장합니다. 아래 항목은 위 명령어와 같은 일을 합니다.
[mcp_servers.meeting-ai]
url = "https://mcp.meeting.ai/mcp"그런 다음 codex mcp login meeting-ai를 실행하세요. 파일에는 URL만 들어갑니다. 서버를 팀과 공유하려면 저장소의 .codex/config.toml에 같은 테이블을 넣으세요. Codex는 신뢰하는 프로젝트에 한해서만 프로젝트 설정을 읽으며, 이때도 개발자는 각자 자기 Meeting.ai 계정으로 로그인합니다.
Codex를 읽기 전용으로 두기
Codex가 볼 수 있는 도구를 정해 두고, 데이터를 바꾸는 작업은 먼저 묻게 합니다.
[mcp_servers.meeting-ai]
url = "https://mcp.meeting.ai/mcp"
enabled_tools = ["meetings_search", "meetings_notes", "meetings_transcript", "meetings_transcript_search"]
default_tools_approval_mode = "writes"enabled_tools는 Codex가 받는 도구 목록 전체이며, 여기서는 예시로 읽기 도구 네 개를 넣었습니다. 마지막 줄은 읽기 전용으로 표시되지 않은 도구를 실행하기 전에 Codex가 먼저 묻게 합니다. Codex가 Meeting Bot을 보낼 수는 있지만 먼저 묻게 하려면 enabled_tools는 빼고 마지막 줄만 남기세요.
IDE 확장이나 ChatGPT 데스크톱 앱에서 쓰기
CLI와 IDE 확장, ChatGPT 데스크톱 앱은 같은 설정을 함께 쓰기 때문에, 방금 추가한 서버가 이미 들어가 있습니다. 화면에서 직접 추가하고 싶다면 아래 순서를 따르세요. 앱과 확장의 메뉴와 버튼 이름은 OpenAI 문서에 나온 영어 그대로 적었으며, 표시 언어가 다르면 이름이 다르게 보일 수 있습니다.
- 앱에서는 Settings를 열고 MCP servers로 이동하세요. IDE 확장에서는 톱니바퀴 메뉴를 열고 MCP servers로 이동하세요.
- Add server를 클릭하고 이름에
meeting-ai를 입력한 다음, Streamable HTTP를 고르고 URL을 붙여 넣으세요. - 저장한 뒤 앱에서는 Restart를, IDE에서는 Restart extension을 클릭하세요.
- Authenticate를 클릭하고 Meeting.ai에 로그인하세요.
알아 두면 좋은 점
- 저희가 직접 실행해 본 범위. 명령어 문법과
config.toml테이블은 codex-cli 0.160.0 버전으로 확인했습니다. 브라우저 로그인과 앱·IDE 단계는 OpenAI 문서를 보고 쓴 것이며, 직접 실행해 보지는 않았습니다. 사용하는 환경에서 다르게 보이는 단계가 있으면 알려 주세요. - 노트 먼저, 녹취록은 그다음. 노트에는 결정사항이 몇 개 섹션으로 정리되어 있고, 대개 액션아이템도 들어 있습니다. 녹취록은 길어서 한 번에 한 페이지씩만 받아 옵니다. 그러니 Codex에 노트를 먼저 읽게 한 다음, 필요한 세부 내용만 녹취록에서 검색하게 하세요.
- 회의에서 정말 그렇게 결정했는지 확인하세요. 회의에서 말로 내린 결정은 모호할 수도 있고, 5분 뒤에 뒤집히기도 합니다. 인용을 요청하고, 결론이 나지 않은 것을 정리해 달라고 하세요.
- 실시간 노트는 확정된 내용이 아닙니다. 회의 도중에 받은 답은 그때까지 기록된 내용을 반영하며, 노트는 회의가 끝날 때까지 계속 바뀝니다. 그 답을 믿고 움직이기 전에 한 번 더 물어보세요.
- 녹취록은 저장소에 넣지 마세요. 결정사항은 PR 설명에 들어갈 내용입니다. 동료들의 말이 그대로 담긴 녹취록 원문은 커밋에 들어갈 내용이 아닙니다.
Codex에 이런 일을 시켜 보세요
어느 회의인지는 요일이나 주제로 짚어 주고, Codex가 Meeting.ai에서 찾도록 프롬프트에 Meeting.ai를 넣으세요.
스프린트 플래닝을 티켓으로
Meeting.ai에서 월요일 스프린트 플래닝 회의를 찾아서, 합의한 작업마다 티켓을 하나씩 Markdown으로 써 줘. 제목, 논의에서 나온 배경, 인수 조건, 회의에서 지정된 담당자를 넣고 docs/sprint-tickets.md 파일에 저장해 줘.
그 파일에 들어간 티켓 하나를 보면 이렇습니다.
## 모든 API 응답에 rate limit 헤더 반환
배경: 지난주에 고객 두 곳이 아무 경고 없이 한도에 걸렸다.
10월 12일 스프린트 플래닝에서 Priya가 제기.
인수 조건:
- 모든 응답에 X-RateLimit-Limit, X-RateLimit-Remaining,
X-RateLimit-Reset 헤더가 들어간다.
- 429 응답에는 초 단위의 Retry-After도 들어간다.
- 내부 서비스 토큰은 적용 대상에서 제외한다.
담당: Tomas인수 조건은 예외 상황까지 포함해 녹취록에서 가져온 것입니다.
‘왜’가 담긴 PR 설명
리뷰어는 설계 리뷰에 없었고, diff만 봐서는 왜 이렇게 바꿨는지 알 수 없습니다.
이 브랜치의 PR 설명을 써 줘. Meeting.ai에서 10월 9일 설계 리뷰를 찾아서, 거기서 나온 결정사항을 근거로 변경마다 왜 그렇게 했는지 설명해 줘. 회의에서 합의했는데 이 PR에서 아직 안 다룬 것도 정리해 줘.
프롬프트의 마지막 부분에서 다음 PR의 범위가 나옵니다.
회의 네 번에 흩어진 요구사항을 목록 하나로
Meeting.ai에서 최근 기획 회의 네 번을 보고, 내보내기 기능 요구사항으로 나온 걸 전부 정리해 줘. 서로 충돌하는 건 표시해 줘.
회의 네 번에서 거론된 기능은 그때마다 조금씩 바뀌었습니다. 코드를 짜기 전에 충돌부터 정리하세요.
이런 일도 시켜 보세요
- 논쟁을 끝내는 인용. “Meeting.ai에서 목요일 API 리뷰를 찾아 줘. rate limit 얘기 정확히 뭐라고 했어? 녹취록을 인용해 줘.”
- 마이그레이션과 롤백. “Meeting.ai에서 데이터베이스 리뷰를 찾아서, 거기서 합의한 그대로 마이그레이션과 롤백을 작성해 줘. 회의에서 결정하지 못한 건 따로 정리해 줘.”
- 리뷰 준비. “내일 설계 리뷰를 준비하게 도와줘. 이 브랜치가 뭘 바꾸는지 요약하고, Meeting.ai에서 지난 리뷰 회의를 찾아서 아직 안 풀린 질문을 정리해 줘.”
- 출처가 붙은 릴리스 노트. “Meeting.ai에서 이번 스프린트 플래닝 회의랑 리뷰 회의를 찾아서, 거기서 나온 결정사항으로 릴리스 노트를 써 줘. 항목마다 어느 회의에서 나왔는지 적어 줘.”
- 온콜 인수인계. “Meeting.ai에서 오늘 장애 리뷰를 찾아서, 온콜 엔지니어에게 넘길 인수인계 노트를 써 줘.”
- 노트 없이 녹음만 남은 회의. “Meeting.ai로 이 벤더 데모 녹음을 텍스트로 풀고, 벤더가 언급한 API 제한을 전부 정리해 줘: [파일의 Google Drive 링크 붙여넣기]” 파일은 링크가 있는 사람이면 누구나 내려받을 수 있어야 합니다. 그럴 수 없다면 Meeting.ai에 업로드하세요.
Codex가 내 회의를 못 찾는다면
대개는 로그인을 끝까지 마치지 않았거나, Codex가 다른 워크스페이스를 보고 있기 때문입니다.
| 증상 | 해결 방법 |
|---|---|
codex mcp list에 Not logged in 표시 | codex mcp login meeting-ai를 실행하고 브라우저에서 로그인을 마치세요 |
| 컴퓨터에 브라우저가 없음 | codex mcp login meeting-ai --no-browser를 실행하고, 출력된 URL을 다른 컴퓨터에서 여세요 |
/mcp에 서버가 없음 | codex mcp get meeting-ai에서 서버가 enabled로 나오는지 확인한 다음 Codex 세션을 새로 시작하세요 |
| Codex가 회의를 찾지 못함 | Meeting.ai 워크스페이스 목록을 보여 달라고 한 뒤 맞는 워크스페이스로 바꾸게 하거나, 제목에 들어간 단어로 검색하세요 |
| “앱 연결이 활성화되지 않았습니다” | 내 Meeting.ai 계정에 아직 연결 기능이 켜져 있지 않습니다. 그 화면에서 고객 지원 문의를 클릭하거나 [email protected]로 메일을 보내세요 |
| 잔액이 없다는 메시지가 나옴 | 그 작업에는 구독이나 Coins가 필요합니다 |
| Codex가 회의가 잠겨 있다고 함 | 그 회의가 속한 워크스페이스에 회의를 열람할 수 있는 구독이나 Coins가 더 이상 없습니다. 구독을 다시 시작하거나 Coins를 충전하면 다시 읽을 수 있습니다. 다른 사람이 공유한 회의라면 회의 소유자가 해야 합니다 |
| 도구가 보이지 않음 | 도구 목록을 다시 불러오도록 Codex 세션을 새로 시작하고, 요청이 나오면 다시 로그인하세요 |
| 동적 클라이언트 등록 오류 | 클라이언트를 동적으로 등록하는 브리지나 프록시를 거치고 있는데, Meeting.ai는 이 방식을 지원하지 않습니다. 위에 나온 대로 Codex에 서버를 직접 추가하세요 |
Codex에서 Meeting.ai 연결을 해제하려면 어떻게 하나요?
저장된 인증 정보만 지우려면 codex mcp logout meeting-ai를, 서버 항목을 삭제하려면 codex mcp remove meeting-ai를 실행하세요.
Meeting.ai 쪽에서 접근 권한을 끊으려면 설정 › MCP & CLI를 열고, 연결된 MCP 클라이언트에서 Codex 항목을 찾아 연결 해제를 클릭하세요. Codex는 chatgpt.com을 통해 로그인하기 때문에 이 항목이 ChatGPT로 표시될 수 있습니다. 해제는 즉시 적용됩니다.
스크립트에는 memo CLI
memo는 Meeting.ai의 명령줄 도구입니다. 같은 계정으로 같은 회의에 접근하고, 결과를 JSON으로 출력합니다. 설치 스크립트는 macOS와 Linux를 지원하며 릴리스의 체크섬을 검증합니다.
curl -fsSL https://raw.githubusercontent.com/meeting-ai/memo-cli/main/install.sh | bash그다음 셸이 ~/.local/bin에 있는 memo를 찾을 수 있도록 새 터미널을 열고 아래 명령어를 실행하세요.
memo auth login
memo meetings search --keyword "checkout"
memo meetings get <id> --allmemo install-skill-md는 코딩 에이전트에게 명령어를 알려 주는 파일을 추가합니다. Meeting.ai CLI 페이지와 CLI 가이드를 참고하세요.
어제 기획 회의부터 시작해 보세요
서버를 추가하고 로그인한 다음, 이번 주에 팀이 합의한 것 하나를 Codex에 구현해 달라고 해 보세요. 전체 도구 목록은 Meeting.ai MCP 페이지에 있습니다.
다른 도구에서도 같은 연결을 쓸 수 있습니다.





