Kakao Keyword Ads MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KAKAO_REDIRECT_URI | Yes | 앱에 등록한 Redirect URI (발급용) | |
| KAKAO_REST_API_KEY | Yes | OAuth client_id (발급용) | |
| KAKAO_BUSINESS_CLIENT_SECRET | Yes | 비즈니스 인증 Client Secret (발급용) |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| loginA | 비즈니스 토큰으로 로그인한다. 토큰을 tokeninfo로 검증하고 서버 세션에 저장 → 이후 툴은 토큰 인자 없이 호출 가능. 반환에 token_user_id와 접근 가능 계정(tokeninfo). |
| use_accountA | 이후 조회의 기본 대상 광고계정을 세션에 설정한다. |
| logoutA | 세션의 로그인/계정 정보를 지운다. |
| session_statusA | 현재 인증 상태(로그인 여부·token_user_id·선택된 계정). 토큰 값은 노출하지 않음. OAuth 로그인-온-커넥트 모드면 요청의 OAuth 토큰 컨텍스트를 보고(=실제 인증 경로), 아니면 세션 저장소(login 툴/웹 로그인)를 본다. |
| get_token_infoA | 비즈니스 토큰의 소유자(token_user_id)와 접근 가능 광고계정 조회 (GET kapi.kakao.com/v1/business/tokeninfo). biz_agreements[].ad_account_ids가 접근 가능 계정('*'=전체). |
| get_user_infoC | 비즈니스 토큰 사용자 정보 (GET /v1/business/userinfo). |
| list_ad_accountsA | 토큰이 접근 가능한 광고계정 목록 (GET /adAccounts/pages). 계정 선택 전에도 호출 가능. |
| get_ad_accountB | 광고계정 상세 (GET /adAccounts/{adAccountId}). |
| get_account_balanceB | 광고계정 실시간 잔액 (GET /adAccounts/balance). |
| get_biz_rightB | 영업권 조회 (GET /adAccounts/bizRight). |
| list_campaignsA | 캠페인 목록 (GET /campaigns). |
| get_campaignA | 단일 캠페인 상세 (GET /campaigns/{id}). |
| list_adgroupsC | 광고그룹 목록 (GET /adGroups). |
| get_adgroupB | 단일 광고그룹 상세 (GET /adGroups/{id}). |
| list_keywordsC | 키워드 목록 (GET /keywords). |
| get_keywordB | 단일 키워드 상세 (GET /keywords/{id}). |
| get_keyword_qualityA | 키워드 품질지수 (GET /keywords/{id}/quality). 검색광고 최적화 분석의 핵심 신호. |
| list_creativesA | 소재 목록 (GET /creatives/basic?bizChannelId=). bizChannelId 필수 — 캠페인의 bizChannelId 값을 넘긴다 (소재는 비즈채널 단위). |
| get_creativeA | 단일 소재 상세 (GET /creatives/basic/{id}). |
| get_account_performanceB | 광고계정 성과 리포트 (GET /adAccounts/report). |
| get_campaign_performanceB | 캠페인별 성과 리포트 (GET /campaigns/report). |
| get_adgroup_performanceA | 광고그룹별 성과 리포트 (GET /adGroups/report). campaignId 필수. |
| get_keyword_performanceC | 키워드별 성과 리포트 (GET /keywords/report). campaignId 필수, adGroupId 선택. 검색광고 분석의 핵심. |
| get_creative_performanceB | 소재별 성과 리포트 (GET /creatives/report). campaignId 필수, adGroupId 선택. |
| get_performance_reportC | 레벨 지정 통합 성과 리포트 (KEYWORD 포함). 인사이트 도출용 1급 툴. AD_GROUP/KEYWORD/CREATIVE 레벨은 campaign_id 필수. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| metric_glossary | 지표 필드명 → (별칭, 설명) 사전. ⚠️ 필드명은 라이브 응답으로 검증 후 확정 예정. |
| report_dimensions | 리포트 집계 레벨/지표그룹 참고표. |
TDQS
Scored across 25 tools
Each tool targets a distinct resource or action: get_* for single entities, list_* for collections, and dedicated tools for auth/state. No two tools have overlapping purposes; even performance reports are clearly differentiated by level (account, campaign, adgroup, keyword, or unified).
All tools follow a strict verb_noun pattern with underscores (e.g., get_keyword_quality, list_ad_accounts). Auth tools (login, logout, session_status, use_account) are also consistently named. No mixing of conventions or vague verbs.
25 tools is at the high end of reasonable for a keyword ads API. It covers authentication (4), listing/getting for 5 entities (account, campaign, adgroup, keyword, creative) plus performance reports and supporting tools. Slightly heavy but not unjustified given the domain.
The tool set is heavily read-only: only get and list operations exist for campaigns, adgroups, keywords, and creatives. Missing create, update, and delete operations—critical for campaign management. The only write tool is use_account (state setting). Performance reporting is well-covered, but the lack of mutation tools is a major gap.