İçeriğe geç
Uygulamayı aç

MCP araçları — genel bakış

Erişim hakları

MCP araçları üç scope düzeyine atanmıştır:

ScopeAnlamı
readYalnızca okuma erişimi; oluşturamaz, düzenleyemez, silemez
writeKaynakları, kanalları ve Inbox’ı okur ve yazar; ekip ayarlarına erişimi yoktur
adminEkip ayarları dahil tam MCP erişimi

OAuth bağlantılarında hangi araçlara erişilebileceğini yetkilendirme sırasında seçilen scope belirler. API token’larında en yüksek erişim düzeyini token’ın rolü belirler.

Workspace seçimi

MCP sunucusu https://picasi.app/mcp adresinde durur, adreste Workspace yoktur.

Oturum açmaWorkspace
API token’ısabit, token’ın Workspace’i; parametre gerekmez
OAuthhesabın tüm Workspace’leri; her çağrı workspace_id ister

OAuth’ta olabilecek değerleri list_workspaces döndürür. workspace_id olmadan çağrı geri çevrilir.


Okuma araçları

Tüm okuma araçları en az read scope’u ister.

search_updates

Updates’i anahtar sözcüklere, kaynaklara, tag’lere ve döneme göre arar.

Gerekli scope: read

ParametreTürAçıklama
queryStringTam metin arama terimi (isteğe bağlı)
source_idStringBelli bir kaynaktan Updates (isteğe bağlı)
tagsArraySüzmek için konu tag’leri (isteğe bağlı)
folderStringinbox, saved ya da dropped (isteğe bağlı)
source_ownershipStringall (varsayılan), own (yalnızca kendi kaynakları) ya da competitor (yalnızca dış kaynaklar)
limitIntegerSonuç sayısı (varsayılan: 20, en çok: 100)

source_ownership filtresi kaynaktaki is_own alanını kullanır. Inbox arayüzündeki sahiplik filtresinin karşılığıdır ve yapay zekâ asistanının hedefli biçimde yalnızca kendi varlığını ya da yalnızca rakipleri görmesini sağlar.


get_update_details

Tek bir Update’in tüm içeriğini döndürür.

Gerekli scope: read

ParametreTürAçıklama
update_idStringUpdate kimliği

list_sources

Workspace’teki tüm kaynakları listeler.

Gerekli scope: read

ParametreTürAçıklama
is_ownBooleantrue = yalnızca kendi kaynakları, false = yalnızca rakipler, boş bırak = tümü

Döndürülen her kaynak is_own alanını içerir, böylece yapay zekâ asistanları ikinci bir istek yapmak zorunda kalmadan kendi varlıklarıyla rakiplerinkini ayırabilir.

Her kanal, birbirinden ayrı tutulması gereken üç alanla gelir:

AlanAnlamı
monitoring_activeKanalın anahtarı: açık ya da kapalı. Sağlık durumu değildir.
stateAlmanın durumu: healthy, degraded, broken, quarantined ya da paused. E-posta kanalları çekilmez, alır; onlar receiving, stale ya da waiting bildirir. null, henüz bir almanın bağlı olmadığı anlamına gelir.
last_checkedSon çekme girişimi, e-posta kanallarında en son alınan ileti.

Tek bir kanalın eksiksiz tanısı için araç get_channel_status’tur.


list_reports

Kullanılabilir Report’ları listeler.

Gerekli scope: read

ParametreTürAçıklama
typeStringsummary, feedback, list, linkedin_post, conversation_starters (isteğe bağlı)
limitIntegerSayı (varsayılan: 10)

get_report

Bir Report’un tüm içeriğini döndürür.

Gerekli scope: read

ParametreTürAçıklama
report_idStringReport kimliği

get_team_context

Workspace’in yapay zekâ bağlamını döndürür: ekip üstverisi (ad, dil, saat dilimi), web sitesi adresi, bağlam belgeleri ve sahiplik yapılandırması.

Gerekli scope: read

Zorunlu parametre yoktur.

Yanıt, context bloğunda şunları içerir:

  • website_url – saklanan kurum adresi
  • is_own_sources_configured – en az bir kaynak kendinin olarak işaretlenir işaretlenmez true
  • own_sources_count – kendi kaynaklarının sayısı

