✨ imsend MCP v1.0

시작하기

imsend MCP를 사용하면 OpenClaw, Claude, ChatGPT 등 AI 에이전트에서
자연어 명령만으로 문자·이메일을 즉시 발송할 수 있습니다.

📌 MCP(Model Context Protocol)란?
AI 에이전트가 외부 서비스를 직접 호출할 수 있게 해주는 표준 프로토콜입니다. imsend MCP를 연동하면 에이전트가 imsend의 발송 기능을 도구(Tool)로 사용할 수 있습니다.

무엇을 할 수 있나요?

💬 문자 발송
SMS, LMS, MMS를 AI에게 말하는 것만으로 즉시 발송
17원~/건
📧 이메일 발송
HTML 이메일 단건·대량 발송 지원
1.5원/건
📤 대량 발송
수신자 목록을 전달하면 자동으로 대량 발송
건당 동일
💳 포인트 관리
잔액 조회, 발송 이력, 카카오페이 충전
무료

빠른 시작

API 키를 발급받고 에이전트에 연동하는 데 5분이면 충분합니다.

1
imsend 계정으로 API 키 발급
imsend.kr에 로그인 후 왼쪽 메뉴 → AI 에이전트 → MCP API 키에서 발급합니다.
가입 즉시 웰컴 포인트가 지급됩니다.
2
사용할 에이전트에 MCP 서버 등록
아래 연동 가이드를 참고하여 사용하는 AI 도구에 imsend MCP 서버를 등록합니다.
3
자연어로 발송 요청
에이전트에게 "01012345678로 행사 안내 문자 보내줘"라고 말하면 즉시 발송됩니다.

API 키 발급

imsend 계정이 있으면 즉시 발급받을 수 있습니다. 소셜 로그인(카카오/네이버/구글)을 지원합니다.

⚠️ API 키는 외부에 노출되지 않도록 주의하세요. 키가 노출된 경우 즉시 재발급하세요.
  1. imsend.kr에 로그인
  2. 왼쪽 사이드바 → AI 에이전트 섹션 → MCP API 키
  3. MCP API 키 발급받기 버튼 클릭
  4. 발급된 64자리 키를 복사

OpenClaw 연동

OpenClaw는 imsend MCP를 네이티브로 지원합니다. mcporter를 통해 연동합니다.

1. mcporter CLI로 등록

mcporter config add imsend-mcp https://mcp.imsend.kr/mcp --auth bearer
# 프롬프트에서 API 키 입력

2. 설정 파일로 등록

~/.mcporter/mcporter.json에 직접 추가:

{
  "servers": {
    "imsend-mcp": {
      "url": "https://mcp.imsend.kr/mcp",
      "auth": {
        "type": "bearer",
        "token": "여기에_API_키_입력"
      }
    }
  }
}

3. 사용 예시

사용자: "01012345678로 '내일 오전 10시 미팅 안내드립니다' 문자 보내줘"
서진:   ✅ SMS 발송 완료 (잔액: 4,990원)

사용자: "고객 리스트에 있는 50명한테 공지 문자 보내줘"
서진:   ✅ LMS 50건 대량 발송 완료 (차감: 1,500원)

사용자: "잔여 포인트 얼마야?"
서진:   현재 잔액: 3,490원입니다.

Claude Desktop 연동

Claude Desktop의 설정 파일에 MCP 서버를 추가합니다.

설정 파일 경로: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "imsend-mcp": {
      "url": "https://mcp.imsend.kr/mcp",
      "headers": {
        "Authorization": "Bearer 여기에_API_키_입력"
      }
    }
  }
}

설정 파일 경로: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "imsend-mcp": {
      "url": "https://mcp.imsend.kr/mcp",
      "headers": {
        "Authorization": "Bearer 여기에_API_키_입력"
      }
    }
  }
}
✅ 설정 후 Claude Desktop을 재시작하면 imsend MCP 도구가 자동으로 활성화됩니다.

Claude.ai 웹 연동 (OAuth 2.0)

Claude.ai 웹에서는 OAuth 2.0 Authorization Code Flow (PKCE)를 통해 연동합니다. API 키를 직접 입력하지 않고, imsend 계정으로 로그인하여 안전하게 인증합니다.

사전 준비: imsend 계정의 Key IDKey Secret이 필요합니다.
imsend.kr → AI 에이전트 → MCP API 키에서 확인하세요.

1. Claude.ai 커넥터 추가

  1. claude.ai 접속 → 좌측 하단 설정(톱니바퀴)
  2. Integrations 탭 → Add Integration 클릭
  3. 아래 정보 입력:
