도움말 / MCP 사용 방법

MCP 사용 방법 — AI 어시스턴트로 문자 읽고 보내기

구독 전용 기능입니다. 개발 지식이 없어도 따라 할 수 있도록 처음부터 순서대로 적었습니다. (2026년 9월 기준 — AI 서비스 쪽 메뉴 이름은 예고 없이 바뀔 수 있습니다.)

MCP(Model Context Protocol)는 AI 어시스턴트가 외부 서비스의 기능을 "도구"로 불러 쓰게 해주는 연결 규격입니다. TwoPhone을 MCP로 연결하면 Claude나 ChatGPT에게 말로 부탁하는 것만으로 내 휴대폰의 문자 대화를 확인하고, 요약하고, 답장을 보낼 수 있습니다.

실제 발송과 조회는 로그인된 내 휴대폰에서 이뤄집니다. 문자는 내 번호로, 내 통신사 요금으로 나갑니다. AI가 할 수 있는 일은 문자 발송·예약 발송·발송 결과 확인과, 내가 앱에서 허용한 경우의 문자 대화 조회·읽음 처리, 그리고 별도로 허용한 경우의 연락처 검색(이름·번호 찾기)뿐입니다. 연락처를 고치거나 지우는 것, 통화기록 열람, 계정 설정 변경은 할 수 없습니다.

1. 연결 방법은 두 가지

어디서 AI를 쓰느냐에 따라 필요한 값이 다릅니다. 둘 다 PC 웹 프로필 화면에서 받을 수 있고, 서로 별개의 값이라 하나를 재발급해도 다른 하나는 영향받지 않습니다.

A. 웹 채팅B. 프로그램(개발 도구)
대상Claude.ai(웹·데스크톱 앱), ChatGPT 웹Claude Code, Cursor, Gemini CLI, n8n, 직접 만든 에이전트
넣는 값AI 연동 URL 하나
https://twophone.co.kr/mcp/<개인 토큰>
주소 https://twophone.co.kr/mcp
+ 헤더 Authorization: Bearer <API 키>
받는 곳프로필 › AI 연동 (MCP)프로필 › 발송 API 키 (tp_로 시작)
왜 다른가웹 채팅 서비스는 요청에 인증 헤더를 직접 넣을 수 없어서, 인증 정보를 URL 안에 담은 전용 주소를 씁니다. 그래서 이 URL 자체가 비밀번호와 같습니다.

잘 모르겠다면 방법 A부터 시작하세요. 설치할 것이 없습니다.

2. 사전 준비 (공통)

① 구독 확인

MCP는 구독 전용입니다. 휴대폰 TwoPhone 앱의 설정 › 구독에서 구독 중인지 확인하세요. 구독이 없으면 PC 웹 프로필에 "구독 전용입니다"라는 안내만 보이고 URL·키가 나오지 않습니다.

② 휴대폰 앱에서 PC 웹 계정 로그인

AI의 요청은 중개 서버를 거쳐 내 휴대폰으로 전달됩니다. 휴대폰 앱의 설정 › PC 웹에서 계정(이메일)으로 로그인돼 있어야 합니다. 계정이 없다면 같은 화면에서 가입할 수 있습니다. 휴대폰은 인터넷(모바일 데이터나 Wi-Fi)에 연결돼 있어야 합니다.

③ PC 웹 프로필에서 URL·키 받기

  1. PC 브라우저에서 twophone.co.kr/app에 같은 계정으로 로그인합니다.
  2. 화면 왼쪽 아래의 프로필 버튼(사람 모양 아이콘)을 누릅니다.
  3. 처음이라면 발송 API·MCP 이용 고지가 나옵니다. 내용을 읽고 「위 내용을 확인했으며, 발송하는 문자의 법적 책임이 저에게 있음에 동의합니다.」에 체크한 뒤 동의하고 API 키 발급을 누릅니다. (광고성 문자 규제 책임이 발송자에게 있다는 고지입니다.)
  4. 프로필 화면에 두 칸이 나타납니다.
    • 발송 API 키 — 방법 B용. tp_로 시작합니다.
    • AI 연동 (MCP) — 방법 A용. https://twophone.co.kr/mcp/… 형태의 전체 주소입니다.
    값은 가려져 있습니다. 보기로 확인하고 복사로 복사하세요. 재발급은 기존 값을 즉시 무효화하니, 유출이 의심될 때만 누르세요.
휴대폰 앱에서는 API 키나 AI 연동 URL을 볼 수 없습니다. 반드시 PC 웹 프로필에서 확인하세요.

④ 휴대폰 앱에서 「AI 연동」 스위치 켜기

휴대폰 앱의 설정 › AI 연동으로 들어가면 허용 범위 아래에 스위치 4개가 있습니다. 네 개 모두 처음에는 꺼져 있고, 켜기 전에는 대화 내용도 연락처도 휴대폰 밖으로 한 글자도 나가지 않습니다.