Yapay zekâ asistanları Voice Share ya da Momentum karşılaştırmalarını yalnızca is_own_sources_configured true ise sunmalıdır — yoksa karşılaştırma temeli yoktur.


list_tags

Workspace’teki tüm tag’leri listeler.

Gerekli scope: read

ParametreTürAçıklama
typeStringsources, channels, updates (isteğe bağlı)

get_update_statistics

Updates’i listelemek yerine sayar. search_updates ile aynı filtreleri alır ve 100 sonuçluk üst sınırı yoktur.

Gerekli scope: read

ParametreTürAçıklama
group_byStringsource (varsayılan), source_tag, update_tag, day, week, month, quarter
compare_previous_periodBooleanAynı uzunluktaki önceki dönemi de sayar ve farkı bildirir
queryStringTam metin arama terimi (isteğe bağlı)
source_idStringTek bir kaynakla sınırlar (isteğe bağlı)
source_tagsArrayKaynak tag’leri (isteğe bağlı)
update_tagsArrayKonu tag’leri (isteğe bağlı)
source_ownershipStringall (varsayılan), own ya da competitor
platformStringTek bir platformla sınırlar, örneğin linkedin (isteğe bağlı)
folderArrayinbox, saved; varsayılan ikisidir
daysIntegerGün olarak zaman aralığı, 1 ila 365 (varsayılan: 30)
date_from, date_toStringdays yerine tarih olarak zaman aralığı

Platforma göre gruplama yoktur. Atılan ve taşan Updates sayılmaz.


get_channel_status

Bir kanalın durumunu döndürür: son çekme, son başarı, son hata, art arda başarısızlık sayısı, bir sonraki planlanmış girişim ve bu kanaldan gelen Update sayısı.

Gerekli scope: read

ParametreTürAçıklama
channel_idStringKanal kimliği, include_channels=true ile list_sources’tan

discover_channels

Bir web sitesini inceler ve izlenebilecek kanalları bildirir. Hiçbir şey oluşturmaz.

Gerekli scope: read

ParametreTürAçıklama
urlStringİncelenecek web sitesi (source_id ayarlıysa isteğe bağlı)
source_idStringBu kaynağın web sitesini kullanır ve onda bulunan kanalları imler

list_workspaces

Oturum açmış hesabın Workspace’lerini workspace_id, ad ve rolle listeler.

Gerekli scope: yok; araç her bağlantıya açıktır

Parametre yoktur.


Report araçları

create_report

Bir filtreye uyan Updates’ten bir Report oluşturur. Filtreler search_updates ile aynıdır.

Üretim arka planda çalışır: çağrı hemen bir request_id döndürür. get_report_status nerede olduğunu bildirir, get_report bitmiş Report’u okur.

Gerekli scope: read

ParametreTürAçıklama
typeStringZorunlu. summary, feedback, list ya da conversation_starters
titleStringReport’un adı (isteğe bağlı)
instructionsStringYapay zekâ için odak (isteğe bağlı)
languageStringDil kodu, örneğin de; varsayılan Workspace dilidir
queryStringTam metin arama terimi (isteğe bağlı)
source_idsArrayBu kaynaklarla sınırlar (isteğe bağlı)
source_tagsArrayKaynak tag’leri (isteğe bağlı)
source_tags_modeStringAND ya da OR
update_tagsArrayKonu tag’leri (isteğe bağlı)
update_tags_modeStringAND ya da OR
source_ownershipStringall, own ya da competitor
platformStringTek bir platformla sınırlar (isteğe bağlı)
folderArrayVeri temelinin klasörleri; varsayılan inbox ve saved
daysIntegerGün olarak zaman aralığı, 1 ila 365 (varsayılan: 30)
date_from, date_toStringdays yerine tarih olarak zaman aralığı

get_report_status

create_report ile ısmarlanan bir Report’un nerede olduğunu döndürür.

Gerekli scope: read