항목 입력값
Integration URL https://mcp.imsend.kr/mcp
Client ID MCP API 키 페이지의 Key ID (imcp_로 시작)
Client Secret MCP API 키 페이지의 Key Secret

2. imsend 계정으로 로그인 (최초 1회)

  1. Integration 추가 후 Connect 버튼 클릭
  2. imsend 로그인 페이지로 이동 — 카카오 / 네이버 / 구글 소셜 로그인 또는 일반 로그인
  3. 로그인 완료 시 자동으로 Claude.ai로 복귀, 연동 완료
✅ 로그인은 최초 1회만 필요합니다. 이후 Claude.ai에서 바로 문자 발송 명령이 가능합니다.

3. OAuth 엔드포인트 (개발자 참고)

자체 앱에서 OAuth 2.0 흐름을 직접 구현하는 경우 아래 엔드포인트를 사용합니다. Discovery 메타데이터는 아래 .well-known URL에서 조회할 수 있습니다.

  • https://mcp.imsend.kr/.well-known/openid-configuration
  • https://mcp.imsend.kr/.well-known/oauth-authorization-server
  • https://mcp.imsend.kr/.well-known/oauth-protected-resource
{
  "issuer": "https://mcp.imsend.kr",
  "authorization_endpoint": "https://mcp.imsend.kr/oauth/authorize",
  "token_endpoint": "https://mcp.imsend.kr/oauth/token",
  "token_endpoint_auth_methods_supported": ["client_secret_post"],
  "grant_types_supported": ["authorization_code", "refresh_token"],
  "code_challenge_methods_supported": ["S256", "plain"],
  "scopes_supported": ["sms", "email"]
}

4. Authorization Request

GET https://mcp.imsend.kr/oauth/authorize
  ?response_type=code
  &client_id={Key_ID}
  &redirect_uri={redirect_uri}
  &state={random_state}
  &code_challenge={pkce_challenge}
  &code_challenge_method=S256
  &scope=sms+email

5. Token Exchange

POST https://mcp.imsend.kr/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&code={authorization_code}
&client_id={Key_ID}
&client_secret={Key_Secret}
&redirect_uri={redirect_uri}
&code_verifier={pkce_verifier}

응답으로 받은 access_token을 Bearer 토큰으로 사용합니다. access_token의 유효기간(expires_in)은 90일(7,776,000초)이며, 토큰 교환 시 함께 발급되는 refresh_token으로 갱신할 수 있습니다.

6. Token Refresh

POST https://mcp.imsend.kr/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&refresh_token={refresh_token}
&client_id={Key_ID}
&client_secret={Key_Secret}

grant_type=refresh_token 으로 요청하면 새 access_token을 반환합니다.


ChatGPT 연동

ChatGPT의 MCP 연동은 Actions 또는 Connectors를 통해 설정합니다.

MCP 서버 URL: https://mcp.imsend.kr/mcp
인증 방식: Bearer Token
토큰: 발급받은 API 키
  1. ChatGPT 설정 → Connectors 또는 Custom Actions
  2. MCP 서버 URL 입력: https://mcp.imsend.kr/mcp
  3. 인증 타입: Bearer Token 선택
  4. API 키 입력 후 저장

Cursor / VS Code 연동

.cursor/mcp.json 또는 .vscode/mcp.json에 추가합니다.

{
  "servers": {
    "imsend-mcp": {
      "type": "http",
      "url": "https://mcp.imsend.kr/mcp",
      "headers": {
        "Authorization": "Bearer 여기에_API_키_입력"
      }
    }
  }
}

도구(Tool) 목록

imsend MCP가 제공하는 도구 목록입니다. AI 에이전트가 자동으로 적절한 도구를 선택하여 호출합니다.

guide — 온보딩/사용법 안내 ★ 먼저 호출

처음 사용 시 가장 먼저 호출하는 도구입니다. 도구 목록, 요금, 발송 흐름을 주제별로 안내합니다.

{
  "topic": "all"  // all | sms | email | mms | alimtalk | image | pricing | report (기본: all)
}

💰 무료

send_sms — 단문 문자 발송

90자 이내의 단문 문자(SMS)를 발송합니다.

{
  "receiver": "01012345678",  // 수신번호
  "message": "안녕하세요, 내일 오전 10시 미팅입니다."  // 최대 90자
}

💰 단가: 17원/건

send_lms — 장문 문자 발송

2,000자 이내의 장문 문자(LMS)를 발송합니다.