스위치켜면꺼져 있으면
AI가 대화 내용을 읽도록 허용 AI가 대화 목록·대화 내용을 조회하고, 요청 시 읽음 처리할 수 있습니다. 대화 내용과 연락처 이름이 중개 서버를 거쳐 연결한 AI로 전달됩니다. 대화 조회 도구 4개(list_conversations, get_conversation, mark_read, check_new_messages)와 예약 목록(list_schedules — 예약한 문자 내용이 그대로 보이기 때문입니다)이 모두 거절됩니다.
새 메시지 도착을 AI 연동 시스템에 알림 새 문자가 오면 연결된 시스템(웹훅·실시간 스트림)에 "새 문자가 왔다"는 신호를 보냅니다. 신호가 나가지 않습니다. AI에게 직접 "새 문자 있어?"라고 묻는 것과는 관계없습니다.
알림에 메시지 내용 미리보기 포함 위 신호에 문자 본문 미리보기를 함께 담습니다. "도착했다"는 사실만 전달됩니다. 바로 위 스위치를 켜야 조작할 수 있습니다.
AI가 연락처를 검색하도록 허용
(새로 생긴 스위치)
내가 말한 이름·메모·태그로 저장된 연락처를 찾아 이름과 전화번호, 기본 발신 번호만 알려 줍니다. 메모·태그·이메일·주소·소속은 전달하지 않습니다. search_contacts가 거절됩니다. 위의 대화 열람 스위치를 켜도 이 기능은 켜지지 않습니다 — 주소록은 대화와 다른 정보라 따로 허용하게 되어 있습니다.

웹 채팅에서 대화를 읽고 답장하는 용도라면 첫 번째 스위치만 켜면 충분합니다. 가운데 두 개는 자동화(웹훅) 시스템을 직접 만드는 경우에 필요하고, 마지막 하나는 "김사장님한테 보내줘"처럼 이름으로 번호를 찾게 하고 싶을 때만 켜면 됩니다. 문자 보내기(send_sms)·예약(schedule_sms)·발송 결과 확인·회선·연결 확인은 스위치와 상관없이 동작합니다.

네 번째 스위치와 새 도구 5개는 앱 1.2.2 이상입니다. 1.2.2 는 이미 전면 배포됐으니 보이지 않으면 Play 스토어에서 업데이트하세요. 1.2.1 이하에는 AI가 연락처를 검색하도록 허용 스위치가 아직 없고, 예약 발송·예약 목록·예약 취소·발송 결과 확인·연락처 검색을 부탁하면 AI가 "휴대폰 앱 업데이트 필요"라고 답합니다. 고장이 아니라 아직 업데이트가 닿지 않은 것이니 설정을 뒤지지 마세요 — 업데이트하면 아무것도 다시 설정하지 않아도 바로 됩니다. 문자 보내기·발송 전 확인·회선 목록·연결 확인과 대화 조회 4종은 1.2.1에서도 그대로 동작합니다. 내 앱 버전은 설정 › 앱 버전에서, 업데이트는 Play 스토어의 TwoPhone 페이지에서 확인할 수 있습니다.

3. 방법 A — 웹 채팅에서 쓰기

A-1. Claude (claude.ai · Claude 데스크톱 앱)

