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öntemi | Hazı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
- 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.
- 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.
- 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.
whoamivelist_channelsaraçlarını çağır. Gerçek modu kontrol et ve dönen Instagram kanal kimliğini kullan. Güncel kurallarılist_platformsile oku.- Erişilebilir medya hazırla. Herkese açık mevcut bir URL’yi incelemek için
register_media, yerel bir dosyayı yüklemek içinrequest_upload_urlkullan. 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ım | Streamable HTTP |
| Kimlik doğrulama | Her zaman gerekli |
| OAuth istemcisi | DCR ile otomatik olarak kaydolur; kopyalaman gereken bir istemci gizli anahtarı yoktur. |
- 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.
- İlk kontrol için yalnızca
channels:readveposts:readseç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. - 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.
- 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çinlist_channelsaraç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.
| Girdi | Gözlenen sonuç |
|---|---|
| Medyasız açıklama | Reddedildi: Instagram en az bir medya öğesi gerektirir. |
| Aynı açıklama, örnek görsel URL’siyle | Tek 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 1–10 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önderi | Hub yerleşimi | Hazırlanacak girdi |
|---|---|---|
| Akış fotoğrafı | timeline | Tek görsel. |
| Fotoğraf carousel’i | timeline | İstediğin sırayla iki ile 10 arasında görsel. |
| Reel | reels | Tam olarak bir video. Ana akışta da paylaşılıp paylaşılmayacağını shareToFeed belirler. |
| Story | stories | Tam 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 kodu | Yapılacak değişiklik |
|---|---|
channel_not_connected | Hesabı bağlamayı tamamla ve dönen kanal kimliğini kullan. |
media_required | Medya ekle; Instagram bu iş akışıyla yalnızca metin içeren bir gönderiyi yayınlayamaz. |
media_too_many | Medya 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_count | Her Reel için tek video kullan. Birden fazla Reel için ayrı gönderiler hazırla. |
reel_needs_video | Reel için video ekle ya da fotoğraflar için akış yerleşimini seç. |
story_media_count | Her Story isteğinde tek bir öğe kullan. |
media_kinds_mixed | Türü tanınan görselleri ve videoları ayrı Hub gönderilerinde tut. |
caption_too_long | Açı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.