{
  "receiver": "01012345678",
  "message": "안녕하세요.\n\n이번 행사 안내를 드립니다.\n..."  // 최대 2000자
}

💰 단가: 40원/건

send_bulk — 대량 문자 발송

여러 수신자에게 동일한 문자를 한 번에 발송합니다.

{
  "receivers": ["01012345678", "01087654321", "01099998888"],
  "message": "공지 내용입니다.",
  "type": "SMS"  // "SMS" 또는 "LMS"
}

💰 단가: 타입에 따라 건당 동일 요금

send_mms — MMS 이미지 문자 발송

서버에 업로드된 이미지 경로(imagePath)로 MMS를 발송합니다. 이미지는 JPG/PNG/GIF 형식, 최대 2MB까지 지원합니다. 먼저 get_upload_url 또는 send_mms_upload로 이미지를 업로드해 savedPath를 받은 뒤 호출합니다.

파라미터필수설명
receiver수신번호 (예: 01012345678)
message문자 내용 (최대 2000자)
imagePath업로드로 받은 savedPath (서버 업로드 경로)
imageUrl업로드로 받은 imageUrl (로그용, 선택)
{
  "receiver": "01012345678",
  "message": "이미지와 함께 발송하는 MMS입니다.",
  "imagePath": "/opt/imsend/uploads/mms/1700000000_photo.jpg"
}

💰 단가: 90원/건

Base64 이미지를 바로 보내려면 send_mms_now(receiver, message, imageBody)를 사용하세요 — 업로드+발송을 1번 호출로 처리합니다.
💡 이미지 업로드 방식 — 권장 순서대로 선택하세요:
get_image_upload_url + send_mms_from_url★ 모든 환경 권장 (Claude웹·ChatGPT웹·모바일, Base64 없음) send_mms_from_url(imageUrl) — 공개 이미지 URL 있을 때 바로 발송 send_mms_upload (Base64) — ⚠️ 구버전, 4만 토큰 소모, 컨텍스트 초과 위험

send_mms_now — Base64 MMS 통합 발송

Base64 이미지를 1번 호출로 업로드+발송합니다. 파일 없이 즉시 보낼 때 사용하며, Claude.ai 본문에서 안정적입니다(GPT 환경은 truncation 주의). 서버에서 자동 640px 리사이즈 + JPG 변환합니다.

{
  "receiver": "01012345678",
  "message": "이미지 보내드립니다.",
  "imageBody": "Base64인코딩값",  // JPG/PNG/GIF, 최대 2MB
  "imageName": "photo.jpg"        // 선택 (기본: image.jpg)
}

💰 단가: 90원/건

send_mms_upload — Base64 이미지 업로드 구버전

Base64 이미지를 서버에 업로드하고 savedPath/imageUrl을 반환합니다. 반환된 savedPathsend_mmsimagePath로 사용합니다. ⚠️ GPT 환경에서 truncation이 발생할 수 있어 send_mms_now 또는 업로드 세션 방식을 권장합니다.

{
  "imageBody": "Base64인코딩값",  // JPG/PNG/GIF, 최대 2MB
  "imageName": "photo.jpg"        // 선택 (기본: image.jpg)
}

💰 무료 (발송은 send_mms 단가 적용)

get_upload_url — Pre-signed 업로드 URL 발급

MMS 이미지 또는 이메일 본문 이미지를 업로드할 URL을 발급합니다. AI가 curl/requests로 직접 binary 업로드하므로 Base64 방식보다 빠르고 대용량에 적합합니다.

Claude Desktop · ChatGPT · Cursor에서 bash/code 실행이 가능한 환경에 최적화
파라미터필수설명
typemms (MMS 이미지, 최대 2MB) 또는 email (이메일 본문 이미지, 최대 5MB)
fileName파일명 (기본: image.jpg)

📱 MMS 이미지 업로드 (3단계)

# 1단계: 업로드 URL 발급 (send_mms 도구 사용)
get_upload_url(type="mms", fileName="photo.jpg")
# → uploadUrl, savedPath 반환

# 2단계: AI가 직접 이미지 PUT 업로드 (bash)
curl -X PUT "https://mcp.imsend.kr/mcp/upload/{token}" \
     --data-binary @photo.jpg \
     -H "Content-Type: application/octet-stream"
# 또는 Python
# import requests
# requests.put(uploadUrl, data=open('photo.jpg','rb'), headers={'Content-Type':'application/octet-stream'})

# 3단계: MMS 발송
send_mms(receiver="01012345678", message="이미지 발송", imagePath="{savedPath}")

