나만의 에이전트, 직접 만들면 어디까지 될까요?
Claude Code에 메타 광고 계정을 연결해 아침 광고 점검 에이전트를 만들고 두 번 실행했습니다. 지시문 다섯 부분과 허용 목록, 실행 기록과 보고서, 첫 실행 뒤 고친 네 가지, 예산 변경까지 맡기지 않는 이유를 2026년 10월 31일 기준으로 정리했습니다.
세 줄로 먼저 읽기
- Claude Code에 메타 광고 MCP를 연결하고 지시문 한 장과 허용 목록만으로 아침 광고 점검 에이전트를 만들었습니다.
- 첫 실행은 2분 17초 만에 집행 중인 광고가 없다는 사실을 찾았고, 지시문을 고친 두 번째 실행은 두 캠페인의 비용 차이를 만든 입찰 규칙을 짚었습니다.
- 숫자가 아직 바뀌는 중이고 도구마다 집계가 다르며 프롬프트 인젝션을 완전히 막을 수 없어서 예산 변경은 에이전트가 제안만 하고 사람이 정합니다.
광고를 운영하면 아침마다 광고 관리자를 열고 어제 숫자를 확인한 뒤 지난주와 비교합니다. 이 아침 점검을 AI 에이전트에게 맡기면 어디까지 될까요? 이 글은 준이아빠AI유튜브 영상 "나만의 에이전트, 직접 만들면 어디까지 될까요?"의 내용을 챕터 순서대로 정리했습니다. Claude Code에 메타 광고 계정 하나를 연결해 점검 에이전트를 만들고, 두 번 실행한 기록과 보고서, 그사이에 고친 지시문, 예산 변경까지 맡기지 않는 이유를 다룹니다.
영상과 글에 나오는 캠페인 이름과 지출, 노출 같은 숫자는 실제와 다르게 바꿨습니다. 클릭률과 천 회 노출 비용 같은 비율과 단가는 그대로 두었습니다.
아침 광고 점검을 AI에게 맡기면
점검 에이전트는 회사에서 관리하는 메타 광고 계정 하나에 연결했습니다. 지시문은 한 장이었고, 첫 실행에는 2분 17초가 걸렸습니다.
첫 보고서의 맨 윗줄은 예상과 달랐습니다. 10월 30일 이후로 이 계정에서 나가는 광고가 하나도 없다는 내용이었습니다. 최근 2주 동안 돈을 쓴 캠페인 가운데 켜져 있는 것이 세 개였는데, 셋 다 종료일이 지나 있었습니다.
실행 기록을 읽고 지시문을 고쳐 다시 실행하자, 에이전트는 첫 실행에서 이유를 몰랐던 두 캠페인의 비용 차이를 파고들어 원인일 가능성이 큰 설정을 찾아냈습니다. 아래에서는 이 과정을 순서대로 짚고, 마지막에 어디까지 맡길 수 있는지 정리합니다.
사람이 하는 아침 점검
사람이 직접 하면 아침 점검은 이런 순서로 진행됩니다.
- 메타 광고 관리자를 열고 기간을 지난 7일로 바꿉니다.
- 캠페인마다 지출, 노출, 클릭 같은 숫자를 확인하고 그 전 7일과 비교합니다.
- 비용이 갑자기 오른 캠페인은 없는지, 같은 사람에게 광고가 너무 자주 나가지 않는지 살핍니다.
- 숫자가 이상하면 이유를 찾고 팀에 보고할 글을 씁니다.
계정과 매체가 늘어나면 늘어난 만큼 시간이 더 걸립니다. 이 가운데 숫자를 가져오고 비교하는 일은 순서가 정해져 있습니다. 반면 숫자가 왜 이상한지 찾는 일은 매번 다릅니다. 어떤 날은 종료일을 확인해야 하고, 어떤 날은 광고 설정을 열어 봐야 합니다.
다음에 무엇을 확인할지 그때그때 정해야 하는 일에는 에이전트가 잘 맞습니다. 순서가 늘 같은 일이라면 미리 짜 둔 워크플로로도 충분합니다.
에이전트 재료 여섯 가지 대입
앞 편 AI 에이전트란 무엇이고, 어떻게 써야 할까요?에서 에이전트를 만드는 재료를 여섯 가지로 정리했습니다. 아침 점검 에이전트에 하나씩 대입하면 다음과 같습니다.
| 재료 | 아침 점검 에이전트 |
|---|---|
| AI 모델 | Claude |
| 실행 앱 | Claude Code. 명령 한 줄로 실행하고 결과를 남긴 뒤 끝남 |
| 지시문 | CLAUDE.md 파일 하나 |
| 다룰 자료 | 지난 7일과 그 전 7일의 캠페인 성과 |
| 메모 | 지난 점검 내용을 적어 두는 파일 |
| 도구 | 메타 광고 계정 연결 도구 |
Claude Code는 컴퓨터의 명령어 창(터미널)에서 쓰는 Claude입니다. Pro 이상 요금제에 들어 있고 무료 요금제에서는 쓸 수 없으며, Pro는 월 결제 기준 20달러입니다. 대화 화면을 열지 않고 명령 한 줄로도 실행할 수 있어서, 정해진 시간에 자동으로 시작되게 예약해 두기 좋습니다.
남은 재료는 도구입니다. AI가 메타 광고 계정의 숫자를 가져오려면 계정과 AI 앱을 연결해야 합니다.
메타 광고 계정 연결 도구
메타는 광고 계정을 AI에 연결하는 공식 도구인 Meta ads AI connectors를 공개 베타로 내놨습니다. 공개 베타는 정식 출시 전에 먼저 써 볼 수 있게 열어 둔 단계라서, 계정에 따라 일부 기능이 아직 보이지 않을 수 있습니다.
이 연결 도구는 MCP(Model Context Protocol) 방식을 씁니다. MCP는 AI 앱과 외부 서비스를 잇는 공통 규격입니다. 연결해 두면 AI가 캠페인 숫자가 필요하다고 요청하고, Claude Code가 메타에서 그 숫자를 받아 AI에게 넘깁니다.
이 연결로 숫자만 읽을 수 있는 것은 아닙니다. 메타 도움말에는 에이전트가 광고, 광고 세트, 캠페인을 만들고 고칠 수 있다고 적혀 있습니다. 광고 세트는 캠페인 아래에서 누구에게, 어디에 보여 줄지 정하는 단위입니다. 실제 도구 목록에도 예산을 바꾸거나 광고를 켜고 끄는 도구가 들어 있습니다.
아침 점검은 숫자를 읽고 보고하는 일이므로, 이번 에이전트에는 읽기 도구만 쓸 수 있게 열었습니다. 무엇을 바꿀지는 사람이 보고서를 읽고 정합니다.
회사 계정이라면 비즈니스 포트폴리오 관리자가 광고 계정마다 AI 에이전트가 할 수 있는 일을 규칙으로 제한할 수도 있습니다. 캠페인 생성이나 예산 수정을 막는 식이고, 메타 연결 도구는 관리자가 정한 규칙에 맞춰 작동합니다.
지시문에 적은 다섯 부분
지시문(CLAUDE.md)은 다섯 부분으로 나눠 썼습니다.
- 목표. 매일 아침 광고 계정 하나를 점검하고, 사람이 3분 안에 읽을 수 있는 보고서 한 장을 남깁니다.
- 대상. 계정 하나만 점검하고 다른 계정은 열지 않습니다.
- 할 일. 메모를 먼저 읽고, 지난 7일과 그 전 7일의 숫자를 가져와 비교하고, 이상 신호를 찾아 보고서와 메모를 씁니다.
- 하지 말아야 할 일. 예산, 입찰, 광고 소재를 바꾸지 않고 광고를 켜거나 끄지 않습니다. 바꿔야 할 것 같으면 보고서에 제안만 합니다. 데이터를 못 가져오면 숫자를 지어내지 않고, 무엇을 못 가져왔는지 적습니다.
- 끝내는 시점. 보고서와 메모를 다 쓰면 멈춥니다.
할 일에 넣은 이상 신호는 다섯 가지입니다.
| 이상 신호 | 기준 |
|---|---|
| 결과당 비용 상승 | 결과 하나를 얻는 비용이 30% 넘게 오름 |
| 빈도 | 같은 사람에게 광고가 평균 세 번 넘게 보임 |
| 클릭률 하락 | 클릭률이 30% 넘게 떨어짐 |
| 지출 쏠림 | 한 캠페인에 전체 지출의 70% 넘게 몰림 |
| 결과 없음 | 돈은 썼는데 결과가 하나도 없음 |
여기서 결과는 캠페인 목표마다 다릅니다. 참여 캠페인이라면 메타가 게시물 참여로 집계하는 반응 한 건이 결과 하나입니다.
끝내는 시점을 따로 적은 이유도 있습니다. 끝나는 기준이 없으면 언제 멈출지를 에이전트가 스스로 정하게 됩니다.
지시문은 부탁, 허용 목록은 잠금장치
지시문에 예산을 바꾸지 말라고 적는 것만으로는 예산 변경을 막을 수 없습니다. Claude Code 공식 문서는 CLAUDE.md가 AI에게 주는 맥락일 뿐 강제되는 설정이 아니라고 설명합니다. AI가 읽고 따르려고 하지만 반드시 지킨다는 보장은 없습니다.
그래서 실행할 때 에이전트가 쓸 수 있는 도구를 따로 정했습니다.
- 허용 목록(
--allowedTools): 메타 도구 가운데 읽기 도구 두 개(ads_get_ad_entities,ads_get_field_context)와 파일을 읽고 쓰는 기능만 넣었습니다. - 금지 목록(
--disallowedTools): 예산을 바꾸거나 광고를 켜고 끄는 도구를 적었습니다. Claude Code는 금지 규칙을 허용 규칙보다 먼저 적용합니다.
명령 한 줄로 실행하는 방식(claude -p)에는 중간에 사람에게 이 도구를 써도 되는지 묻는 단계가 없습니다. 승인이 필요한 행동은 허용 규칙이 없으면 바로 거부됩니다. 에이전트가 허용 목록에 없는 메타 도구를 쓰려고 하면 그 요청은 실행되지 않습니다.
지시문은 에이전트에게 하는 부탁이고, 허용 목록과 금지 목록은 실제로 막는 잠금장치입니다. 지시문 전체와 실행 명령은 글 끝의 따라 해 보기 절에 정리했습니다.
첫 실행 기록
첫 실행에 넣은 요청은 "오늘 아침 점검을 해 줘"였습니다. 실행 기록에 남은 순서는 다음과 같습니다.
- 폴더 확인. 메모 파일이 없어서 첫 점검이라는 것을 알았습니다.
- 도구와 지표 확인. 쓸 수 있는 메타 도구를 찾고, 지출, 노출, 클릭률 같은 지표가 메타에서 무엇을 뜻하는지 설명을 먼저 읽었습니다.
- 두 기간 숫자 요청. 이 계정에는 예전 캠페인까지 쌓여 있어서, 받아 온 결과가 너무 길어 두 기간 모두 중간에 잘렸습니다.
- 다시 요청. 잘린 숫자로 보고서를 쓰지 않고, 지출이 있는 캠페인만 지출이 큰 순서대로 다시 요청했습니다. 지시문에 적지 않은 방법이었습니다.
- 막힌 도구 세 개. 활동 기록, 성과 추이, 업계 비교 도구를 차례로 쓰려고 했지만 허용 목록에 없어서 세 번 모두 막혔습니다.
- 허용된 도구로 대신 조회. 숫자를 지어내지 않고, 허용된 조회 도구로 날짜별 숫자를 다시 가져왔습니다.
- 이상한 점 확인. 켜져 있는 캠페인 하나가 10월 27일부터 지출이 0원이라, 종료일과 게재 상태를 따로 확인했습니다. 게재 상태는 광고가 실제로 나가고 있는지 보여 주는 표시입니다.
- 보고서와 메모 작성 후 멈춤. 보고서 끝에는 쓰지 못한 도구 세 개를 따로 적었습니다.
메타 도구는 막힌 세 번까지 합쳐 열두 번 썼고, 실행에는 2분 17초가 걸렸습니다. 실행 기록에 찍힌 비용은 쓴 만큼 돈을 내는 개발자용 API 요금으로 치면 1.9달러쯤이었습니다. API는 프로그램끼리 데이터를 주고받는 창구입니다. 이번 실행은 구독 요금제로 했기 때문에 1.9달러가 따로 청구되지는 않았습니다.
첫 보고서에 적힌 것
보고서 맨 위의 한 줄 요약은 10월 30일 이후로 이 계정에서 나가는 광고가 하나도 없다는 내용이었습니다. 켜져 있는 캠페인 세 개도 종료일이 지나 이미 게재가 끝난 상태였습니다. 관리자 화면에서 켜짐 표시만 보고 넘어가면 놓치기 쉬운 상태입니다.
이상 신호 다섯 가지 가운데 걸린 것은 하나였습니다. 노출 캠페인 하나의 클릭률이 0.03%에서 0%가 됐습니다. 에이전트는 경고 한 줄로 끝내지 않고 이유를 함께 적었습니다.
- 노출이 목적인 캠페인이라 원래 클릭을 노린 광고가 아닙니다.
- 이번 기간에는 하루만 나가서 클릭이 0인 것은 우연일 가능성이 있습니다.
- 지금은 일시정지 상태라 추가 지출이 없습니다.
정해 둔 신호 밖에서 따로 보고한 것도 있습니다. 가을축제 참여 캠페인이 두 개 있는데, 결과 하나를 얻는 비용이 싼 쪽은 0.18원, 비싼 쪽은 5.8원으로 30배 넘게 차이가 났습니다. 원인은 확인하지 못했다고 적었고, 그 이유로 광고 세트 설정을 이번에 읽지 않았다는 점을 들었습니다. 모르는 부분을 모른다고 적은 것입니다.
제안은 세 가지였고, 모두 사람의 승인이 필요하다고 표시돼 있었습니다.
- 광고가 멈춘 것이 의도한 것인지 확인하기
- 반응이 좋았던 이벤트 게시물을 다시 집행할지 검토하기
- 두 가을축제 참여 캠페인의 설정을 나란히 놓고 비교하기
실행 기록을 읽고 고친 네 가지
첫 실행 기록을 읽고 지시문과 허용 목록을 고쳤습니다. 중요한 수정은 네 가지입니다.
- 결과가 잘린 문제. 에이전트가 스스로 풀었지만, 그대로 두면 매번 요청을 두 번씩 더 하게 됩니다. 지시문에 지출이 있는 캠페인만 지출 순으로 가져오라고 적었습니다.
- 지출 없는 켜짐 캠페인. 켜져 있는데 지출이 없으면 종료일과 게재 상태를 확인하라는 한 줄을 넣었습니다. 에이전트가 이번에 스스로 한 일을 다음에도 하도록 적어 둔 것입니다.
- 메모 다시 확인. 첫 실행에서 메모가 처음 생겼으므로, 다음 실행부터는 메모에 남긴 항목을 새 숫자로 하나씩 다시 확인하고 그 결과를 적으라고 했습니다.
- 막힌 도구 세 개 허용. 활동 기록, 성과 추이, 업계 비교 도구를 허용 목록에 넣었습니다. 셋 다 읽기만 하는 도구라서 허용해도 계정 설정은 바뀌지 않습니다.
이렇게 고친 다음 자정이 지나 같은 요청 한 줄로 다시 실행했습니다.
두 번째 실행
두 번째 실행은 시작부터 달랐습니다. 에이전트는 먼저 메모와 지난 보고서를 읽었고, 숫자도 처음부터 지출이 있는 캠페인만 가져왔습니다. 다만 켜져 있는 캠페인 목록을 한꺼번에 가져올 때는 결과가 또 잘렸습니다. 그러자 에이전트는 다음에는 가져올 항목을 줄이라고 메모에 스스로 적었습니다.
지난 메모에 남긴 확인 항목은 네 개였습니다. 첫 번째는 새 캠페인이 시작됐는지였습니다. 첫 실행이 끝난 뒤 밤 11시 20분에 담당자가 새 캠페인을 하나 만들었고, 이 캠페인은 이미 집행되고 있었습니다. 누가 언제 만들었는지는 새로 허용한 활동 기록 도구로 알아냈습니다.
네 항목 가운데 특히 눈여겨볼 것은 마지막 항목, 첫 실행에서 원인을 모르겠다고 했던 두 가을축제 참여 캠페인의 비용 차이였습니다. 에이전트는 두 캠페인의 광고 세트 설정과 활동 기록을 함께 살폈습니다.
| 비교 항목 | 결과 |
|---|---|
| 나이, 지역, 노출 위치 | 두 캠페인이 같음 |
| 입찰 규칙 | 비싼 쪽에만 인스타그램에서는 값을 더 부르고 페이스북에서는 덜 부르는 규칙이 있음 |
| 언어 설정 | 조금 다름 |
메타에서는 광고가 나갈 지면을 두고 경매가 열립니다. 입찰 규칙은 광고가 나가는 값, 곧 천 번 보여 주는 데 드는 비용(CPM)에 영향을 줄 수 있습니다. 그래서 에이전트는 이번에는 결과당 비용 대신 CPM으로 비교했습니다. 두 캠페인은 집행된 날짜가 서로 달라서, 각각 광고가 나간 주의 7일 숫자를 썼습니다.
CPM은 싼 쪽이 141원, 비싼 쪽이 2,761원으로 20배쯤 차이가 났습니다. 에이전트는 이 입찰 규칙 때문에 비용이 올랐을 가능성이 크다고 판단했습니다. 그러면서도 원인이라고 단정하지는 않았고, 이유를 세 가지 적었습니다.
- 싼 쪽 캠페인에도 예전에 같은 입찰 규칙이 있었는지는 확인하지 못했습니다.
- 두 캠페인이 나간 날짜가 다릅니다.
- 언어 설정에도 작은 차이가 있습니다.
메모에는 다음 점검 때 활동 기록을 더 예전 것까지 찾아보라고 남겼습니다. 지난번 메모가 다음 실행의 할 일이 되고, 그때 찾은 답이 다시 메모로 남습니다. 에이전트 재료 가운데 메모는 이렇게 실행과 실행 사이를 이어 줍니다.
새로 허용한 나머지 두 도구, 성과 추이와 업계 비교에서는 데이터가 없다는 답이 돌아왔고, 에이전트는 이 결과도 보고서에 그대로 적었습니다. 두 번째 실행은 2분 37초 걸렸고, 기록에 찍힌 비용은 약 2달러였습니다.
매일 아침 자동 실행
에이전트를 만들었다고 해서 저절로 매일 일하지는 않습니다. 언제 시작할지를 정해 줘야 하고, 방법은 두 가지입니다.
| 방법 | 실행 위치 | 특징 |
|---|---|---|
| 내 컴퓨터의 예약 기능 | 내 컴퓨터 | 매일 같은 시각에 claude -p 명령을 실행. 컴퓨터가 켜져 있어야 함 |
| Claude Code 예약 작업 | 클라우드 | 컴퓨터가 꺼져 있어도 시작됨. 미리 연결한 GitHub 저장소에서 실행 |
Claude Code 예약 작업(scheduled tasks)은 예전 이름이 루틴이었고, 아직 연구용 미리보기 단계입니다. 클라우드에서 실행되므로 작업 폴더는 내 컴퓨터 폴더가 아니라, 온라인에 올려 둔 GitHub 저장소입니다. 실행할 때마다 대화할 때처럼 구독 사용 한도에서 차감됩니다.
클라우드 예약 작업은 권한을 정하는 방식도 내 컴퓨터에서 실행할 때와 다릅니다. 공식 문서에 따르면 예약 작업에 연결 도구를 추가하면, 에이전트가 실행 중에 그 연결 도구로 쓰기 작업까지 할 수 있습니다. 클라우드로 옮긴다면 메타 쪽 관리자 규칙부터 정해 에이전트가 계정 설정을 바꾸지 못하게 해 두는 것이 안전하다고 봅니다.
영상에서는 녹화 일정 때문에 두 번 모두 밤에 제 컴퓨터에서 직접 명령을 실행했습니다.
매일 실행하면 비용도 생각해야 합니다. 기록에 찍힌 비용은 API 요금으로 치면 한 번에 2달러 안팎이었습니다. 구독으로 쓰면 돈이 따로 나가지는 않지만 그만큼 사용 한도에서 빠집니다. Anthropic도 도구나 커넥터를 연결하면 토큰(AI가 읽고 쓰는 글 조각 단위)을 많이 쓴다고 안내합니다.
예산까지 맡기지 않는 이유
이번에 확인한 범위는 숫자를 가져오고, 비교하고, 원인일 만한 설정을 찾고, 보고서와 메모를 남기는 일까지입니다. 메타 연결 도구에는 예산을 바꾸는 기능도 있지만, 예산 변경은 아직 맡기지 않습니다. 이유는 세 가지입니다.
첫째, 지금 보는 숫자가 최종 숫자가 아닐 수 있습니다. 메타 개발자 문서에 따르면 성과 숫자는 15분마다 새로 계산되고, 28일이 지나야 더 이상 바뀌지 않습니다. 이번 에이전트는 두 번 모두 집계가 끝나지 않은 오늘을 빼고 지난 7일 숫자를 가져왔습니다. 두 번째 보고서에는 오늘 숫자도 따로 확인했지만 광고를 본 사람이 아주 적어 판단에 넣지 않았다고 적혀 있었습니다. 그래도 최근 며칠 숫자는 28일이 지나기 전까지 더 바뀔 여지가 있습니다.
둘째, 같은 광고라도 도구마다 숫자가 다르게 나옵니다. 메타 문서는 광고 관리자와 API가 기본으로 집계하는 방식이 다르다고 설명합니다. 구글도 광고 전환 숫자가 다른 도구와 20%까지 차이 나는 일이 흔하다고 안내합니다. 에이전트가 메타 숫자만 보고 예산을 옮기면, 회사가 실제로 기준으로 삼는 숫자와 맞지 않는 결정을 내릴 수 있습니다.
셋째, 에이전트가 읽는 글에 누군가 일부러 엉뚱한 지시를 숨겨 둘 위험이 있습니다. 캠페인 이름이나 게시물 문구 같은 글이 대상입니다. 이런 공격을 프롬프트 인젝션이라고 하는데, Claude Code 보안 문서도 어떤 시스템도 모든 공격을 완전히 막을 수는 없다고 적고 있습니다.
그래서 지금은 에이전트가 설정 변경을 제안만 하게 하고, 실제로 바꿀지는 사람이 보고 정하는 쪽이 맞다고 생각합니다.
정해진 조건에서 광고를 끄고 켜는 일이라면 메타 광고 관리자에 이미 있는 자동 규칙이 더 알맞다고 봅니다. 자동 규칙은 캠페인, 광고 세트, 광고를 정해진 조건으로 확인해 끄거나 예산을 바꾸고, 알림만 보내게 설정할 수도 있습니다. 앞 편에서 말한, 순서가 미리 정해진 워크플로에 해당합니다.
구글과 네이버는
같은 방식을 다른 광고 매체에도 쓸 수 있는지 매체별로 정리하면 다음과 같습니다.
| 매체 | 공식 연결 방법 | 아침 점검에 쓸 때 |
|---|---|---|
| 메타 | 공식 광고 MCP 서버(공개 베타) | 이번 영상에서 실제로 연결 |
| 구글 | 공식 Google Ads MCP 서버(읽기 전용) | 입찰이나 캠페인 상태는 바꿀 수 없지만, 읽고 보고하는 일에는 충분 |
| 네이버 | 검색광고 API(광고주 센터 도구 메뉴에서 API 라이선스 발급) | API를 부르는 도구를 따로 만들어 연결 |
구글 광고 API를 직접 쓰는 조건도 바뀌었습니다. 예전에는 개발자 토큰이 꼭 있어야 했지만, 2026년 9월 9일 이 조건이 없어졌습니다. 이제는 구글의 개발용 작업 공간인 Google Cloud 프로젝트로 인증해서 접근하고, 사용량이 많으면 접근 등급에 따라 따로 심사를 거칩니다.
정리
나만의 에이전트를 만드는 데 코드는 거의 필요하지 않았습니다. Claude Code에 지시문 한 장, 메타 연결 하나, 허용 목록만 있으면 됐습니다.
어려웠던 일은 정하는 일이었습니다. 무엇을 이상 신호로 볼지, 어디서 멈출지, 무엇을 못 하게 막을지를 사람이 정해야 했습니다. 에이전트는 한 번에 완성되지도 않았습니다. 사람이 실행 기록을 읽고 막힌 곳을 고치고 다시 실행하는 동안 에이전트가 조금씩 나아졌습니다.
매일 아침 반복하는 확인 업무 가운데 지시문 한 장으로 적을 수 있는 일이 있다면, 그 일부터 읽기 도구만 열어 둔 에이전트에게 맡겨 볼 수 있습니다.
따라 해 보기
아래 순서는 Claude Code를 설치한 Pro 이상 사용자를 기준으로 합니다. 메타 광고 MCP 서버는 공개 베타라서 계정에 따라 일부 도구가 보이지 않을 수 있습니다.
1. 작업 폴더를 만들고 메타 광고 MCP 서버 연결하기
보고서와 메모를 둘 폴더를 만들고, Claude Code에 메타 광고 MCP 서버를 원격 서버로 추가합니다. 서버 이름은 meta-ads로 정했습니다.
mkdir -p meta-check/report meta-check/memo && cd meta-check
claude mcp add --transport http meta-ads https://mcp.facebook.com/adsClaude Code에서 MCP 도구의 이름은 mcp__<서버 이름>__<도구 이름> 형태가 됩니다. 서버 이름을 meta-ads로 정했다면 캠페인 숫자를 읽는 도구는 mcp__meta-ads__ads_get_ad_entities입니다. 영상에서는 Claude 앱에 연결해 둔 메타 커넥터를 썼기 때문에 실행 기록에 mcp__claude_ai_Meta__ads_get_ad_entities로 남았습니다. 허용 목록에는 내 환경에 표시된 이름을 그대로 씁니다.
2. 지시문 쓰기
폴더에 CLAUDE.md 파일을 만들고 다섯 부분을 적습니다. 아래는 첫 실행 뒤 고친 내용까지 반영한 지시문입니다. act_<광고 계정 ID>에는 점검할 광고 계정 번호를 넣습니다.
메타 광고 아침 점검
[1. 목표] 매일 아침 메타 광고 계정 하나를 점검하고, 사람이 3분 안에 읽을 수 있는 보고서 한 장을 남긴다.
[2. 대상] 광고 계정 act_<광고 계정 ID> 하나만 점검한다. 다른 계정은 열지 않는다.
[3. 할 일]
1. memo/last.md를 먼저 읽는다. 파일이 없으면 첫 점검이다.
2. 메모의 "다음 점검에서 확인할 것"을 새 숫자로 하나씩 다시 확인하고, 결과를 보고서에 적는다.
3. 지난 7일(오늘 제외)과 그 전 7일의 캠페인 숫자를 가져온다. 지출이 있는 캠페인만 지출이 큰 순서로 가져온다.
4. 두 기간을 비교해 이상 신호를 찾는다.
- 결과당 비용이 30% 넘게 올랐다
- 빈도(같은 사람에게 보인 평균 횟수)가 3을 넘었다
- 클릭률이 30% 넘게 떨어졌다
- 한 캠페인에 전체 지출의 70% 넘게 몰렸다
- 지출은 있는데 결과가 0이다
5. 켜져 있는데 지출이 없는 캠페인은 종료일과 게재 상태를 확인한다.
6. 보고서는 report/점검-YYYY-MM-DD.md, 메모는 memo/last.md에 쓴다.
보고서: 한 줄 요약, 캠페인별 숫자, 이상 신호, 지난 점검에서 확인하기로 한 것, 제안(승인 필요), 지켜볼 것, 가져오지 못한 것
메모: 점검일, 비교한 기간, 현재 상태, 다음 점검에서 확인할 것, 이번에 못 한 것
[4. 하지 말 것]
- 예산, 입찰, 광고 소재를 바꾸지 않는다. 광고를 켜거나 끄지 않는다.
- 바꿔야 할 것 같으면 보고서의 "제안(승인 필요)"에 적기만 한다.
- 데이터를 가져오지 못하면 숫자를 지어내지 말고, 무엇을 못 가져왔는지 적는다.
[5. 끝내는 시점] 보고서와 메모를 다 쓰면 멈춘다.3. 허용 목록과 금지 목록을 붙여 실행하기
명령 한 줄로 실행합니다. 첫 실행의 허용 목록에는 메타 읽기 도구 두 개와 파일 도구를 넣었습니다.
claude -p "오늘 아침 점검을 해 줘" \
--output-format json \
--allowedTools "mcp__meta-ads__ads_get_ad_entities" "mcp__meta-ads__ads_get_field_context" \
"Read" "Write" "Edit" "Glob" \
--disallowedTools "mcp__meta-ads__<예산을 바꾸는 도구 이름>" "mcp__meta-ads__<광고를 켜고 끄는 도구 이름>" \
> run.json--allowedTools: 묻지 않고 쓸 수 있는 도구입니다.--disallowedTools: 금지 규칙입니다. 도구 이름만 적으면 그 도구가 에이전트의 도구 목록에서 빠집니다. 금지 목록의 꺾쇠 부분에는 연결한 메타 서버의 도구 목록에서 예산과 상태를 바꾸는 도구 이름을 찾아 넣습니다.--output-format json: 결과를 JSON으로 남깁니다. 결과의total_cost_usd값은 API 요금 기준 비용 추정치라 실제 청구액과 다를 수 있습니다.
비용 상한을 두고 싶다면 --max-budget-usd 3처럼 달러 금액을 붙입니다. 추정 비용이 이 금액에 이르면 실행이 멈춥니다.
4. 실행 기록을 읽고 허용 목록 고치기
실행이 끝나면 report/ 폴더의 보고서와 memo/last.md를 열어 봅니다. 보고서의 "가져오지 못한 것"에 막힌 도구가 적혀 있다면, 그 도구가 읽기 전용인지 확인한 뒤 허용 목록에 넣습니다. 영상의 두 번째 실행에서는 --allowedTools에 아래 세 도구를 더했습니다.
mcp__meta-ads__ads_account_get_activity_logs (활동 기록)
mcp__meta-ads__ads_insights_performance_trend (성과 추이)
mcp__meta-ads__ads_insights_industry_benchmark (업계 비교)에이전트가 스스로 풀어낸 방법이 보고서에 보이면, 다음 실행에서도 하도록 지시문의 할 일에 한 줄로 옮깁니다.
5. 매일 아침 실행 예약하기
내 컴퓨터에서 실행한다면 macOS나 리눅스의 cron에 3단계 명령을 등록합니다. 아래는 매일 오전 7시에 실행하는 예이고, cron에서는 claude의 전체 경로를 적습니다.
0 7 * * * cd /경로/meta-check && /경로/claude -p "오늘 아침 점검을 해 줘" --allowedTools ... --disallowedTools ... >> run.log 2>&1Claude Code 예약 작업으로 클라우드에서 실행하려면 작업 폴더를 GitHub 저장소에 올려 연결합니다. 이때는 메타 비즈니스 포트폴리오에서 광고 계정별 AI 에이전트 규칙으로 예산 수정과 캠페인 생성부터 막아 둡니다.
자주 묻는 질문
Claude 무료 요금제로도 이 에이전트를 만들 수 있나요?
만들 수 없습니다. 실행 앱인 Claude Code가 Pro, Max, Ultra 요금제에 들어 있고, 무료 요금제에는 포함되지 않기 때문입니다. Pro는 2026년 10월 31일 기준 월 결제 20달러입니다.
매일 실행하면 비용이 얼마나 드나요?
이번 두 번의 실행은 API 요금으로 치면 한 번에 2달러 안팎이었습니다. 구독 요금제로 실행하면 따로 청구되지 않지만, 대화할 때와 같은 사용 한도에서 차감됩니다.
출처와 기준일
영상 속 실행은 2026년 10월 31일과 11월 1일에 했고, 이 글의 사실 정보는 2026년 10월 31일 기준입니다. 메타 광고 MCP 서버는 공개 베타, Claude Code 예약 작업은 연구용 미리보기라 도구 목록과 이용 조건이 이후 바뀔 수 있습니다.
- 직접 실행: Claude Code와 메타 광고 MCP, 1차 2분 17초(메타 도구 12회, 막힘 3회), 2차 2분 37초
- Meta, Introducing Meta Ads AI Connectors
- Meta for Developers, Ads MCP Server overview
- Meta 비즈니스 도움말, Manage ads from an AI agent with Meta Ads AI connectors
- Meta for Developers, Insights API best practices
- Meta 비즈니스 도움말, About automated rules
- Claude Code 문서, How Claude remembers your project, Run Claude Code programmatically, CLI reference, Configure permissions
- Claude Code 문서, 예약 작업(Scheduled tasks), 보안 안내
- Anthropic 도움말, How do usage and length limits work?, Claude 요금
- Google Ads API 문서, 공식 MCP 서버 안내, 개발자 토큰 안내, 접근 등급 안내
- Google Ads 도움말, 전환 수가 다른 도구와 다르게 집계되는 이유
- 네이버 검색광고, 검색광고 API 문서

새 글과 AI 소식을 메일로 받아 보세요
AI가 바꾸는 일과 도구, 측정 실무 이야기를 매주 한 번 보내 드려요.
이 글이 도움이 되었나요?
도구에 상관없이 통하는 에이전트 원리와 설계 규칙을 정리했습니다
- 1AI 에이전트(AI Agent) 뜻: 챗봇, 워크플로와의 차이, 에이전트 루프와 도구 호출, MCP와 스킬
- 2AGENTS.md와 CLAUDE.md 뜻과 작성법: intent.md와 하네스까지
- 3멀티 에이전트 오케스트레이션(Multi-Agent Orchestration) 뜻과 설계
