MELLOW HUB · SAHA NOTLARI

Instagram MCP: fotoğraf, carousel ve Reels yayınla

Mellow Hub için bir Instagram MCP rehberi: hesap gereksinimleri, Instagram ya da Facebook ile giriş, test edilmiş gönderi girdileri, zamanlama ve sık karşılaşılan doğrulama hatalarının çözümleri.

Mellow · Son güncelleme:

Yapay zeka asistanı MCP üzerinden Instagram’a gönderi yayınlayabilir mi?

Evet, asistanın yetkilendirilmiş bir yayınlama aracı ve koşulları karşılayan bağlı bir Instagram hesabı varsa. Mellow Hub bu araçları https://www.mellow.world/mcp adresinde sunar. Uyumlu bir uzak MCP istemcisi bir gönderiyi doğrulayabilir, hesap sahibinin devrettiği yetki sınırları içinde zamanlayabilir ve gönderinin hedefteki nihai sonucunu okuyabilir.

İşe hesabınla ve gerçek bir taslakla başla. MCP araç bağlantısını sağlar; hesapla, izinlerle ve medyayla yayın yapılıp yapılamayacağına yine Instagram karar verir. Bu rehber Mellow Hub’ı ele alır. Kendi Instagram içeriğini iPhone’da ya da web’de planlamak içinse ayrı Mellow planlama rehberine göz at.

Hangi Instagram hesabına ihtiyacım var?

Profesyonel bir Instagram hesabı kullan: İşletme ya da İçerik Üreticisi. Kişisel hesaplar bu yayınlama API’si akışına uygun değildir. Hub’da Hesaplar sayfasını aç, Instagram’ı seç ve hesap bağlantısını kendin tamamla.

Giriş yöntemiHazırlaman gerekenler
Instagram ile girişDoğrudan giriş yolu. Meta’nın Instagram ile giriş API’si bağlı bir Facebook Sayfası gerektirmez.
Facebook ile girişBir Facebook Sayfasına bağlı profesyonel Instagram hesabı ve o Sayfa için uygun erişim yetkisi.

Bunlar farklı yetkilendirme yollarıdır. Hesabının kurulumuna uyan yolu seç; birini tamamlamak, diğerindeki her izni vermez. Bu fark, Meta’nın resmi Instagram API koleksiyonunda belgelenmiştir. Hub’ın kullandığı yönetilen bağlantı, Post for Me’nin hesap gereksinimlerinde açıklanır.

Stories için ek bir uygunluk kontrolü gerekir: Meta’nın Facebook ile giriş belgeleri, Story yayınlamayı İşletme hesaplarıyla sınırlar. Bir formatın Hub’ın girdi kurallarında yer alması, hesabının o formatı yayınlayabileceğini göstermez. O formata güvenmeden önce bağlı hesabı ve teslim sonucunu doğrula.

Asistanı bağla ve yetkisini kontrol et

  1. Instagram hesabını Hub’a bağla. Dönen kanal kimliği bu bağlantıyı tanımlar; Instagram kullanıcı adı onun yerini tutmaz.
  2. Hub’ın uç noktasını, Streamable HTTP üzerinden uzak MCP’yi destekleyen bir istemciye ekle. İstemcinin OAuth akışını izle ya da istemci destekliyorsa hesap sahibinin oluşturduğu bir Hub anahtarını kullan. Kurulum ve kullanılabilirlik istemciye bağlıdır. Kimlik bilgilerini istemcinin güvenli yapılandırmasında sakla.
  3. Hub’ın OAuth izin ekranında izinleri, kanalları, modu, günlük üst sınırı ve geçerlilik süresini seç. İnceleme modu, işi bir kişinin onaylaması için hazırlar. Otomatik pilot, devredilen yetki sınırları içinde yayın yapılmasına izin verir. Ortaya çıkan erişimi Ajanlar bölümünde görüntüle ya da iptal et.
  4. whoami ve list_channels araçlarını çağır. Gerçek modu kontrol et ve dönen Instagram kanal kimliğini kullan. Güncel kuralları list_platforms ile oku.
  5. Erişilebilir medya hazırla. Herkese açık mevcut bir URL’yi incelemek için register_media, yerel bir dosyayı yüklemek için request_upload_url kullan. Ortaya çıkan URL’yi planlanan yayın saatine kadar erişilebilir tut.

