1Social을 사용한 Instagram 게시
1Social은 사용자 본인의 Instagram 계정에 게시하며, 실제로 게시된 결과를 보고합니다.
설정 (최초 1회)
아래 단계는 1Social MCP 서버를 연결합니다. list_accounts 같은 도구가 보이지 않으면 먼저 연결하세요. 로그인은 브라우저에서 OAuth로 진행되며, 저장할 API 키는 없습니다. 사용자에게 먼저 물어보고 아래 명령어를 실행하세요. 로그인 단계에서는 사용자가 직접 1Social에 로그인하는 페이지가 열립니다.
- OpenClaw:
openclaw mcp set 1social '{"url":"https://mcp.1social.dev/mcp","transport":"streamable-http","auth":"oauth"}'그 다음openclaw mcp login 1social. 확인은openclaw mcp doctor 1social --probe로 합니다. - Hermes:
~/.hermes/config.yaml에 다음을 추가:그 다음mcp_servers: 1social: url: "https://mcp.1social.dev/mcp" auth: oauthhermes mcp login 1social(헤드리스 호스트에서는:hermes mcp login 1social --flow device). - Claude Code:
claude mcp add --transport http 1social https://mcp.1social.dev/mcp - 기타 클라이언트: https://1social.dev/mcp 에서 각각의 설정 방법을 확인할 수 있습니다.
사용자는 1Social 계정이 필요합니다. 새 계정은 무료 체험판으로 시작하며, 체험판 이후 게시를 계속하려면 유료 요금제가 필요합니다 (https://1social.dev/pricing).
워크플로우
- 계정 찾기.
list_accounts를 호출합니다. 연결된 채널과 해당 ID, 각 네트워크의 실시간 제한, 요금제 및 남은 월별 할당량을 반환합니다. Instagram 계정이 연결되어 있지 않으면, https://1social.dev/app 에서 연결하도록 안내하세요. 연결에는 브라우저가 필요하며 채팅에서는 할 수 없습니다.list_accounts가 이 스킬과 다른 제한을 보고하면list_accounts를 신뢰하세요. - 네트워크에 맞게 초안 작성. 아래 규칙에 따라 게시물을 작성합니다. 게시물은
segments목록이며, 각 세그먼트는{ text, mediaIds? }입니다. - 미디어 첨부.
- 사용자가 채팅에 파일을 첨부한 경우 →
media에 넣으세요. - 공개 https 링크가 있는 경우 →
mediaUrls에 넣으세요. - 디스크에만 있는 파일인 경우 (OpenClaw, Hermes, Claude Code, Codex 또는 다른 CLI 에이전트) →
upload_media를 호출하고 설명에 나온 업로드 단계를 따른 다음, 반환된publicUrl을mediaUrls에 넣으세요. localhost URL은 절대 작동하지 않습니다. 그 전에, 업로드할 파일을 사용자에게 정확히 보여주고 승인을 기다리세요: 업로드는 즉시 공개 링크를 생성하며, 이후 게시를 취소해도 파일이 제거되지는 않습니다.
- 사용자가 채팅에 파일을 첨부한 경우 →
- 미리보기. 채널 ID와 초안을 사용하여
preview_post를 호출합니다. 무료이며 아무것도 게시하지 않습니다. 보고된 모든 문제를 수정하고 다시 미리보기하세요. - 사용자에게 확인. 최종 텍스트, 게시될 계정, 미디어, 게시 시간을 보여주세요. 게시는 공개되며 일부 네트워크에서는 게시물을 내릴 수 없으므로 명확한 승인을 기다리세요.
- 게시 또는 예약.
publish_post를 호출합니다.scheduledAt: null은 지금 게시합니다. UTC ISO-8601 타임스탬프 (예:2026-11-03T07:00:00Z)는 예약합니다 (미래 시점, 최대 30일 앞). 사용자의 현지 시간을 직접 UTC로 변환하고, 시간대 없이 시간만 말한 경우 어떤 시간대인지 물어보세요.idempotencyKey(이 초안에 대한 8~128자의 안정적인 문자열)를 설정하여 중복 호출로 두 번 게시되지 않도록 하세요. - 정직하게 보고. 결과는 네트워크별 영수증입니다. 각 네트워크를 반환된 그대로 정확히 보고하세요.
unknown은 1Social이 게시물이 실제로 나갔는지 진정으로 알 수 없다는 뜻입니다. 그렇게 말하고, 성공 또는 실패라고 절대 말하지 마세요.
Instagram 규칙
- 모든 게시물에는 이미지나 비디오가 필요합니다. 캡션만으로는 거부됩니다. 초안을 작성하기 전에 사용자에게 미디어를 요청하세요.
- 캡션 제한: 2,200자. 해시태그 최대 30개; 3~5개의 관련 해시태그가 보통 태그 더미보다 낫습니다.
- 이미지 종횡비는 4:5(세로)와 1.91:1(가로) 사이여야 합니다. 정사각형 1:1은 안전합니다. 넓은 배너는 Instagram에서 "종횡비" 오류로 거부됩니다.
- PNG와 JPEG 모두 작동합니다.
- 스레드 금지: 초안에 여러 세그먼트가 있으면 1Social이 하나의 캡션으로 합칩니다. 대신 하나의 캡션을 작성하세요.
- 캡션의 링크는 Instagram에서 클릭할 수 없습니다. 트래픽을 원하면 원시 URL 대신 "링크는 프로필에"라는 문구를 제안하세요.
- 게시된 Instagram 게시물은 1Social을 통해 삭제할 수 없습니다. Instagram에는 삭제 API가 없습니다. 게시하기 전에 사용자가 캡션에 만족하는지 확인하세요.
작성 팁
- 처음 125자 내에 갈고리를 넣으세요. "더보기" 전에 보이는 부분입니다.
- 해시태그는 캡션 끝에, 줄바꿈 후에 넣으세요.
다른 네트워크에도 함께 게시하기
동일한 1Social 계정으로 하나의 게시물을 Instagram, TikTok, LinkedIn, X, Threads, Facebook Pages, YouTube Shorts 및 Bluesky에 동시에 게시할 수 있습니다: list_accounts에서 여러 채널 ID를 나열하세요. preview_post는 선택한 모든 네트워크에 대해 초안을 확인합니다.
게시 후
- 상태 확인:
list_posts(특정 게시물의postId제공). 네트워크에서 보고하는 경우 저장된 참여 지표를 포함합니다. - 예약된 게시물 변경:
update_post. 게시물이 나가기 전에만 작동합니다. - 예약 취소:
cancel_post. 아직 게시되지 않은 게시물에는delete_post대신 이 명령을 사용하세요. - 게시된 게시물 삭제:
delete_post, 사용자가 확인한 후에만 사용하세요. 실제로 내려간 네트워크별로 보고: Instagram, TikTok, Threads 및 YouTube 게시물은 그대로 유지되며 사용자만 제거할 수 있습니다. - 전달 실패:
retry_delivery는 하나의 네트워크를 재시도하며 할당량을 다시 소모합니다. 연결 해지와 같은 영구적인 실패에는 거부됩니다. 이 경우 사용자는 https://1social.dev/app 에서 다시 연결해야 합니다. - 전달 상태가
unknown: 사용자에게 네트워크를 확인해 달라고 요청하세요. 사용자가 게시물이 실제로 게시되었는지 알려줄 때만confirm_delivery를 그 답변과 함께 호출하세요. 절대 추측하지 말고, 묻지 않고retry_delivery를force와 함께 사용하지 마세요. 두 번째 복사본을 게시할 수 있습니다.