MCP — 프로그래밍 인터페이스

REST 외에도 GetMyBot에는 MCP(Model Context Protocol) 인터페이스가 있습니다. 이는 엔드포인트를 직접 호출하는 대신 도구를 사용하는 AI 에이전트와 어시스턴트를 위한 것입니다. REST는 기본 인터페이스로 유지되며, MCP는 에이전트 시나리오에 편리한 대안입니다. 아래의 도구, 리소스, 프롬프트 이름은 서버가 게시하는 것과 동일합니다.

주소 및 인증

MCP는 /mcp 엔드포인트(Streamable HTTP 전송, POST 메서드)에서 사용할 수 있습니다. 인증은 REST와 동일한 개인 토큰을 사용합니다: Authorization: Bearer mbp_… 헤더. 별도의 토큰을 만들 필요가 없으며, 하나의 PAT가 REST와 MCP 모두에서 작동합니다. 각 도구는 해당 REST 엔드포인트와 동일한 scope를 요구합니다. * scope 토큰은 전체 접근 권한을 가집니다. scope가 부족하면 REST와 마찬가지로 호출이 거부됩니다(fail-closed).

Claude Code / Cursor 연결

GetMyBot을 원격 MCP 서버로 추가하세요. 구성 예시(mcpServers) — 도메인과 토큰을 교체하세요:

{
  "mcpServers": {
    "mybot": {
      "url": "https://your-domain/mcp",
      "headers": {
        "Authorization": "Bearer mbp_YOUR_TOKEN"
      }
    }
  }
}

Claude Code: 이 블록을 프로젝트의 .mcp.json에 넣거나 claude mcp add 명령으로 서버를 추가하세요. Cursor: 동일한 블록을 MCP 설정(Settings → MCP → Add server)에 추가하세요. 연결 후 클라이언트가 도구, 리소스, 프롬프트 목록을 자동으로 받습니다.

도메인별 도구

서버는 100개의 도구를 게시하며, PAT로 접근 가능한 REST를 완전히 커버합니다. 아래는 도구와 필요한 scope입니다. 이름은 동사_명사 형식(snake_case)입니다.

봇 (bots)

  • list_botsbots:read
  • get_botbots:read
  • validate_bot_tokenbots:write
  • connect_botbots:write
  • update_botbots:write
  • delete_botbots:write
  • sync_botbots:write
  • change_bot_tokenbots:write
  • transfer_botbots:write
  • get_bot_settingssettings:read
  • update_bot_settingssettings:write

채널과 WhatsApp 템플릿 (bots)

멀티채널 지원(Telegram + WhatsApp + VK)은 MCP를 통해서도 사용할 수 있습니다. 채널과 템플릿은 공통 scope bots:read / bots:write 로 제어됩니다 — 별도의 채널 scope는 없습니다.

  • list_channelsbots:read — 봇의 채널 목록(platform tg/wa/vk, external_id, name, enabled, callback_url).
  • connect_channelbots:write — WhatsApp 또는 VK 채널 연결(platform + 자격 증명).
  • delete_channelbots:write — 채널 연결 해제.
  • list_wa_templatesbots:read — 채널의 WhatsApp 템플릿 카탈로그(name, language, status, category, body).
  • sync_wa_templatesbots:write — Meta에서 템플릿 카탈로그 재동기화.
  • create_wa_templatebots:write — WhatsApp 템플릿을 만들고 Meta 검토에 제출.
  • update_wa_templatebots:write — 템플릿 편집(APPROVED/REJECTED/PAUSED 상태).
  • delete_wa_templatebots:write — 템플릿 삭제.

Telegram 채널은 connect_channel이 아니라 connect_bot으로 연결합니다 — 후자는 wavk만 처리합니다. 템플릿 카테고리: MARKETING / UTILITY / AUTHENTICATION. create_wa_template는 초안을 즉시 Meta 검토에 제출하며, 상태는 비동기로 변경되므로 list_wa_templates로 다시 읽으세요(필요하면 sync_wa_templates로 카탈로그를 갱신).

템플릿의 미디어 헤더(이미지/동영상/문서) 업로드는 MCP를 통해서는 아직 지원되지 않습니다 — 웹 UI 또는 REST POST /api/bots/{botID}/channels/{channelID}/templates/media를 사용하세요.

반응 (reactions)

  • list_reactionsreactions:read
  • get_reactionreactions:read
  • create_reactionreactions:write
  • update_reactionreactions:write
  • delete_reactionreactions:write
  • import_reactionsreactions:write
  • test_formulareactions:write
  • reorder_reactionreactions:write
  • get_reaction_linksreactions:read
  • list_reaction_foldersreactions:read
  • create_reaction_folderreactions:write
  • update_reaction_folderreactions:write
  • delete_reaction_folderreactions:write
  • add_reaction_to_folderreactions:write
  • remove_reaction_from_folderreactions:write
  • add_reactions_to_folderreactions:write