Bağlantı adımlarının tamamı ve sonuç sözleşmesi için MCP iş akışı rehberine bak. Tek başına bir bağlayıcı eklemek ya da bir prompt yapıştırmak, bir Instagram hesabını yetkilendirmez.

Mellow Hub’ı Claude’a önce salt okunur erişimle bağla

Özel bağlayıcıların kullanılabildiği bir Claude hesabında Customize → Connectors → Add custom connector yolunu izle. Ad olarak Mellow Hub, uzak MCP sunucusu URL’si olarak https://www.mellow.world/mcp gir. Daha önce eklediysen mevcut bağlayıcıyı kullan. Claude, kimlik doğrulama ayarlarını bu adresten kendisi bulabilir.

Bağlantı ayarıDeğer
AktarımStreamable HTTP
Kimlik doğrulamaHer zaman gerekli
OAuth istemcisiDCR ile otomatik olarak kaydolur; kopyalaman gereken bir istemci gizli anahtarı yoktur.
  1. Bağlayıcıyı aç ve Connect düğmesine tıkla. İstenirse Mellow’da oturum aç. İzin ekranı, erişim isteyen uygulamayı Claude olarak göstermelidir.
  2. İlk kontrol için yalnızca channels:read ve posts:read seçili kalsın. Bu izinler bağlantının okunmasını ve bir girdinin doğrulanmasını sağlar. Medya yüklemeye, gönderi oluşturmaya ya da yayınlamaya izin vermez.
  3. Kullanacağın Instagram kanalını ve inceleme modunu seç. Bir gün gibi kısa bir geçerlilik süresi ve günlük bir üst sınır belirle. Boş kanal seçimi reddedilir; gelecekte eklenecek kanallara erişim için bunu açıkça seçmen gerekir.
  4. Bu yetki devrini kendin incele ve onayla. Claude’a döndüğünde bağlayıcının bağlı olduğunu doğrula. Claude’dan önce whoami, ardından izin verilen kanal kimliği için list_channels araçlarını çağırmasını iste. Verilen kapsamları, kanalları ve geçerlilik süresini Hub’ın erişim listesinde kontrol et: istemci yalnızca aracın metin özetini gösterebilir ve bu özet her yapılandırılmış alanı içermez.
Yalnızca Mellow Hub’ı kullan. Önce whoami, ardından list_channels araçlarını çağır.
Yetkilendirdiğim tek Instagram kanalını kullan. validate_post aracını
"Mellow test - example only" açıklamasıyla iki kez çağır: önce media [] ile,
sonra media ["https://example.com/test.jpg"] ile. Bunlar örnek girdilerdir.
URL’yi açma ve mevcut gönderileri okuma. Her doğrulama sonucunu bildir.
Hiçbir şey oluşturma, zamanlama, iptal etme ya da yayınlama.

Claude bir aracı kullanmak için izin istediğinde, çağrıya izin vermeden önce aracın adını ve girdisini incele. Bu kontrol için her çağrıya bir kez izin ver. Örnek URL yalnızca girdi kurallarını test eder; yayınlanacak gerçek bir görsel değildir. Doğrulama medyayı indirmez ve Instagram’a teslimi kanıtlamaz.

Canlı bağlantı kontrolü ne döndürdü

9 Eylül 2026’da gerçek bir Claude web bağlantısı, OAuth sürecini yalnızca channels:read posts:read izinleri, tek bir Instagram kanalı, inceleme modu ve bir günlük geçerlilik süresiyle tamamladı. Claude önce whoami ve list_channels araçlarını, ardından iki kez validate_post aracını çağırdı. Asistanın özetinin yanı sıra araç yanıtlarını da inceledik.