Anthropic 도움말 기준 커스텀 커넥터는 무료·Pro·Max·Team·Enterprise 요금제에서 쓸 수 있고, 무료 요금제는 커스텀 커넥터를 1개까지만 추가할 수 있습니다. Team·Enterprise는 조직 소유자가 먼저 커넥터를 등록해야 합니다.

  1. claude.ai에 로그인하고 사용자 지정 › 커넥터로 들어갑니다 (주소 claude.ai/customize). 예전 메뉴인 설정 › 커넥터로 들어가면 "커넥터가 맞춤 설정으로 이동했습니다"라는 안내만 나오니, 안내 속 맞춤 설정 링크를 누르면 같은 화면으로 옮겨 갑니다.
  2. 커넥터 화면 오른쪽 위의 추가 버튼을 누르면 커스텀 커넥터 추가 창이 바로 열립니다.
  3. 이름 칸에는 TwoPhone처럼 알아보기 쉽게 적고, MCP 서버 URL 칸에 프로필에서 복사한 AI 연동 URL(https://twophone.co.kr/mcp/…)을 붙여넣습니다. OAuth 관련 칸(클라이언트 ID 등)이 보이더라도 모두 비워 둡니다.
  4. 계속을 누릅니다(옆의 취소가 아닙니다). 커넥터 목록의 내 커넥터 탭에 TwoPhone이 보이면 등록 완료입니다.
  5. 새 채팅을 열고 입력창 왼쪽 아래 + → 커넥터(Connectors)에서 TwoPhone 스위치가 켜져 있는지 확인합니다.
  6. "TwoPhone 휴대폰 연결돼 있는지 확인해줘"라고 보내 봅니다. 휴대폰이 연결돼 있다는 답이 오면 성공입니다.

claude.ai에서 등록한 커넥터는 같은 계정으로 로그인한 Claude 데스크톱 앱에서도 쓸 수 있습니다.

등록한 커넥터를 확인하거나 지울 때는 같은 사용자 지정 › 커넥터 화면에서 내 커넥터 탭을 고르고(탐색 탭은 공개 커넥터 목록입니다), 전체 / 연결됨 / 연결되지 않음 필터로 TwoPhone을 찾으면 됩니다. 위 메뉴 이름은 2026년 9월 한국어 화면 기준이며, Anthropic이 화면을 바꾸면 이름이나 위치가 조금 달라질 수 있습니다.

도구 사용 승인 팝업

Claude가 TwoPhone 도구를 처음 쓰려고 하면 허용할지 묻는 창이 뜹니다. 한 번만 허용하거나 항상 허용할 수 있습니다. 창에는 도구의 한글 이름(「문자 보내기」, 「대화 내용 보기」처럼)이 표시됩니다.

입력값은 처음엔 접혀 있습니다 — 펼쳐서 보세요. 승인 창은 기본적으로 도구 이름만 보여 주고, 실제로 무엇을 보내는지(받는 번호·내용 등)는 감춰 둡니다. 도구 이름 오른쪽의 작은 › 화살표를 누르면 입력값이 펼쳐져 to·body·line 같은 값이 모두 보입니다. 발송을 허용하기 전에는 반드시 한 번 펼쳐서 확인하세요. 한 번 펼치면 그 상태가 유지됩니다.

대화 중간의 도구 사용 기록(타임라인)에도 같은 한글 이름이 남습니다. 어떤 도구가 어떤 한글 이름인지는 아래 5항 표에 정리했습니다.

A-2. ChatGPT (웹)

OpenAI 문서 기준 개발자 모드는 Plus·Pro·Business·Enterprise·Education 계정의 웹에서만 쓸 수 있습니다. 무료 계정은 커스텀 연결을 지원하지 않습니다. 워크스페이스(Business 등)는 관리자가 기능을 막아 두었을 수 있습니다. ChatGPT는 최근 커넥터 → 앱 → 플러그인으로 이름을 여러 번 바꿨으니, 아래 메뉴 이름이 조금 달라도 같은 위치를 찾으시면 됩니다.

  1. chatgpt.com에서 설정을 열고, 앱(Apps) 또는 보안(Security) 쪽의 고급 설정에서 개발자 모드(Developer mode)를 켭니다. "위험할 수 있다"는 안내가 나오면 읽고 동의합니다.
  2. 같은 설정의 앱(플러그인) 화면에서 만들기(Create) 또는 +를 누릅니다. (개발자 모드를 켜야 이 버튼이 나타납니다.)
  3. 이름에 TwoPhone, MCP 서버 URL에 프로필에서 복사한 AI 연동 URL을 붙여넣습니다.
  4. 인증(Authentication)은 인증 없음(No authentication)을 고릅니다. 개인 토큰이 URL 안에 들어 있어 따로 로그인할 필요가 없습니다.
  5. "이 애플리케이션을 신뢰합니다" 같은 확인란에 체크하고 만들기를 누릅니다. 도구 목록에 7개가 보이면 성공입니다.
  6. 새 대화에서 입력창의 + → 개발자 모드(Developer mode)를 고르고 TwoPhone을 선택합니다.
  7. "TwoPhone 앱으로 휴대폰 연결 상태를 확인해줘"처럼 앱 이름을 넣어 부탁하면 더 정확히 도구를 고릅니다.

ChatGPT는 문자 보내기·읽음 처리처럼 무언가를 바꾸는 도구를 부를 때 기본적으로 확인을 받습니다. 확인 창에 표시되는 입력값(수신 번호·내용)을 꼭 확인하고 승인하세요. 같은 대화 안에서는 승인을 기억하게 할 수 있지만, 새 대화에서는 다시 묻습니다.

Gemini 웹은?

이 글을 쓰는 시점에 구글은 Gemini 앱의 커스텀 MCP 연결을 미국 거주·만 18세 이상·개인 구글 계정·영어 인터페이스로 제한하고 있어, 한국에서는 사실상 연결할 수 없습니다. Gemini를 쓰려면 아래 Gemini CLI를 이용하세요.

4. 방법 B — 프로그램에서 쓰기

아래 예시의 tp_xxxxxxxx는 프로필에서 복사한 발송 API 키로 바꿔 넣으세요. 이 방법에는 AI 연동 URL(개인 토큰)이 아니라 API 키를 씁니다.

Claude Code

터미널에서 한 줄이면 됩니다.

claude mcp add --transport http twophone https://twophone.co.kr/mcp \
  --header "Authorization: Bearer tp_xxxxxxxx"

모든 프로젝트에서 쓰고 싶다면 --scope user를 덧붙이세요(기본값은 현재 폴더에서만 사용). 연결 확인은 Claude Code 안에서 /mcp를 입력해 twophone이 connected로 보이는지 보거나, 터미널에서 claude mcp list를 실행하면 됩니다.

Cursor

~/.cursor/mcp.json(모든 프로젝트) 또는 프로젝트의 .cursor/mcp.json에 추가합니다.

{
  "mcpServers": {
    "twophone": {
      "url": "https://twophone.co.kr/mcp",
      "headers": { "Authorization": "Bearer tp_xxxxxxxx" }
    }
  }
}

Gemini CLI

~/.gemini/settings.json에 추가합니다. 실행 후 /mcp로 연결 상태를 볼 수 있습니다.

{
  "mcpServers": {
    "twophone": {
      "httpUrl": "https://twophone.co.kr/mcp",
      "headers": { "Authorization": "Bearer tp_xxxxxxxx" }
    }
  }
}

Claude 데스크톱 앱

가장 쉬운 방법은 방법 A처럼 커넥터 화면에 AI 연동 URL을 등록하는 것입니다. 설정 파일(claude_desktop_config.json)로 직접 연결하고 싶다면, 이 파일은 로컬 프로그램(stdio) 방식만 받으므로 원격 주소를 이어주는 공개 도구 mcp-remote를 거칩니다(Node.js 18 이상 필요).

{
  "mcpServers": {
    "twophone": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://twophone.co.kr/mcp",
               "--header", "Authorization:${TWOPHONE_AUTH}"],
      "env": { "TWOPHONE_AUTH": "Bearer tp_xxxxxxxx" }
    }
  }
}

mcp-remote는 TwoPhone이 만든 도구가 아닌 오픈소스 프로젝트입니다. 같은 역할을 하는 TwoPhone 전용 연결 도구 (@twophone/mcp)는 공개 준비 중입니다.

n8n · 직접 만든 에이전트

MCP 클라이언트 노드(또는 라이브러리)에서 전송 방식을 Streamable HTTP로, 주소를 https://twophone.co.kr/mcp로, 인증을 헤더 Authorization: Bearer tp_…로 설정하세요. 기술 세부사항(세션, 실시간 알림 스트림)은 API 문서 8항에 있습니다. AI 없이 HTTP로 직접 조회·발송하려면 같은 문서의 발송 API·대화 조회 API를 쓰면 됩니다.