ParametreTürAçıklama
request_idStringcreate_report’tan gelen request_id
DurumAnlamı
queuedkuyrukta bekliyor
runningüretiliyor
readybitti; get_report ve report_id ile oku
emptybitti, ama hiçbir Update filtrelere uymadı
failedyarıda kesildi; nedeni yanıttadır

Yazma araçları

Tüm yazma araçları en az write scope’u ister.

create_source

Yeni bir kaynak oluşturur.

Gerekli scope: write

ParametreTürAçıklama
urlStringKaynağın web sitesi adresi
nameStringİç ad
tagsArrayTag kimlikleri (isteğe bağlı)

update_source

Var olan bir kaynağın adını, adresini ya da tag’lerini değiştirir.

Gerekli scope: write

ParametreTürAçıklama
source_idStringKaynak kimliği
nameStringYeni ad (isteğe bağlı)
urlStringYeni adres (isteğe bağlı)

delete_source

Bir kaynağı, tüm kanalları ve Updates’i ile birlikte siler.

Gerekli scope: write

ParametreTürAçıklama
source_idStringKaynak kimliği

create_channel

Elle bir kanal oluşturur.

Gerekli scope: write

ParametreTürAçıklama
source_idStringÜst kaynağın kimliği
urlStringKanal adresi
nameStringKanal adı (isteğe bağlı)

update_channel

Bir kanalın adını ya da açıklamasını değiştirir.

Gerekli scope: write

ParametreTürAçıklama
channel_idStringKanal kimliği
nameStringYeni ad (isteğe bağlı)

delete_channel

Bir kanalı siler.

Gerekli scope: write

ParametreTürAçıklama
channel_idStringKanal kimliği

toggle_channel

Bir kanalı açar ya da kapatır.

Gerekli scope: write

ParametreTürAçıklama
channel_idStringKanal kimliği
activeBooleantrue = etkin, false = etkisiz

create_tag

Yeni bir tag oluşturur.

Gerekli scope: write

ParametreTürAçıklama
nameStringTag adı
typeStringsources, channels ya da updates
descriptionStringYapay zekâ ile tag’leme için açıklama (isteğe bağlı)

update_tag

Bir tag’in adını ya da açıklamasını değiştirir.

Gerekli scope: write

ParametreTürAçıklama
tag_idStringTag kimliği
nameStringYeni ad (isteğe bağlı)
descriptionStringYeni yapay zekâ açıklaması (isteğe bağlı)

update_update_state

Updates’i Workspace klasörleri arasında taşır.

Gerekli scope: write

ParametreTürAçıklama
update_idsArrayUpdate kimlikleri, çağrı başına en çok 100
folderStringinbox, saved ya da dropped

Durum Workspace başına geçerlidir ve Update’in kendisini değiştirmez. Yanıt her kimliği ayrı ayrı bildirir.


tag_update

Var olan konu tag’lerini Updates’e atar.

Gerekli scope: write

ParametreTürAçıklama
update_idsArrayUpdate kimlikleri, çağrı başına en çok 100
tagsArraySlug, kimlik ya da ad olarak tag’ler
modeStringadd (varsayılan) var olan tag’leri korur, replace tam olarak bunları koyar

Yalnızca applies_to = updates olan tag’lere izin verilir; bir kaynak tag’i geri çevrilir. Eksik tag’leri önce create_tag ile oluştur.


untag_update

Konu tag’lerini Updates’ten kaldırır.

Gerekli scope: write

ParametreTürAçıklama
update_idsArrayUpdate kimlikleri, çağrı başına en çok 100
tagsArrayKaldırılacak tag’ler, slug, kimlik ya da ad olarak

Yalnızca bu Workspace’in ataması kaldırılır. Tag’in kendisi kalır.


refresh_source_channels

Var olan bir kaynak için kanal tanımayı yeniden çalıştırır.

Gerekli scope: write

ParametreTürAçıklama
source_idStringKaynak kimliği
create_detectedBooleanfalse (varsayılan) yalnızca bildirir, true eksik kanalları oluşturur

Var olan kanallar iki kez oluşturulmaz; kapatılmış bir kanal var sayılır. Yeni kanallar çekmeye kendiliğinden başlar.


İlgili konular