📧 이메일 본문 이미지 업로드 (3단계)

# 1단계: 업로드 URL 발급
get_upload_url(type="email", fileName="banner.png")
# → uploadUrl, savedPath, imageUrl 반환

# 2단계: 이미지 PUT 업로드
curl -X PUT "https://mcp.imsend.kr/mcp/upload/{token}" \
     --data-binary @banner.png \
     -H "Content-Type: application/octet-stream"

# 3단계: 이메일 발송 (imageUrl을 본문에 삽입)
send_email(to="user@example.com", subject="...", content="<img src='https://imsend.kr/uploads/email/...'>")

🔄 환경별 권장 업로드 방식

환경 권장 방식 흐름
공개 URL 있을 때
모든 환경
send_mms_from_url imageUrl 바로 전달 → 즉시 발송
Claude.ai 웹
bash_tool 활성 시
get_upload_url → curl PUT get_upload_url → bash_tool curl PUT → send_mms(imagePath)
ChatGPT 웹
Python container
get_image_upload_url → Python POST ★ get_image_upload_url → Python requests.post(multipart) → send_mms_from_url(imageUrl)
브라우저 업로드
모든 환경 (링크 클릭)
get_image_upload_url → 브라우저 get_image_upload_url → 링크 클릭 업로드 → check_upload_status → send_mms_from_url
Base64 (구버전)
⚠ GPT에서 잘림 발생
send_mms_upload Claude.ai 소용량만 가능. GPT 사용 시 fileSize:75 오류 발생 — 사용 금지

💰 무료 (발송 시 해당 도구 단가 적용)

get_image_upload_url — 이미지 업로드 페이지 URL 발급 ★ 권장

사용자가 브라우저에서 직접 이미지를 올릴 수 있는 전용 업로드 페이지를 발급합니다. Base64 변환 없이 MMS/이메일 이미지를 처리하는 권장 방식입니다. Claude웹·ChatGPT웹·모바일 모든 환경에서 동작합니다.

파라미터

파라미터필수설명
typemms (최대 2MB) 또는 email (최대 5MB)

반환값

{
  "uploadPageUrl": "https://mcp.imsend.kr/mcp/image-upload/{token}",
  "token": "{token}",
  "expiresIn": "15분",
  "instruction": "아래 URL을 사용자에게 안내하세요. 업로드 완료 후 check_upload_status를 호출하세요.",
  "nextStep": "check_upload_status(token)"
}

전체 흐름 (MMS 예시)

# 1단계: 업로드 링크 발급
get_image_upload_url(type="mms")
→ uploadPageUrl: "https://mcp.imsend.kr/mcp/image-upload/abc123"

# 2단계: 사용자에게 안내
"이미지를 여기서 업로드해주세요 (15분 유효):
 https://mcp.imsend.kr/mcp/image-upload/abc123"

# 3단계: 사용자가 링크 클릭 → 파일 선택 → 업로드

# 4단계: 업로드 완료 확인
check_upload_status(token="abc123")
→ { done: true, imageUrl: "https://imsend.kr/uploads/mms/xxx.jpg" }

# 5단계: MMS 발송
send_mms_from_url(receiver="01012345678", message="이미지 발송", imageUrl="https://imsend.kr/uploads/mms/xxx.jpg")

🤖 ChatGPT 환경 (Python container)

# 1단계: get_image_upload_url(type="mms") 로 token 발급
# 2단계: ChatGPT Python container에서 실행
import requests
files = {"file": open("/mnt/data/photo.jpg", "rb")}
r = requests.post(
    "https://mcp.imsend.kr/mcp/image-upload/{token}",  # token 교체
    files=files
)
result = r.json()
# result: {"success": true, "imageUrl": "https://imsend.kr/uploads/mms/xxx.jpg"}

# 3단계: MCP 도구 호출
# send_mms_from_url(receiver="01012345678", message="발송내용", imageUrl=result["imageUrl"])
💡 ChatGPT 핵심: curl PUT 대신 Python requests.post(multipart)를 사용하면 Base64 잘림 없이 안정적으로 업로드됩니다.
✅ Base64 토큰 소모 없음 · Claude웹/ChatGPT웹/모바일 모두 지원 · 업로드 페이지는 모바일 카메라롤 접근 가능

check_upload_status — 업로드 완료 확인

get_image_upload_url 발급 후 사용자가 이미지를 업로드했는지 확인합니다. 완료 시 imageUrl을 반환합니다.

파라미터