연결됐는지 확인하기

어느 방법이든 연결 후 AI에게 이렇게 물어보세요.

5. AI가 쓸 수 있는 도구 13개

도구 이름을 외울 필요는 없습니다. 평소 말투로 부탁하면 AI가 알맞은 도구를 고릅니다. 다만 승인 창과 대화 기록에는 한글 표시 이름(「문자 보내기」 등)만 나오므로, 어느 도구가 어느 이름인지 아래 첫 칸에 나란히 적었습니다.

도구 (승인 창 표시 이름)하는 일필요한 스위치이렇게 물어보세요
「문자 보내기」
send_sms
문자 발송(SMS/LMS). 발신 회선 지정 가능. 보낸 문자는 취소할 수 없고 문자 요금이 발생합니다. 결과에는 이 문자를 포함한 뒤의 남은 한도가 함께 옵니다필요 없음"010-1234-5678로 '내일 10시에 뵙겠습니다' 보내줘"
「발송 전 확인」
check_send
보내지 않고 미리 검사만 합니다 — 번호 형식, 글자 수, 광고 규정(야간 안내·(광고) 표기), 중복 발송, 남은 한도. 문자는 나가지 않고 요금도 들지 않습니다필요 없음"이 문자 지금 보내도 괜찮은지 먼저 확인해줘"
「발신 회선 목록」
list_lines
켜져 있는 발신 회선(메인/듀얼)과 내가 붙인 이름필요 없음"보낼 수 있는 내 번호가 뭐뭐 있어?"
「휴대폰 연결 확인」
check_device
휴대폰 연결 확인(꺼져 있으면 깨우기 시도)과 함께 오늘 얼마나 더 보낼 수 있는지(구독 등급별 분/시간/하루 남은 건수와 언제 다시 채워지는지), 지금이 광고 야간 시간대인지를 알려 줍니다필요 없음"휴대폰 연결돼 있어? 지금 몇 건이나 더 보낼 수 있어?"
「대화 목록」
list_conversations
최근 대화방 목록(기본 20개, 최대 50개 — 검색해도 같음). 안읽은 것만, 이름·번호·내용 검색 가능. 각 대화방의 마지막 메시지는 한 줄 미리보기(100자)로만 보여 줍니다. 더 예전 대화가 남아 있으면 AI가 이어서 다음 쪽을 볼 수 있습니다AI가 대화 내용을 읽도록 허용"안읽은 문자 있는 대화방 보여줘"
「대화 내용 보기」
get_conversation
한 대화방의 최근 메시지(기본 30개, 최대 100개)를 오래된 것부터 시간순으로. 내용 전체가 보입니다AI가 대화 내용을 읽도록 허용"김서연님이랑 나눈 최근 대화 요약해줘"
「대화 읽음 처리」
mark_read
대화방 읽음 처리AI가 대화 내용을 읽도록 허용"그 대화방 읽음 처리해줘"
「새 메시지 확인」
check_new_messages
지금 안읽은 대화 요약(최근 50개까지, 한 줄 미리보기)AI가 대화 내용을 읽도록 허용"새로 온 문자 있어?"
「발송 결과 확인」
get_send_status
보낸 문자가 지금 어떤 상태인지(발송 대기·발송됨·전달 확인됨·실패). 문자 내용과 상대 번호는 담기지 않습니다. 「발송됨」은 실패가 아닙니다 — 전달 확인은 통신사·요금제에 따라 아예 오지 않고, 사진 문자(MMS)는 쓰지 않습니다 필요 없음"아까 보낸 문자 잘 갔어?"
「문자 예약 발송」
schedule_sms
지정한 시각에 나가도록 예약. 발송 전까지 취소할 수 있습니다. 광고성 문자는 08:00~20:30 사이를 권합니다(밤 시각도 예약되며 규정 안내가 함께 표시됩니다) 필요 없음"내일 오전 9시에 '오늘 10시 예약 확인드립니다' 보내줘"
「예약 목록」
list_schedules
아직 안 나간 예약과, 나가지 못하고 실패한 예약. 휴대폰 앱·PC 웹에서 내가 직접 만든 예약도 함께 보입니다 AI가 대화 내용을 읽도록 허용
(예약한 문자 내용이 보이기 때문)
"예약해 둔 문자 뭐 있어?"
「예약 취소」
cancel_schedule
아직 안 나간 예약을 취소필요 없음"내일 9시 예약한 문자 취소해줘"
「연락처 검색」
search_contacts
저장된 연락처를 이름·메모·태그로 찾아 이름과 전화번호, 기본 발신 번호만 알려 줍니다(한 번에 최대 10명). 번호가 여러 개면 어느 번호로 보낼지 물어봅니다 AI가 연락처를 검색하도록 허용"김사장님 번호로 문자 보내줘"

승인 창에서 「항상 허용」을 눌러도 되는 도구는 조회 전용인 「대화 목록」·「새 메시지 확인」·「발신 회선 목록」·「발송 전 확인」·「발송 결과 확인」·「연락처 검색」·「예약 목록」입니다. 「문자 예약 발송」은 매번 확인하세요 — 취소할 수는 있지만 결국 요금이 나가는 문자입니다. 「문자 보내기」와 「대화 내용 보기」는 매번 확인하기를 권합니다(3항 「도구 사용 승인 팝업」) — 「대화 내용 보기」는 읽음 처리 옵션을 함께 가지고 있어서, 항상 허용으로 두면 확인 없이 읽음 표시가 사라질 수 있습니다. 「휴대폰 연결 확인」은 내용을 읽지는 않지만 꺼져 있는 휴대폰을 깨우므로(푸시) 판단해서 고르세요.