GirdiGözlenen sonuç
Medyasız açıklamaReddedildi: Instagram en az bir medya öğesi gerektirir.
Aynı açıklama, örnek görsel URL’siyleTek kanal için girdi kontrolünden geçti.

Bu kontrolde hiçbir gönderi oluşturulmadı ya da yayınlanmadı. Ardından test için verilen yetkiyi Ajanlar bölümünde iptal ettik ve hem erişim hem de yenileme token’larının iptal edildiğini doğruladık. Bu, o belirli bağlantı ve doğrulama akışını kanıtlar; Instagram’da yayını ya da her istemci yapılandırmasıyla uyumluluğu değil.

Kendi taslağın için gerçek bir açıklama ve erişilebilir medya kullan. Sonraki bir görev yazma izni gerektiriyorsa, gerekli izinlerle yeni bir yetki devrini onayla. Token yenilemek, seçilen erişim süresini uzatmaz.

Doğrulamadan önce formatı seç

Hub şu anda Instagram için 2.200 karakterlik bir açıklama sınırı ve genel olarak 110 medya öğesi aralığı uygular. Yerleşimler bu aralığı daraltır. Bunlar Hub’ın uyguladığı girdi kurallarıdır; Instagram’ın kendi düzenleyicisinden daha sıkı olabilir.

GönderiHub yerleşimiHazırlanacak girdi
Akış fotoğrafıtimelineTek görsel.
Fotoğraf carousel’itimelineİstediğin sırayla iki ile 10 arasında görsel.
ReelreelsTam olarak bir video. Ana akışta da paylaşılıp paylaşılmayacağını shareToFeed belirler.
StorystoriesTam olarak bir görsel ya da video; hesabın uygunluğuna bağlıdır.

Hub şu anda türü tanınan görsel ve video URL’lerinin aynı gönderide karıştırılmasını reddeder. Carousel girdisinde tek bir medya türü kullan. Bu, Hub’a özgü bir sınırlamadır; Instagram’ın karışık carousel’leri hiçbir zaman desteklemediği anlamına gelmez.

Yerleşim davranışı Post for Me tarafından belgelenmiştir. Dosya boyutu, codec’ler, en boy oranı ve süre de yine Instagram’ın koşullarını karşılamalıdır. Hub’ın girdi doğrulayıcısı dosyayı indirip ölçmez; tanınabilir bir uzantısı olmayan bir URL’nin medya türü belirsiz kalabilir.

Uyarlayabileceğin üç gönderi girdisi

Bu nesnelerden birini validate_post aracına argüman olarak ver. Örnek kanal kimliğini, medya URL’lerini, açıklamayı ve 2030 tarihli zaman damgasını kendi değerlerinle değiştir. Tarih bilerek örnek amaçlı seçildi; açıkça belirtilmiş bir UTC Z işareti ya da saat dilimi farkı kullan. Bu girdiler, sentetik bir kanal kullanılarak Hub’ın ayrıştırıcısı ve doğrulayıcısıyla kontrol edildi. Canlı bir Instagram yayınının kanıtı değildir.

One feed photo

{
  "channels": [
    "spc_your_instagram_channel"
  ],
  "scheduledAt": "2030-01-15T10:00:00Z",
  "caption": "A closer look at the glaze on this cup.",
  "media": [
    "https://cdn.example.com/your-cup.jpg"
  ],
  "options": {
    "instagram": {
      "placement": "timeline"
    }
  }
}

An ordered photo carousel

{
  "channels": [
    "spc_your_instagram_channel"
  ],
  "scheduledAt": "2030-01-15T10:00:00Z",
  "caption": "From clay to finished cup, in three stages.",
  "media": [
    "https://cdn.example.com/your-clay.jpg",
    "https://cdn.example.com/your-process.jpg",
    "https://cdn.example.com/your-cup.jpg"
  ],
  "options": {
    "instagram": {
      "placement": "timeline"
    }
  }
}