파라미터필수설명
tokenget_image_upload_url로 발급받은 토큰

반환값 예시

// 완료 시
{ "done": true, "imageUrl": "https://imsend.kr/uploads/mms/xxx.jpg", "fileName": "photo.jpg", "fileSize": 512000 }

// 대기 중
{ "done": false, "message": "아직 업로드 중입니다. 잠시 후 다시 확인하세요." }

// 만료
{ "done": false, "expired": true, "message": "토큰이 만료됐거나 존재하지 않습니다." }

send_mms_from_url — URL로 MMS 발송 ★ 권장

이미지 URL로 MMS를 발송합니다. check_upload_status에서 받은 imageUrl 또는 공개 이미지 URL을 사용합니다. Base64 없음.

파라미터

파라미터필수설명
receiver수신번호 (예: 01012345678)
message문자 내용 (최대 2000자)
imageUrl이미지 URL (imsend.kr/uploads/... 또는 공개 URL)
campaignId캠페인 ID (선택)
send_mms_from_url(
  receiver="01012345678",
  message="이미지 보내드립니다.",
  imageUrl="https://imsend.kr/uploads/mms/1234567890_photo.jpg"
)

send_email — 이메일 발송

HTML을 지원하는 이메일을 발송합니다. 파일 첨부도 지원합니다.

파라미터필수설명
to수신 이메일 주소
subject이메일 제목 (최대 200자)
content이메일 본문 (HTML 가능)
attachments첨부파일 목록 [{fileName, fileBody(Base64)}]
최대 5개, 파일당 10MB / PDF·DOC·XLS·PPT·HWP·ZIP·이미지
// 기본 발송
{
  "to": "user@example.com",
  "subject": "이메일 제목",
  "content": "<h1>안녕하세요</h1><p>이메일 내용입니다.</p>"
}

// 파일 첨부 발송
{
  "to": "user@example.com",
  "subject": "첨부파일 포함 이메일",
  "content": "<p>파일을 첨부했습니다.</p>",
  "attachments": [
    { "fileName": "report.pdf", "fileBody": "JVBERi0xLjQ..." }
  ]
}

💰 단가: 1.5원/건

send_email_now — 이메일 통합 발송 (본문 이미지 1-step) ★ 권장

Base64 이미지 1번 전달로 본문 자동 삽입 후 이메일을 발송합니다. content{{IMAGE_URL}} 플레이스홀더를 두면 그 위치에, 없으면 본문 하단에 자동 삽입됩니다. 이미지 없이 텍스트만 보내도 됩니다.