예약이 목록에서 사라졌다면 취소된 것이 아니라 발송된 것입니다. 성공적으로 나간 예약은 「예약 목록」에서 사라지고, 그 예약이 어떤 문자가 됐는지는 「발송 결과 확인」으로 추적할 수 없습니다(지금 버전의 한계입니다). 반대로 나가지 못한 예약은 「실패」 표시와 사유를 달고 목록에 남으니, 실패는 확인할 수 있습니다. 실제로 나갔는지 확인하려면 휴대폰 문자함(보낸 문자)을 보세요. 실패한 예약을 되살리는 「지금 보내기」는 휴대폰 앱과 PC 웹에만 있습니다 — AI에게 부탁할 수는 없으니, 실패를 발견하면 직접 눌러 보내거나 새로 보내달라고 하세요.
조회만으로는 읽음 표시가 사라지지 않습니다. AI가 대화를 읽어도 휴대폰의 안읽음 표시는 그대로 남습니다. 읽음 처리는 "읽음 처리해줘"라고 직접 부탁했을 때만 일어납니다.

6. 이렇게 말해 보세요

최근 문자 확인

나 최근 문자 대화 10개 보여줘. 안읽은 건 표시해 줘.

AI (대화 목록 도구 사용) 최근 대화 10개입니다. 안읽음: 김서연(예약 문의), 택배사(배송 안내) …

특정 사람과의 대화 요약

나 김서연님이랑 이번 주에 나눈 문자 요약해 줘.

AI (이름으로 대화방 검색 → 대화 내용 조회) 금요일 오후 3시 방문 예약을 원하셨고, 주차 가능 여부를 물으셨습니다.

답장 보내기 — 발송 전 확인

나 김서연님께 "금요일 3시 예약 확정입니다. 건물 뒤편에 주차 가능합니다."라고 업무 번호로 답장해 줘.

AI 아래 내용으로 보낼까요? 받는 사람: 010-****-5678 (김서연) / 보내는 번호: 업무용(듀얼) / 내용: "금요일 3시 예약 확정입니다. 건물 뒤편에 주차 가능합니다."

나 응, 보내.

AI (승인 창 → 허용) 발송했습니다.

AI는 보내기 전에 받는 번호와 내용을 먼저 보여주고 확인을 받도록 지시받습니다. 확인 없이 보내려 하면 승인 창에서 거절하세요. 번호는 AI가 추측하지 않도록, 대화 목록에서 찾았거나 내가 직접 알려준 번호만 쓰게 되어 있습니다.

보내도 되는지 먼저 확인

나 단골 손님들께 "(광고) 이번 주말 20% 할인합니다. 무료수신거부 080-000-0000" 보내려는데, 지금 보내도 돼?

AI (발송 전 확인 도구 사용) 지금 보낼 수 있습니다 — 다만 지금은 밤 10시라, 광고성 문자를 21시~08시에 보내려면 받는 분들께 야간 수신 동의를 미리 받아 두셨어야 합니다(정보통신망법 시행령 제61조의2). TwoPhone은 막지 않으니 보내라고 하시면 그대로 나가지만, 동의를 받아 두지 않으셨다면 내일 오전 8시 이후를 권합니다. 문안 자체는 (광고) 표기와 무료 수신거부 안내가 들어 있어 요건을 충족합니다. 남은 한도는 분당 10건 중 10건, 오늘 100건 중 93건입니다(Plus 등급).

이 확인은 문자를 보내지 않습니다 — 요금도 들지 않고 발송 한도도 쓰지 않습니다. 보내기 전에 마음 편히 물어보세요.

밤에 광고 문자를 보내달라고 했을 때

나 단골 손님들께 할인 안내 문자 지금 보내줘.

AI 지금은 밤 10시입니다. 광고성 문자를 21시~08시에 보내려면 받는 분들께 야간 수신 동의를 미리 받아 두셔야 합니다(정보통신망법 시행령 제61조의2, 위반 시 최대 3천만원 과태료). 받아 두셨다면 지금 바로 보내 드리고, 아니라면 내일 오전 9시에 예약해 둘까요? 문안: "(광고) 이번 주말 20% 할인합니다. 무료수신거부 080-000-0000"

나 동의는 안 받았어. 예약해 줘.

AI (문자 예약 발송 도구 사용) 내일 오전 9시에 보내도록 예약했습니다. 취소하려면 말씀해 주세요.

TwoPhone은 시간대를 이유로 막지 않습니다. "그냥 지금 보내"라고 하면 밤에도 그대로 나가고, 대신 법 규정과 책임 소재를 알리는 안내가 함께 표시됩니다 — 보낼지 말지는 보내는 사람이 정합니다. 광고성 예약은 08:00~20:30 사이를 권합니다. 21시가 아니라 20시 30분까지인 이유는, 휴대폰의 절전 기능 때문에 예약이 몇 분 늦게 나갈 수 있어 그 여유를 둔 것입니다.

이름으로 보내기

나 김사장님한테 "오늘 3시에 뵙겠습니다" 보내줘.

AI (연락처 검색 도구 사용) 김사장님 번호가 두 개입니다 — 휴대폰 010-****-5678, 사무실 02-***-1234. 어느 번호로 보낼까요?

그 밖에