One Reel

{
  "channels": [
    "spc_your_instagram_channel"
  ],
  "scheduledAt": "2030-01-15T10:00:00Z",
  "caption": "How this handle is attached.",
  "media": [
    "https://cdn.example.com/your-process.mp4"
  ],
  "options": {
    "instagram": {
      "placement": "reels",
      "shareToFeed": true
    }
  }
}

Gerçek bir medya URL’si, yayınlama hizmeti onu çektiği anda erişilebilir olmalıdır. Meta bu gereksinimi içerik yayınlama referansında açıklar. Yerel bir dosya yolu, özel bir bulut sürücüsü bağlantısı ya da süresi dolmuş imzalı bir URL bunun yerine kullanılamaz.

Gönderiyi oluşturmadan önce bildirilen sorunu düzelt

Doğrulama sonucundaki ok, issues ve notes alanlarını oku. Başarılı bir HTTP isteği yine de ok: false döndürebilir. Her sorun, etkilenen kanalı ve alanı belirtir.

Sorun koduYapılacak değişiklik
channel_not_connectedHesabı bağlamayı tamamla ve dönen kanal kimliğini kullan.
media_requiredMedya ekle; Instagram bu iş akışıyla yalnızca metin içeren bir gönderiyi yayınlayamaz.
media_too_manyMedya sayısını Hub’ın şu anki üst sınırı olan 10 adede indir; Reel ya da Story için izin verilen sayı daha azdır.
reel_media_countHer Reel için tek video kullan. Birden fazla Reel için ayrı gönderiler hazırla.
reel_needs_videoReel için video ekle ya da fotoğraflar için akış yerleşimini seç.
story_media_countHer Story isteğinde tek bir öğe kullan.
media_kinds_mixedTürü tanınan görselleri ve videoları ayrı Hub gönderilerinde tut.
caption_too_longAçıklamayı en fazla 2.200 karaktere kısalt.

Bir hesap bağlamadan önce ücretsiz gönderi kontrol aracını dene. Aynı girdi kurallarını örnek hedeflerle uygular. Oturum açılarak yapılan doğrulama ise gerçekten bağlı olan kanalları kontrol eder; iki sonuç da sağlayıcının gönderiyi sonunda teslim edeceğini garanti etmez.

Bir kez zamanla ve Instagram sonucunu doğrula

Doğrulama başarılı olduktan sonra aynı gönderiyle ve ceramics-instagram-reel-slot-001 gibi sabit bir idempotencyKey ile create_post aracını çağır. Gerçek yayını hazırlayan ya da zamanlayan adım, oluşturma adımıdır. İnceleme modunda onay bekler; otomatik pilotta seçilen saatte devam edebilir. Önce güncel plan kotanı kontrol et.

Dönen gönderi kimliğini sakla. Oluşturma yanıtı kaybolursa aynı isteği aynı anahtarla yeniden dene. Yalnızca zaman aşımı yüzünden yeni bir anahtar üretme. Gönderiyi değiştirdiysen yeni bir anahtar gerekir.

get_post aracını çağır ve targets içindeki Instagram kaydını incele. Kaydın nihai durumunu, herkese açık URL’sini ya da hatasını oku. Hub’ın bir gönderiyi kabul etmesi, Instagram’ın onu yayınladığının kanıtı değildir. Birden fazla ağa giden bir istekte, başka bir hedef başarılı olurken Instagram başarısız olabilir.

Doğrudan HTTP kullanan sunucu entegrasyonları için REST ile zamanlama tarifi, eşdeğer istekleri ve idempotency başlığını verir. İlk kurulumda, düzenli bir yayın planı hazırlamadan önce Instagram kanalını bağla ve bir taslağı doğrula.