import_reactions를 통한 가져오기는 반응을 생성하지만 미디어는 건너뜁니다: MCP 컨텍스트에는 premium 검사 및 파일용 Telegram 수신기가 없습니다. SamBot 번들에 이미지/동영상/문서가 있는 경우 완전한 기능의 REST 가져오기(POST /api/bots/{botID}/reactions/import)를 사용하세요. 미디어도 전송됩니다.

일괄 전송 (broadcasts)

  • start_broadcastbroadcasts:write (선택적 paid, 선택적 레이블 세그먼트)
  • get_broadcastbroadcasts:write
  • pause_broadcastbroadcasts:write
  • resume_broadcastbroadcasts:write
  • cancel_broadcastbroadcasts:write

레이블 (labels)

  • list_labelslabels:read
  • create_labellabels:write
  • delete_labellabels:write
  • set_label_favoritelabels:write

컬렉션 및 레코드 (collections)

  • list_collectionscollections:read
  • create_collectioncollections:write
  • update_collectioncollections:write
  • delete_collectioncollections:write
  • list_recordscollections:read
  • create_recordcollections:write
  • update_recordcollections:write
  • delete_recordcollections:write

시나리오 (flows)

  • list_flowsflows:read
  • get_flowflows:read
  • create_flowflows:write
  • update_flowflows:write
  • delete_flowflows:write

통합, 연결, 자격증명 (integrations)

  • list_integrationsintegrations:read
  • get_integration_sheetsintegrations:read
  • get_integration_statusintegrations:read
  • create_integrationintegrations:write
  • update_integrationintegrations:write
  • delete_integrationintegrations:write
  • rotate_integration_tokenintegrations:write
  • list_connectionsintegrations:read
  • create_connectionintegrations:write
  • test_connectionintegrations:write
  • update_connectionintegrations:write
  • delete_connectionintegrations:write
  • list_credentialsintegrations:read
  • create_credentialintegrations:write
  • update_credentialintegrations:write
  • delete_credentialintegrations:write

미디어 (media)

  • upload_mediamedia:write
  • get_mediamedia:write

템플릿 (templates)

  • list_templatestemplates:read
  • delete_templatetemplates:write
  • create_template_from_bottemplates:write
  • apply_templatetemplates:write

구독자, 채팅, 대화 — 읽기 (subscribers)

  • list_subscriberssubscribers:read (offset/limit 페이지네이션, 레이블 필터)
  • list_chatssubscribers:read
  • list_dialogssubscribers:read
  • read_dialogsubscribers:read
  • send_dialog_messagesubscribers:write
  • send_dialog_reactionsubscribers:write
  • transcribe_dialog_messagesubscribers:write

통계 및 분석 (stats)

  • get_statsstats:read
  • get_stats_summarystats:read
  • get_stats_recentstats:read
  • get_stats_logstats:read
  • get_reaction_healthstats:read
  • get_analyticsstats:read
  • get_analytics_chatsstats:read
  • get_funnelstats:read

결제 — 읽기 (billing)

  • get_balancebilling:read
  • list_tariffsbilling:read
  • get_transactionsbilling:read

메시지 전송

  • send_messagebroadcasts:write — 봇 이름으로 메시지를 전송합니다. 잔액 차감은 토큰 소유자 기준으로 자동 처리됩니다.

리소스

도구 외에도 서버는 리소스를 제공합니다. 구조를 추측하지 않고 읽을 수 있습니다:

  • mybot://openapi.yaml — 전체 OpenAPI 스펙(/openapi.yaml로 제공되는 것과 동일).
  • mybot://reference — 간결한 참조 문서: scope가 있는 도구 목록, 규칙(기본 주소, 페이지네이션, 오류 형식, 제한).
  • mybot://schemas/reaction, mybot://schemas/trigger, mybot://schemas/action, mybot://schemas/flow, mybot://schemas/collection — 설정의 JSON 스키마. 반응(트리거, 조건, 채팅, 액션), 시나리오, 컬렉션을 올바르게 생성하는 데 가장 유용합니다.
  • mybot://bots — 봇의 동적 목록(도구 호출 없이 빠른 컨텍스트).

프롬프트

준비된 시나리오(MCP 클라이언트의 슬래시 명령):

  • setup_autoresponder — 자동응답 봇 구성(인수: 봇, 주제/질문 세트).
  • segment_broadcast — 레이블 세그먼트로 일괄 전송(인수: 봇, 레이블, 반응/텍스트).
  • diagnose_reaction — 반응이 작동하지 않는 이유 파악(반응, reaction-health, 순서 읽기).
  • import_from_sambot — SamBot 번들 가져오기 및 결과 확인.
  • weekly_report — 기간별 봇 통계/분석 요약.

MCP와 REST 선택 기준

  • 통합, 동기화, 스크립트 또는 자체 대시보드를 구축하는 경우 — REST를 사용하세요.
  • GetMyBot을 MCP를 지원하는 AI 어시스턴트나 에이전트에 연결하는 경우 — /mcp를 사용하세요.

두 인터페이스 모두 동일한 토큰으로 작동하며 소유자의 동일한 권한을 따릅니다. 필요한 도구를 찾지 못한 경우 해당 REST 엔드포인트가 항상 인터랙티브 참조에 있습니다.

다음 단계