7. 안전 수칙

  • AI 연동 URL과 API 키는 비밀번호와 같습니다. 채팅방·게시판·스크린샷·공유 문서에 올리지 마세요. 유출이 의심되면 PC 웹 프로필에서 재발급을 누르세요. 기존 값은 그 즉시 무효화되고, 등록해 둔 AI에는 새 값을 다시 넣어야 합니다.
  • 보낸 문자는 취소할 수 없고 통신사 요금이 청구됩니다. 발송 승인 창의 번호·내용을 매번 확인하세요 — Claude의 승인 창은 도구 이름만 보여 주므로, 이름 옆 › 화살표를 눌러 입력값을 펼쳐야 번호와 내용이 보입니다.
  • 광고·홍보 문자는 법 규정이 있습니다(정보통신망법 제50조). 본문 맨 앞 (광고) 표기, 보내는 사람 연락처, 무료 수신거부 방법이 필요하고, 21시~다음 날 08시에 보내려면 받는 분께 야간 수신 동의를 따로 받아 두어야 합니다(시행령 제61조의2). TwoPhone은 이 시간대의 발송을 막지 않습니다 — 동의를 받았는지는 보내는 사람만 알 수 있기 때문입니다. AI가 규정을 안내해 주지만, 보낼지 말지의 판단과 법적 책임(최대 3천만원 과태료)은 보내는 사람(나)에게 있습니다. 표기를 빼도 얻는 것은 없고, 표기를 빠뜨리는 것 자체가 위반입니다.
  • 예약도 결국 나가는 문자입니다. 예약을 걸면 그 순간 발송 한도 1건을 씁니다(예약이 실제로 나가는 시점에는 서버가 개입할 수 없기 때문입니다). 예약한 문자는 발송 전까지만 취소할 수 있고, 한 계정에 대기 예약은 50건까지입니다. 휴대폰이 꺼져 있었거나 절전이 심하면 예정 시각보다 늦게 나갈 수 있고, 6시간을 넘기면 나가지 않고 「실패」로 남습니다.
  • 「발송됨」을 실패로 오해하지 마세요. 전달 확인(「전달됨」)은 통신사·요금제에 따라 오지 않을 수 있고 사진 문자(MMS)는 아예 쓰지 않습니다. 발송 결과가 「발송됨」인데 다시 보내면 상대는 같은 문자를 두 번 받고 요금도 두 번 나갑니다.
  • 연락처 검색은 별도 스위치입니다. 켜면 AI가 이름·메모·태그로 연락처를 찾아 이름과 번호만 받아 갑니다. 대화 열람 스위치를 켜도 이건 켜지지 않으며, 필요 없어지면 따로 끄면 됩니다.
  • 조회는 읽음 처리를 하지 않습니다. 나중에 휴대폰에서 직접 보려고 남겨 둔 안읽음 표시는 그대로 유지됩니다.
  • 같은 번호에 같은 내용을 1분 안에 다시 보내면 서버가 막습니다(첫 발송에 idempotency_key를 넣었더라도, 다시 보낼 때 키를 빼면 막힙니다. 같은 키로 재시도하면 문자를 다시 보내지 않고 처음 결과를 돌려줍니다). 반복 차단이 계속되면 휴대폰으로 경고 알림이 옵니다. 자동화 경로(API·MCP)에는 계정당 발송 한도가 있고, 구독 등급에 따라 다릅니다 — Plus 분당 10건 / 시간당 40건 / 하루 100건, Pro 20 / 80 / 250건, Business 30 / 120 / 400건입니다 (무료 등급은 API·MCP 자체를 쓸 수 없습니다). 분·시간 한도는 첫 발송 시각 기준으로 풀리고, 하루 한도는 자정에 풀립니다. AI에게 "지금 몇 건이나 더 보낼 수 있어?"라고 물으면 남은 양과 풀리는 시각을 알려 줍니다.
  • 남은 한도는 묻지 않아도 매번 따라옵니다. 문자를 보내거나 예약할 때마다, 그리고 발송 전 확인· 연결 확인에도 그 시점의 남은 건수와 다시 채워지는 시각이 결과에 함께 옵니다(성공했을 때도 옵니다). 그래서 AI는 한도에 걸린 뒤에 알아차리는 대신 미리 간격을 두거나, 얼마 안 남았을 때 먼저 알려 줄 수 있습니다 — "오늘 7건 남았는데 다 보낼까요?" 같은 확인이 그래서 가능합니다.
  • 분당·시간당은 통신사 규정이 아니라 TwoPhone이 두는 안전장치입니다. 통신사 약관에 있는 것은 하루 발송 건수 상한(3사 모두 500건 수준 — 넘기면 발신이 차단됩니다), 무료 제공량(FUP) 기준, 한 달 동안 문자를 보낸 수신처(상대 번호) 수 셋뿐입니다. 위의 하루 한도는 그 상한 아래에 머물도록 잡은 값이라, 등급을 올리는 것 말고는 늘릴 수 없습니다. (통신사별 숫자와 약관 조항은 문자는 하루 몇 건까지 보낼 수 있나에 있습니다.)
  • 마지막 판정은 휴대폰이 합니다. 서버는 통신사를 알 수 없어 보수적인 값으로만 1차로 거릅니다. 휴대폰은 앱·PC 웹·다른 문자 앱으로 보낸 것까지 합쳐 다시 판정하므로, 손으로 문자를 많이 보낸 날에는 서버 한도가 남아 있어도 휴대폰에서 먼저 막힐 수 있습니다. 그래서 결과에 실리는 한도에는 어느 쪽이 센 숫자인지가 함께 표시됩니다(개발자용 필드 limits_scope: server = 중개 서버의 계정 한도, phone = 휴대폰이 통신사 기준으로 판정한 회선 한도). AI는 "서버 한도가 남았으니 반드시 나갑니다"라고 단정하지 않도록 안내받습니다.
  • "언제 풀리는지 모른다"고 답하는 거절도 있습니다. 휴대폰은 분·시간·하루 창 말고 한 달 동안 문자를 보낸 수신처(상대 번호) 수로도 막을 수 있는데, 그 축은 기다린다고 곧 풀리지 않습니다(다음 달에야 바뀝니다). 그래서 서버는 그런 거절에 재시도 시각을 지어내지 않고 "알 수 없음"을 그대로 전합니다(개발자용 필드 retry_after_unknown). AI는 이때 "잠시 뒤 다시 보내 드릴게요"라고 말하는 대신 사유를 그대로 전하고 사용자의 판단을 묻도록 안내받습니다 — 그렇지 않으면 몇 주 동안 재시도만 반복하게 됩니다. 그 숫자는 phone_recipients로 함께 오며, 월 수신처는 "넘으면 차단"이 아니라 "통신사가 상업적 목적의 발송으로 볼 수 있는 기준"입니다(presumption).
  • 대화 조회에도 한도가 있습니다(계정당 분당 Plus 60회 · Pro 180회 · Business 600회). 조회 한 번은 잠들어 있는 휴대폰을 깨우기 때문에, AI가 같은 조회를 초 단위로 반복하면 배터리를 태웁니다. 정상적인 대화에서는 닿지 않는 값이며, 걸리더라도 문자 발송은 영향받지 않습니다(서로 다른 한도입니다).
  • 대화 조회가 필요 없어지면 앱의 AI가 대화 내용을 읽도록 허용을 꺼 두세요. 끄는 즉시 조회가 막힙니다.