파라미터필수설명
to수신 이메일 주소
subject이메일 제목 (최대 200자)
content본문 HTML (이미지 위치에 {{IMAGE_URL}} 사용 가능)
imageBodyBase64 이미지 (JPG/PNG/GIF/WEBP, 최대 5MB)
imageName이미지 파일명 (기본: image.jpg)
fromEmail발신 이메일 (기본: info@imsend.kr)
fromName발신자명 (기본: I'mSend)
{
  "to": "user@example.com",
  "subject": "이미지 포함 이메일",
  "content": "<p>본문입니다.</p>{{IMAGE_URL}}",
  "imageBody": "Base64값",
  "imageName": "banner.jpg"
}

💰 단가: 1.5원/건

create_mms_upload_session — MMS 자동발송 세션 ★★ 전 환경 1순위

MMS 이미지 발송을 위한 자동발송 세션을 생성합니다. 업로드 링크를 사용자에게 안내하면, 사용자가 이미지를 업로드하는 즉시 서버가 자동으로 MMS를 발송하고 페이지에서 결과를 표시합니다. AI 폴링 불필요 · Claude/GPT/모바일 통일

파라미터

파라미터필수설명
receiver수신번호 (예: 01012345678)
message문자 내용 (최대 2000자)

전체 흐름

# 1단계: AI가 세션 생성
create_mms_upload_session(receiver="01012345678", message="이미지 보내드립니다")
→ { sessionId, uploadPageUrl, expiresIn: "15분" }

# 2단계: AI가 사용자에게 링크 안내
"이미지를 여기서 업로드해주세요: [링크]"

# 3단계: 사용자가 링크 클릭 → 이미지 선택 → 업로드
→ 서버: PNG/WEBP → JPG 640px 자동 변환
→ 서버: MMS 자동 발송
→ 페이지: "✅ 문자 전송이 완료되었습니다!" 표시 → 자동 닫힘(PC) / 닫기 버튼(모바일)

# 4단계 (선택): AI가 결과 확인
get_mms_upload_session_status(sessionId)
→ { uploaded: true, sendStatus: "DELIVERED", mseq: 12345 }
✅ Claude.ai / ChatGPT / 모바일 모두 동일하게 동작 · PNG/WEBP 자동 JPG 변환 · 최대 20MB 이미지 지원 · AI 폴링 불필요

💰 단가: 90원/건

create_image_upload_session — curl 자동화 업로드 세션 ★ bash 자동화

Claude Desktop 등 bash 실행 환경에서 로컬 파일을 curl -F로 업로드하기 위한 세션을 생성합니다. 응답의 curl 명령으로 업로드한 뒤 send_mms_from_session으로 발송합니다(사람/브라우저 개입 불필요).

// 파라미터
{ "receiver": "01012345678", "message": "이미지 보내드립니다." }
// 응답
{ "session_id": "...", "upload_url": "...", "curl": "curl -F \"file=@/path/to/image.jpg\" \"...\"", "expires_in": 900 }

💰 무료 (발송은 MMS 90원/건 적용)

send_mms_from_session — 세션으로 MMS 발송

create_image_upload_sessionsession_id로 업로드된 이미지를 MMS 발송합니다. 중복 호출해도 1회만 발송됩니다(idempotent). wait/wait_timeout_sec로 발송 결과까지 대기할 수 있습니다.

{
  "session_id": "...",          // create_image_upload_session의 session_id
  "wait": true,                  // 선택, true면 60초 대기(별칭)
  "wait_timeout_sec": 60          // 선택, 0=즉시반환 (1~110, 초과 시 110 클램프)
}

💰 단가: 90원/건

get_mms_upload_session_status — 세션 발송 결과 조회

create_mms_upload_session 이후 업로드/발송 상태를 폴링합니다. uploaded, sendStatus, mseq를 반환합니다.

{ "sessionId": "..." }  // create_mms_upload_session으로 발급받은 sessionId

💰 무료

send_alimtalk — 카카오 알림톡 발송

카카오톡을 통해 알림톡을 발송합니다. 카카오톡 미수신 시 LMS로 자동 대체 발송됩니다.

💡
자동 대체 발송 (Failover)
수신자가 카카오톡을 사용하지 않거나 알림톡 수신이 불가한 경우, LMS로 자동 전환되어 발송됩니다. 기본값은 failover: true이며, 발송 결과에 대체 여부가 표시됩니다.
파라미터필수설명
receiver수신번호 (예: 01012345678)
template_code승인된 템플릿 코드 (아래 목록 참조)
variables치환 변수 객체 (예: {"서비스명":"MyApp"})
failover카카오 미수신 시 LMS 대체 여부 (기본: true)

📋 MCP 공용 템플릿 미리보기

💬 카카오톡 미리보기

알림톡
Zapza

💻 사용 코드 예시


          

※ 템플릿은 카카오 심사 완료 후 사용 가능합니다. 현재 심사 진행 중.

💰 단가: 15원/건 (failover LMS 대체 발송 시에도 알림톡 단가 15원으로 차감. failover 활성 시 LMS 단가까지 잔액만 확인)

📋 MCP 공용 템플릿 변수 목록

Claude 웹 등 AI 클라이언트에서 템플릿변수를 바로 확인할 수 있도록 정리했습니다. JSON API: GET /api/v1/alimtalk/templates/public

코드 템플릿명 필수 변수명 (variables 키) 사용 예시
MCP-AUTH-001 인증번호 발송 서비스명, 인증번호, 유효시간 {"서비스명":"MyApp","인증번호":"123456","유효시간":"5"}
MCP-APPL-001 신청 접수 완료 서비스명, 이름, 신청유형, 접수번호, 접수일시 {"서비스명":"MyApp","이름":"홍길동","신청유형":"환불","접수번호":"A001","접수일시":"2026-05-07"}
MCP-APPL-002 신청 처리 결과 서비스명, 이름, 신청유형, 처리결과, 처리일시, 상세내용, 연락잘 {"신청유형":"환불","처리결과":"승인",...}
MCP-PAY-001 결제 완료 서비스명, 주문번호, 결제금액, 결제수단, 결제일시, 확인방법 {"서비스명":"MyShop","결제금액":"15,000",...}
MCP-PAY-002 환불 처리 완료 서비스명, 주문번호, 환불금액, 환불수단, 처리일시 {"환불금액":"10,000","환불수단":"카드",...}
MCP-RSRV-001 예약 확인 서비스명, 예약번호, 이름, 예약일시, 예약내용, 연락있 {"예약번호":"R001","예약일시":"2026-05-10 14:00",...}
MCP-RSRV-002 예약 일정 사전 안내 서비스명, 이름, 예정시간, 예약일시, 장소, 예약내용, 연락있 {"예정시간":"내일 오후 2시","장소":"서울",...}
MCP-ACCT-001 회원 가입 완료 서비스명, 이름, 가입일시, 아이디, 연락있 {"이름":"홍길동","가입일시":"2026-05-07",...}
MCP-SHIP-001 발송 완료 안내 서비스명, 이름, 발송내용, 발송일시, 확인방법, 연락있 ★ 심사 진행 중

JSON API 제공: GET https://imsend.kr/api/v1/alimtalk/templates/public — Claude 등 AI가 자동으로 읽어 변수명을 확인할 수 있습니다.

send_email_image_upload — 이메일 본문 이미지 업로드

이메일 본문에 삽입할 이미지를 서버에 업로드합니다. 반환된 imageUrlsend_emailcontent<img src="..."> 형태로 사용하세요.

파라미터필수설명
imageBody이미지 Base64 인코딩 (JPG/PNG/GIF/WEBP, 최대 5MB)
imageName파일명 (기본: image.jpg)
// 1단계: 이미지 업로드
{ "imageBody": "Base64값", "imageName": "banner.jpg" }
// 응답
{ "imageUrl": "https://imsend.kr/uploads/email/2026/05/1234_banner.jpg" }

// 2단계: 이메일 본문에 삽입
{
  "to": "user@example.com",
  "subject": "이미지 포함 이메일",
  "content": "<p>본문입니다.</p><img src='https://imsend.kr/uploads/email/...' />"
}

※ 업로드된 이미지는 90일 후 자동 삭제됩니다.

💰 무료

check_balance — 잔여 포인트 조회

현재 잔여 포인트를 조회합니다.

// 파라미터 없음
// 응답 예시
{
  "balance": 4980,
  "unit": "KRW"
}

💰 무료

get_history — 발송 이력 조회

최근 발송 이력을 조회합니다. 실패 건에는 error_codeerror_reason이 포함됩니다.

// 요청
{ "limit": 20 }

// 응답 예시 (성공)
{ "msg_type": "S", "receiver": "01012345678", "status": "DELIVERED", "unit_price": 10 }

// 응답 예시 (실패)
{ "msg_type": "S", "receiver": "01012345678", "status": "FAILED",
  "unit_price": 10, "error_code": "211", "error_reason": "수신거부 또는 번호 오류" }

💰 무료

get_result — 단건 발송 결과 조회

발송 시 반환된 mseq로 실시간 결과(DELIVERED/FAILED/사유)를 조회합니다.

{ "mseq": 19500 }  // send_sms/send_mms/send_alimtalk 발송 시 반환된 값

💰 무료

get_sender — 발신번호 조회

현재 기본 발신번호와 본인인증이 완료된 개인 발신번호(mySenders) 목록을 반환합니다. 파라미터는 없습니다.

// 응답 예시
{ "sender": "033-911-6510", "mySenders": [{ "phone": "01012345678", "verifiedAt": "..." }] }

💰 무료

register_sender_number — 개인 발신번호 등록 (NICE 본인확인)

NICE 본인확인으로 개인 발신번호를 등록합니다. 응답의 authUrl을 사용자에게 안내하고, 인증 완료 후 verify_sender_status로 결과를 확인합니다.

{ "phone": "01012345678" }  // 선택 (NICE 인증 결과와 일치해야 등록)
// 응답: { "sessionId": "...", "authUrl": "...", "expiresIn": ... }

💰 무료

verify_sender_status — 본인확인 상태 조회

register_sender_number 응답의 sessionId로 NICE 본인확인 진행 상태(VERIFIED/PENDING/FAILED/EXPIRED)를 폴링합니다.

{ "sessionId": "..." }  // register_sender_number 응답의 sessionId

💰 무료

charge_point — 포인트 충전

충전용 URL을 반환합니다. 카카오페이 직접 결제는 준비 중이며, 현재는 반환된 충전 페이지(chargeUrl)에서 충전합니다.

{
  "amount": 10000  // 충전 금액 (최소 5,000원)
}
// 응답 (현재)
{
  "note": "카카오페이 충전 준비 중입니다.",
  "amount": 10000,
  "chargeUrl": "https://mcp.imsend.kr/charge?amount=10000"
}

📌 카카오페이 가맹 완료 후 charge_point가 결제 링크를 직접 반환할 예정입니다.


요금 안내

선불 포인트 방식으로 운영됩니다. 최소 충전 금액은 5,000원이며, 가입 즉시 웰컴 포인트가 지급됩니다.

📌 MCP(AI 에이전트) 발송은 별도 단가 체계입니다 — 가맹점용 일반 API의 기본 단가·가맹점별 협의 단가와 무관하게 아래 MCP 단가가 적용됩니다(imsend 3중 단가 체계의 ③). 일반 API 요금은 충전/요금 문서 참고.

발송 유형 단가 제한
SMS (단문)17원/건90자
LMS (장문)40원/건2,000자
MMS90원/건이미지 포함
이메일1.5원/건HTML 지원
카카오 알림톡15원/건승인 템플릿 필요

에러 코드

응답 포맷

모든 도구는 성공/실패 여부와 관계없이 동일한 JSON 구조로 응답합니다.

// SMS 성공 예시
{
  "success": true,
  "mseq": 19500,
  "batchId": "a1b2c3d4",
  "note": "발송 처리 중. 결과 확인 후 포인트가 차감됩니다."
}

// 이메일 성공 예시
{
  "success": true,
  "messageId": "20260504000094897303",
  "balanceAfter": 4962.5
}
// 검증 실패 (입력값 오류 등) — error 코드만 반환
{
  "error": "INSUFFICIENT_BALANCE",
  "detail": "..."  // 일부 코드만 detail 포함
}

// 발송 처리 중 예외 — success:false + error 메시지
{
  "success": false,
  "error": "...",
  "detail": "at Object.<anonymous> ..."
}

// 에러 코드는 아래 표 참조

에러 코드 목록

코드 설명 해결 방법
UNAUTHORIZEDAPI 키 인증 실패API 키 확인 및 재발급
INSUFFICIENT_BALANCE포인트 부족charge_point로 충전
INVALID_PHONE수신번호 형식 오류01012345678 형식 사용
BANNED_WORD금칙어 포함스팸성 문구 제거
MEMBER_NOT_FOUNDmcp_member 매핑 없음imsend 계정·API 키 재확인
BASE64_TRUNCATEDBase64 이미지 데이터 잘림 (GPT 환경)alternative 필드 안내대로 get_image_upload_url 사용
INVALID_FORMAT미지원 이미지 형식 (JPG/PNG/GIF/WEBP 외)허용 확장자로 변환
IMAGE_TOO_LARGE이미지 용량 초과 (MMS 2MB / 이메일 5MB)리사이즈 후 재시도
INVALID_IMAGE_PATH업로드 디렉토리 밖 경로 (LFI 차단)업로드 도구가 반환한 savedPath 그대로 사용
INVALID_IMAGE_URL허용되지 않은 이미지 URL (SSRF 차단)imsend.kr https URL만 사용
IMAGE_NOT_FOUND지정 경로에 이미지 파일 없음업로드 후 호출
SESSION_FILE_MISSING세션 업로드 파일 없음create_image_upload_session으로 새 세션 생성 후 재업로드
TEMPLATE_NOT_FOUND승인된 알림톡 템플릿 없음카카오 심사 완료 후 사용
NOT_FOUNDmseq 발송 결과 없음발송 시 반환된 mseq 값 확인
CACHE_NOT_AVAILABLE업로드 세션 캐시 미초기화잠시 후 재시도 (서버 재시작 필요)
INTERNAL_ERRORNICE 본인확인 등 내부 처리 오류detail 필드 확인 후 재시도
NCP 이메일 오류NCP API 응답 오류detail 필드에서 실제 메시지 확인

자주 묻는 질문

발신번호는 어떻게 되나요?

기본 발신번호는 임팩시스 대표번호(033-911-6510)입니다. 개인 발신번호 등록도 지원합니다register_sender_number로 NICE 본인확인 URL을 발급받아 인증을 완료한 뒤 verify_sender_status로 결과를 확인하면 등록됩니다. 등록된 개인 발신번호는 get_sender로 조회할 수 있습니다.

포인트 유효기간이 있나요?

충전일로부터 1년간 유효합니다.

API 키를 잃어버렸어요.

imsend.kr/Home/mcp/apikey에서 재발급받을 수 있습니다. 기존 키는 즉시 무효화됩니다.

대량 발송 한도가 있나요?

분당 60건의 기본 한도가 있습니다. 더 많은 발송이 필요하면 info@imcorp.kr로 문의주세요.

(주)임팩시스 · imsend MCP v1.0 info@imcorp.kr