Kimlik doğrulama
https://mcp.more.you/api adresine yapılan her istek, Bearer anahtarı içeren bir Authorization başlığı gerektirir. Anahtarı almanın iki yolu var.
OAuth (yapay zeka istemcileri için önerilir)
Yapay zeka istemcileri ilk bağlanışta Dynamic Client Registration çalıştırır, ardından kullanıcıyı bir OAuth onay ekranından geçirir. /mcp/connect sayfası bunu otomatik yapar. İstemciniz 30 günlük bir erişim anahtarı alır.
API anahtarı
Betikler ve CI için More.You uygulamasında Hesap → API Anahtarları bölümünden kişisel bir API anahtarı oluşturun. Anahtar apikey_ ile başlar ve diğerleri gibi bir Bearer anahtarı olarak gönderilir.
Uç nokta
Tüm araç çağrıları, HTTPS POST üzerinden tek bir JSON-RPC 2.0 uç noktasına gider.
Araçlar
list_scheduled_posts
Zamanlanmış gönderilerinizi listeleyin (yayın için sırada ama henüz gönderilmemiş).
Argümanlar
limitfromDönüş
posts: [{id, platform, content, scheduledAt, status}] içeren bir nesne. En fazla limit kadar sonuç.
Örnek
curl -X POST https://mcp.more.you/api \
-H "Authorization: Bearer apikey_xxx" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"tools/call","id":1,
"params":{"name":"list_scheduled_posts",
"arguments":{"limit":5}}}'
list_drafts
Taslak gönderilerinizi listeleyin (henüz zamanlanmamış).
Argümanlar
limitDönüş
drafts: [{id, platform, content, updatedAt}] içeren bir nesne. En fazla limit kadar sonuç.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":2,
"params":{"name":"list_drafts","arguments":{"limit":10}}}
list_connected_accounts
Ekibinize bağlı sosyal medya hesaplarını listeleyin.
Argümanlar
Argüman yok.
Dönüş
accounts: [{platform, handle, connected, lastSyncAt}] içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":3,
"params":{"name":"list_connected_accounts","arguments":{}}}
get_account_healthÜcretli plan
Bağlı tüm platformlar için bir sağlık özeti alın.
Argümanlar
platformwindowDaysDönüş
windowDays, postsScheduled, postsPublished, postsFailed, byPlatform dökümü ve topErrors[] içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":4,
"params":{"name":"get_account_health",
"arguments":{"windowDays":30}}}
create_post_draft
Yeni bir taslak gönderi oluşturun. Taslaklar otomatik yayınlanmaz.
Argümanlar
platformcontentmediaUrlsclientRequestIdDönüş
Yeni taslağı içeren bir nesne: {id, platform, content, status: "DRAFT", createdAt}.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":5,
"params":{"name":"create_post_draft",
"arguments":{"platform":"twitter",
"content":"Hello from MCP"}}}
update_post_draft
Mevcut bir taslağı güncelleyin. content veya mediaUrls alanlarından en az biri verilmelidir.
Argümanlar
postIdcontentmediaUrlsclientRequestIdDönüş
Güncellenen taslağı içeren bir nesne: {id, platform, content, mediaUrls, status, updatedAt}.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":6,
"params":{"name":"update_post_draft",
"arguments":{"postId":"",
"content":"Updated copy"}}}
connect_channel
Kullanıcının yeni bir platform bağlantısını yetkilendirmek için açabileceği tek kullanımlık bir URL oluşturun.
Argümanlar
platformDönüş
authUrl (kullanıcının yetkilendirmek için açtığı tek kullanımlık link), expiresAt ve platform içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":7,
"params":{"name":"connect_channel",
"arguments":{"platform":"linkedin"}}}
schedule_post
Bir taslağı (status DRAFT) ileri bir zaman damgasında BullMQ yayın sırasına alın. ±60 sn sapma içinde idempotent; önce açıkça iptal etmeden farklı bir zamana yeniden zamanlama girişimlerini reddeder.
Argümanlar
postIdscheduledAtDönüş
postId, scheduledAt (ISO), status: SCHEDULED içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":8,
"params":{"name":"schedule_post",
"arguments":{"postId":"",
"scheduledAt":"2026-05-10T09:00:00Z"}}}
cancel_scheduled_post
Zamanlanmış bir gönderiyi iptal edin ve yayın sırasından çıkarın. Altındaki taslak korunur.
Argümanlar
postIdDönüş
postId ve status: CANCELLED içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":9,
"params":{"name":"cancel_scheduled_post",
"arguments":{"postId":""}}}
delete_draft
Bir taslak gönderiyi kalıcı olarak silin. DRAFT olmayan gönderileri reddeder (SCHEDULED için cancel_scheduled_post kullanın).
Argümanlar
postIdDönüş
postId ve deleted: true içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":10,
"params":{"name":"delete_draft",
"arguments":{"postId":""}}}
get_post
Verilen postId için platform bazında içerik, durum ve zaman damgalarıyla tam PostGroup'u döndürün.
Argümanlar
postIdDönüş
postId, status, scheduledAt, createdAt, updatedAt ve providers (platform → içerik kaydı) içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":11,
"params":{"name":"get_post",
"arguments":{"postId":""}}}
search_posts
Aktif ekip için gönderi içeriğinde alt dize (büyük/küçük harf duyarsız) araması. Filtreler: status, platform, limit (1-100, varsayılan 20).
Argümanlar
querystatusplatformlimitDönüş
posts: [{postId, status, platforms, snippet, scheduledAt, updatedAt}] içeren bir nesne. Snippet, eşleşen bağlamı iki yanında üç nokta ile içerir.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":12,
"params":{"name":"search_posts",
"arguments":{"query":"launch","limit":10}}}
list_teams
Kimliği doğrulanmış kullanıcının sahibi veya yöneticisi olduğu ekipleri döndürün; aktif ekip işaretlenir.
Argümanlar
Argüman yok.
Dönüş
currentTeamId ve teams: [{teamId, teamName, isCurrent}] içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":13,
"params":{"name":"list_teams","arguments":{}}}
set_current_team
Bu Bearer anahtarı için aktif ekibi değiştirin. Kullanıcı üye olmalıdır. OAuth anahtar belgesinde kalıcı olur; oturum içi değişiklik, aynı konuşmadaki sonraki araçlar için hemen geçerli olmasını sağlar.
Argümanlar
teamIdDönüş
teamId, teamName, persisted (OAuth ise true, API anahtarı ise false) ve isteğe bağlı bir note içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":14,
"params":{"name":"set_current_team",
"arguments":{"teamId":"team_xxxxx"}}}
get_plan_limits
Kullanıcının mevcut abonelik katmanını ve katman başına kotaları (kanal, depolama, yapay zeka kredileri, paylaşım) okuyun. Her planda kullanılabilir. Çağrının engellenip engellenmeyeceğini önceden tahmin etmek için, değiştiren araçlardan önce işe yarar.
Argümanlar
Argüman yok.
Dönüş
tier, tierDisplayName, isPaid, isTrial, upgradeUrl, limits (channels/storage/aiCalls/posts, her biri {limit, current, exceeded} veya {limit, allowed}) ve creditsAvailable ({total, subscriptionRemaining, purchasedBalance} veya null) içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":15,
"params":{"name":"get_plan_limits","arguments":{}}}
get_post_metrics
Yayınlanmış bir gönderinin gönderildiği her platform için etkileşim metriklerini getirin. Twitter ve Instagram dolu metrikler döndürür (beğeni, retweet/paylaşım, yorum/yanıt, gösterim); LinkedIn, Threads ve TikTok yalnızca yayın durumu ve URL döndürür (etkileşim toplama sonraki bir sürüme ertelendi). Normalleştirilmiş bir toplam, raporlayan platformlardaki beğeni/yorum/paylaşım/gösterimleri toplar.
Argümanlar
postId Bir liste çağrısından alınan More.You gönderi kimliği.
Dönüş
postId, status, providers: [{platform, publishedPostId, publishedUrl, publishedAt, status, metrics}] ve totals: {likes, comments, shares, impressions} içeren bir nesne. metrics platform başına sayısal değerlerden oluşan bir nesnedir; platform henüz etkileşim toplamıyorsa null olur.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":16,
"params":{"name":"get_post_metrics",
"arguments":{"postId":""}}}
get_publish_status
Zamanlanmış bir gönderiye ne olduğunu tanılayın: sıra durumu, platform başına başarı/hata, işlem süresi ve çalışanın iş kimliği. Taslak olarak var olup yayın sırasına hiç alınmamış gönderiler için isScheduled=false döndürür ve schedule_post'a işaret eden bir ipucu verir.
Argümanlar
postId Bir liste çağrısından alınan More.You gönderi kimliği.
Dönüş
postId, isScheduled, status, scheduledAt, publishedAt, platforms, processingTimeMs, jobId, topLevelError ve results: [{platform, success, publishedPostId, publishedAt, error}] içeren bir nesne. isScheduled false olduğunda hint içerir.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":17,
"params":{"name":"get_publish_status",
"arguments":{"postId":""}}}
update_brand_profile
Kullanıcının aktif marka profilini güncelleyin. İzin verilen alanlar: bio, brandVoice, personalityTraits, mainThemes, expertiseAreas, preferredHashtags, audienceSize. Diğer her şey sessizce atılır. “active” önce ekip varsayılanı, sonra kullanıcının ilk aktif kendi profili olarak çözülür.
Argümanlar
brandVoice Marka sesi tanımlayıcılarından oluşan dizi (örneğin ["professional", "concise"]).
Güncellenebilen diğer alanlar: bio, personalityTraits, mainThemes, expertiseAreas, preferredHashtags, audienceSize.
Dönüş
profileId, name, updated: [güncellenen alan adları] ve güncellemeden sonra bio, brandVoice, personalityTraits, mainThemes, expertiseAreas, preferredHashtags, audienceSize alanlarının mevcut değerlerini içeren bir nesne.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":18,
"params":{"name":"update_brand_profile",
"arguments":{"brandVoice":["professional","concise"]}}}
get_best_time_to_post Ücretli plan
Belirli bir platformda sonraki gönderi için, son 90 günde gönderi başına etkileşime göre sıralanmış en iyi N (dayOfWeek, hour) aralığını önerin. Twitter ve Instagram etkileşim ağırlıklı puan döndürür; LinkedIn, Threads, TikTok yalnızca gönderi sıklığına göre sıralar. Saatler verilen IANA saat diliminde olur (varsayılan UTC). Ücretli plan gerekir.
Argümanlar
platform Sosyal platform: twitter, instagram, linkedin, threads veya tiktok.
timezone IANA saat dilimi adı (örneğin Europe/Berlin, America/New_York). Varsayılan UTC.
topN Döndürülecek aralık önerisi sayısı (1-24, varsayılan 5).
Dönüş
platform, timezone, sampleWindowDays, sampleSize, metricsAvailable ve recommendations: [{dayOfWeek (1-7, Mon=1), dayLabel, hour (0-23), score, basedOn: {posts, avgEngagement}}] içeren bir nesne. Soğuk başlangıç veya metriklerin bulunmadığı durumlar için hint içerir.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":19,
"params":{"name":"get_best_time_to_post",
"arguments":{"platform":"twitter","timezone":"Europe/Berlin","topN":5}}}
search_tools
MCP araç kataloğunda serbest metin, kategori ya da amaca göre arayın. Kategorileri, requiresScope değerini, tek satırlık açıklamaları ve eşleşen kullanım amacı etiketlerini döndürür. Tüm planlarda ücretsiz (keşif yüzeyi).
Argümanlar
Hepsi isteğe bağlı. Kullanılabilir tüm araçları listelemek için argümansız çağırın.
query Araç adları, açıklamalar ve kullanım amacı etiketlerinde serbest metin araması.
category Tek bir kategoriye filtreleyin: posts, accounts, analytics, brand, teams, discovery, other.
Dönüş
totalTools, matchCount, categories: [string[]] ve tools: [{name, category, requiresScope, description, useCases, matchedOn: [name|category|description|use_case]}] içeren bir nesne. Eşleşme yoksa veya filtre verilmediyse hint içerir.
Örnek
{"jsonrpc":"2.0","method":"tools/call","id":20,
"params":{"name":"search_tools",
"arguments":{"query":"why did my post fail"}}}
MCP Resources
Resources, istemcinin MCP resources/read yöntemiyle getirebildiği salt okunur bağlamdır. Claude bunları konuşma başında çeker; böylece her oturumda tekrar sormanıza gerek kalmadan hesap, ekip ve marka bağlamına sahip olur.
moreyou://account/summary
Hesap e-postası ve kullanıcı adı (Claude hangi hesapla çalıştığını doğrulayabilsin diye), plan, kullanılan / sınır yapay zeka kredileri, taslak sayısı, zamanlanmış sayısı, bağlı kanal sayısı. Hızlı yükleme için sayılar her biri için 100 ile sınırlıdır.
moreyou://channels/connected
list_connected_accounts sonucuyla aynı yapı; kaynak olarak sunulur, böylece Claude bunu konuşma başında bir kez çeker (araç çağrısı gidiş-dönüşü olmadan).
moreyou://brand-profiles/active
Kullanıcının aktif marka profili (ekip varsayılanı, yoksa ilk kendi profili). Yalnızca LLM için ilgili alanları döndürür: bio, expertiseAreas, personalityTraits, brandVoice, mainThemes, audienceSize, preferredHashtags.
moreyou://teams/current
Geçerli ekip meta verisi (teamId, teamName) ve totalTeamsAvailable sayısı. Geçiş için list_teams + set_current_team ile birlikte kullanın.
Adlandırılmış iş akışları
Birden fazla aracı bir araya getiren eğik çizgi menüsü kısayolları. Birini seçin; yapay zeka asistanınız bir şeyi değiştirmeden önce onay alarak çok adımlı bir işi yürütsün.
/weekly-plan
Marka profilini, bağlı kanalları ve sıradaki gönderileri okuyun, ardından pazartesiden cumaya yayılmış 5-10 taslak önerin.
/draft-thread
Verdiğiniz bir konu ya da URL için marka sesinizde 5-10 gönderilik bir Twitter veya Threads dizisi yazın.
/audit-queue
Zamanlanmış gönderilerin sonraki 7 gününü gezin; yinelenenleri, platformdaki aşırı yüklenmeyi ve boşlukları işaretleyin.
/channel-sweep
Bağlı kanalları desteklenen kanallarla karşılaştırın ve hangilerinin bağlanacağını ya da yenileneceğini önerin.
Keşif ve OAuth uç noktaları
Herhangi bir MCP istemcisinin kendini otomatik yapılandırabilmesi için standartlara uygun meta veri.
GET /.well-known/oauth-protected-resource/api: RFC 9728GET /.well-known/oauth-authorization-server: RFC 8414GET /oauth/.well-known/openid-configuration: OIDCPOST /oauth/reg: Dynamic Client Registration (RFC 7591)GET /oauth/auth: Yetkilendirme (PKCE-S256 zorunlu)POST /oauth/token: Anahtar değişimi
Açık kaynak
Kopyala-yapıştır tarifler ve geliştiriciye yönelik bir referans herkese açık belge deposunda yer alır. MIT lisanslı; pull request'ler memnuniyetle karşılanır. github.com/moreyouhq/moreyou-mcp
Sosyal medyanızı herhangi bir yapay zeka asistanıyla yönetin
Claude, ChatGPT veya Cursor'la sohbetle 7 platformda gönderi planlayın, taslak yazın, zamanlayın, denetleyin. Tek güvenli bağlantı, tüm More.You özellikleri.