TwoPhone 서버는 AI가 주고받는 문자 내용을 저장하지 않습니다. 다만 대화 조회를 허용하면 그 내용은 내가 연결한 AI 서비스(Anthropic, OpenAI 등)로 전달되며, 그 이후의 보관은 해당 서비스의 정책을 따릅니다 (개인정보처리방침 5항).

8. 문제 해결

증상 / AI의 답원인해결
커넥터 추가 시 "연결할 수 없음", 또는 주소가 404 AI 연동 URL이 틀렸거나 재발급되어 옛 주소가 됨. 또는 (직접 만든 클라이언트) 세션이 끝남 — Mcp-Session-Id는 30분 동안 요청이 없거나 DELETE로 닫으면 만료되고, 그 뒤 요청은 404를 받습니다 프로필 › AI 연동 (MCP)에서 복사로 다시 복사해 커넥터를 새로 등록합니다. 일부만 복사되지 않았는지 확인하세요. 세션 만료라면 initialize부터 다시 연결(새 세션 발급)하면 됩니다. 대부분의 MCP 클라이언트는 자동으로 다시 연결합니다.
프로그램에서 401 / "API 키가 없거나 잘못되었습니다" API 키가 틀렸거나, 재발급으로 무효화됨. 또는 Bearer 뒤 띄어쓰기 누락 헤더가 정확히 Authorization: Bearer tp_… 형태인지 확인하고 프로필에서 키를 다시 복사합니다. 웹 채팅용 URL을 API 키 자리에 넣지 않았는지도 확인하세요.
429 / "인증 시도가 너무 많습니다" 같은 인터넷 주소(IP)에서 인증 실패가 10분 안에 10번 쌓임. 틀린 API 키(401)뿐 아니라 틀린 AI 연동 URL(404)도 실패로 셉니다. 사무실처럼 여러 사람이 같은 공인 IP를 쓰면 다른 사람의 실패도 함께 쌓입니다 틀린 값으로 보내는 프로그램·커넥터를 먼저 고치세요. 틀린 값으로 보낸 요청은 마지막 실패로부터 최대 10분 동안 429를 받습니다. 올바른 API 키·URL로 보낸 요청은 이 제한에 걸리지 않고 그대로 동작합니다. 휴대폰 앱 로그인·PC 웹 로그인은 비밀번호를 쓰므로 같은 IP에서 이 제한이 풀릴 때까지 기다려야 합니다.
"TwoPhone 구독이 필요한 기능입니다" (HTTP API에서는 402 premium_required) 구독이 없거나 만료됨휴대폰 앱 설정 › 구독에서 구독 상태를 확인합니다.
"휴대폰이 꺼져 있거나 절전 상태입니다" / "휴대폰이 제때 응답하지 않았습니다" 휴대폰이 인터넷에 연결돼 있지 않거나, 앱이 PC 웹 계정에서 로그아웃됨. 휴대폰이 연결돼 있어도 대화가 아주 많은 휴대폰에서 검색하면 휴대폰이 10초 안에 답하지 못할 수 있습니다(특히 앱 1.2.1 이하) 휴대폰 전원·데이터를 확인하고, 앱 설정 › PC 웹에서 로그인 상태를 확인합니다. 서버가 깨우기를 시도하니 잠시 후 "휴대폰 연결 확인해줘"로 다시 확인하세요. 연결돼 있다고 나오면 같은 요청을 잠시 후 한 번 더 시도하고, 검색이라면 검색어를 더 구체적으로 바꾸거나 앱을 최신 버전으로 업데이트하세요.
"앱 설정에서 'AI가 대화 내용을 읽도록 허용'을 켜주세요" 대화 조회 스위치가 꺼져 있음휴대폰 앱 설정 › AI 연동에서 AI가 대화 내용을 읽도록 허용을 켭니다. 켠 뒤 바로 다시 물어보면 됩니다.
"휴대폰 앱 업데이트 필요" / (프로그램) 501 feature_unavailable 휴대폰의 TwoPhone 앱이 그 기능(예약 발송·발송 결과 확인·연락처 검색)을 아직 모르는 예전 버전임 이 다섯 기능은 앱 1.2.2 이상입니다(고장이 아닙니다). 설정 › 앱 버전에서 버전을 확인하고, Play 스토어에 업데이트가 뜨면 앱만 업데이트하면 바로 됩니다. 앱 설정에서 스위치를 찾아 켜는 것으로는 해결되지 않습니다(1.2.1에는 그 기능 자체가 없다는 뜻입니다). 문자 보내기와 대화 조회는 1.2.1에서도 그대로 동작합니다.
"앱 설정에서 'AI가 연락처를 검색하도록 허용'을 켜주세요" 연락처 검색 스위치가 꺼져 있음(기본값 꺼짐) 휴대폰 앱 설정 › AI 연동에서 AI가 연락처를 검색하도록 허용을 켭니다. 대화 열람 스위치와는 별개라, 그것만 켜져 있으면 연락처 검색은 계속 거절됩니다. 설정에 그 스위치가 보이지 않는다면 앱이 1.2.2 이전 버전입니다(위 「휴대폰 앱 업데이트 필요」 항목 참고).
연락처 검색 결과가 비어 있음 일치하는 이름이 없거나, 휴대폰 앱에 연락처 권한이 없음(두 경우가 구분되지 않습니다) 검색어를 바꿔 보고, 그래도 비어 있으면 휴대폰 설정에서 TwoPhone의 연락처 권한을 확인하세요.
"대기 중인 예약이 너무 많습니다"(too_many_schedules) 이 계정의 대기 예약이 50건에 도달함 "예약 목록 보여줘"로 확인하고 필요 없는 예약을 취소한 뒤 다시 등록하세요.
예약이 목록에서 사라짐 정상입니다 — 성공적으로 발송된 예약은 목록에서 사라집니다(실패한 것만 남습니다) 휴대폰 문자함의 보낸 문자에서 확인하세요. 지금 버전에서는 나간 예약을 발송 결과 확인으로 추적할 수 없습니다.
AI가 TwoPhone 도구를 쓰지 않고 "그럴 수 없다"고만 함 이번 대화에서 커넥터(앱)가 꺼져 있음 Claude는 + › 커넥터에서 TwoPhone을 켜고, ChatGPT는 + › 개발자 모드에서 TwoPhone을 선택합니다. "TwoPhone으로"라고 명시해 부탁해 보세요.
"같은 번호에 같은 내용을 방금 보냈습니다"(duplicate_send) 같은 번호·같은 내용을 1분 안에 다시 보내려 함(처음 보낼 때 idempotency_key를 넣었어도 해당)이미 발송된 것입니다. 다시 보내지 말고 휴대폰 문자함에서 확인하세요.
"조회 요청이 너무 잦습니다" 대화 조회를 등급별 한도(Plus 분당 60회 · Pro 180회 · Business 600회)보다 많이 부름(대개 자동화가 폴링 루프에 빠진 경우) 안내에 적힌 초만큼 기다린 뒤 다시 물어보세요. 문자 발송은 이 제한과 무관하게 그대로 됩니다. 새 문자를 계속 지켜봐야 하는 프로그램이라면 반복 조회 대신 실시간 알림(SSE)이나 웹훅을 쓰세요(API 문서 10항).
(프로그램) 409 idempotency_key_reuse 같은 idempotency_key로 이전과 다른 내용을 보내려 함 그 요청은 발송되지 않았습니다. 새 문자라면 키를 새 값으로 바꾸고, 앞선 발송을 재시도하는 것이라면 처음과 똑같은 번호·본문으로 보내세요.
밤에 광고 문자를 보내려니 AI가 규정을 안내함 21시~08시 광고성 문자 전송에는 받는 분의 야간 수신 동의가 따로 필요(시행령 제61조의2) 거절된 것이 아닙니다 — 동의를 받아 두셨다면 "그대로 보내"라고 하면 나갑니다. 받지 않으셨다면 08시 이후로 예약하세요. (광고) 표기를 빼는 것은 해결책이 아닙니다(표기 누락 자체가 위반). "발송 전 확인"을 먼저 부탁하면 보내기 전에 미리 알 수 있습니다.
회선 목록에 원하는 번호가 없음 휴대폰에서 해당 회선(듀얼 번호 등)이 꺼져 있음휴대폰 앱에서 듀얼 번호 설정을 확인합니다. 회선을 지정하지 않으면 휴대폰의 기본 문자 회선으로 나갑니다.
"휴대폰 설정에서 전화 권한을 다시 켜 주세요"
(프로그램) phone_permission_required
휴대폰이 전화 권한을 잃어 어느 회선으로 보낼지 식별하지 못함 휴대폰 설정 > 앱 > TwoPhone > 권한에서 전화를 다시 허용하세요. 기다려도 풀리지 않습니다. 이 상태에서도 휴대폰에서 직접 보내는 1:1 문자는 그대로 나가기 때문에 알려주지 않으면 눈치채기 어렵습니다 — AI 연동 발송만 멈춥니다.
"휴대폰의 문자 권한을 확인한 뒤 다시 시도하세요"
(프로그램) quota_unmeasurable
휴대폰이 문자 저장소를 읽지 못해 오늘 보낸 양을 세지 못함(통신사 한도를 넘기지 않으려면 셀 수 있어야 합니다) 휴대폰 설정에서 TwoPhone 의 SMS 권한을 확인하세요. 바로 위의 전화 권한과 켜야 할 스위치가 다릅니다 — 안내 문구에 적힌 쪽을 켜세요.

9. 연결 끊기