Slack Çalışma Alanları için en güçlü MCP sunucusu.
Claude Desktop config.json'a ekle
{
"mcpServers": {
"korotovsky-slack-mcp-server": {
"command": "node",
"args": [
"~/.mcp/slack-mcp-server/index.js"
]
}
}
} Kaynak kodu al ve yerel olarak çalıştır
git clone https://github.com/korotovsky/slack-mcp-server.git ~/.mcp/slack-mcp-server
cd ~/.mcp/slack-mcp-server Slack Workspaces için Model Context Protocol (MCP) sunucusu. En güçlü MCP Slack sunucusu — Stdio, SSE ve HTTP taşımasını destekler, proxy ayarları, DM'ler, Grup DM'leri, Akıllı Geçmiş getirme (tarih veya sayıya göre), OAuth aracılığıyla veya Workspace'te tam gizlilik modunda hiçbir izin ve kapsam olmadan çalışabilir 😏.
[!IMPORTANT]
Desteğinize ihtiyacımız var! Her ay, 30.000'den fazla mühendis bu depoya ziyaret ediyor ve 9.000'den fazlası zaten kullanıyor.Eğer katkıda bulunanlarımızın bu projeye yaptığı çalışmayı beğendiyseniz, lütfen depoya bir yıldız vermeyi düşünün.
Bu özellik açısından zengin Slack MCP Server'ı şunları içerir:
#Name @Lookup: Kanallardan ve threadlerden mesajları getirin (aktivite mesajları da dahil), ve kanalları ad (örneğin, #general) ve kimlik (ID) kullanarak bulun.conversations_add_message aracı güvenlik için varsayılan olarak devre dışıdır. Bir ortam değişkeni aracılığıyla etkinleştirin, isteğe bağlı kanal kısıtlamaları ile.

Kanal (veya DM) dan channel_id ile mesajları alın, yanıtın son satır/sütunu pagination için 'cursor' parametresi olarak kullanılır (boş değilse)
channel_id (string, gerekli): Cxxxxxxxxxx formatındaki kanal kimliği veya #... veya @... ile başlayan adı (#general veya @username_dm gibi).include_activity_messages (boolean, varsayılan: false): True ise, yanıt channel_join veya channel_leave gibi aktivite mesajlarını içerecektir. Varsayılan boolean false'tur.cursor (string, opsiyonel): Pagination için imleç. Önceki istekten döndürülen next_cursor alanı olarak yanıtın son satır ve sütunun değerini kullanın.limit (string, varsayılan: "1d"): Getirin mesajların sınırı (örneğin 1d - 1 gün, 1w - 1 hafta, 30d - 30 gün, 90d - 90 gün varsayılan sınır free tier geçmiş) veya mesaj sayısı (örneğin 50) formatında. 'cursor' sağlandığında boş olmalıdır.channelID ve thread_ts tarafından bir konuşmaya yayınlanan bir thread'in mesajlarını alın, yanıtın son satır/sütunu pagination için cursor parametresi olarak kullanılır (boş değilse).
channel_id (string, gerekli): Cxxxxxxxxxx formatındaki kanal kimliği veya #... veya @... ile başlayan adı (#general veya @username_dm gibi).thread_ts (string, gerekli): Thread'in üst mesajı veya thread'deki bir mesajın benzersiz tanımlayıcısı. ts, 0 veya daha fazla yanıtı olan mevcut bir mesajın 1234567890.123456 formatındaki timestamp olmalıdır.include_activity_messages (boolean, varsayılan: false): True ise, yanıt channel_join veya channel_leave gibi aktivite mesajlarını içerecektir. Varsayılan boolean false'tur.cursor (string, opsiyonel): Pagination için imleç. Önceki istekten döndürülen next_cursor alanı olarak yanıtın son satır ve sütunun değerini kullanın.limit (string, varsayılan: "1d"): Getirin mesajların sınırı (örneğin 1d - 1 gün, 1w - 1 hafta, 30d - 30 gün, 90d - 90 gün varsayılan sınır free tier geçmiş) veya mesaj sayısı (örneğin 50) formatında. 'cursor' sağlandığında boş olmalıdır.channel_id ve thread_ts tarafından ortak kanala, özel kanala veya doğrudan mesaj (DM, veya IM) konuşmasına mesaj ekleyin.
Not: Mesaj yayınlama güvenlik için varsayılan olarak devre dışıdır. Etkinleştirmek için
SLACK_MCP_ADD_MESSAGE_TOOLortam değişkenini ayarlayın. Kanal kimliklerinin virgülle ayrılmış bir listesine ayarlanırsa, yayınlama yalnızca bu belirli kanallar için etkinleştirilir. Ayrıntılar için aşağıdaki Ortam Değişkenleri bölümüne bakın.
channel_id (string, gerekli): Cxxxxxxxxxx formatındaki kanal kimliği veya #... veya @... ile başlayan adı (#general veya @username_dm gibi).thread_ts (string, opsiyonel): Thread'in üst mesajı veya thread'deki bir mesajın benzersiz tanımlayıcısı. thread_ts, 0 veya daha fazla yanıtı olan mevcut bir mesajın 1234567890.123456 formatındaki timestamp olmalıdır. Opsiyonel, sağlanmamışsa mesaj kanalın kendisine eklenecek, aksi takdirde thread'e eklenecektir.payload (string, gerekli): Belirtilen content_type formatında mesaj yükü. Örnek: text/plain için 'Merhaba, dünya!' veya text/markdown için '# Merhaba, dünya!'.content_type (string, varsayılan: "text/markdown"): Mesajın içerik türü. Varsayılan 'text/markdown'tür. İzin verilen değerler: 'text/markdown', 'text/plain'.Filtreleri kullanarak ortak kanala, özel kanala veya doğrudan mesaj (DM, veya IM) konuşmasında mesajları arayın. Tüm filtreler opsiyoneldir, sağlanmamışsa search_query gereklidir.
Not: Bu araç bot tokenları (
xoxb-*) kullanırken kullanılamaz. Bot tokenlarısearch.messagesAPI'sini kullanamaz.
search_query (string, opsiyonel): Mesajları filtrelemek için arama sorgusu. Örnek: 'pazarlama raporu' veya tam Slack mesaj URL'si örneğin 'https://slack.com/archives/C1234567890/p1234567890123456', daha sonra araç verilen URL ile eşleşen tek bir mesaj döndürecek, diğer tüm parametreler yoksayılacak.filter_in_channel (string, opsiyonel): Kimlik veya ad ile belirli bir kanaldaki mesajları filtreleyin. Örnek: C1234567890 veya #general. Sağlanmamışsa, tüm kanallar aranacaktır.filter_in_im_or_mpim (string, opsiyonel): Kimlik veya ad ile doğrudan mesaj (DM) veya çok kişili doğrudan mesaj (MPIM) konuşmasında mesajları filtreleyin. Örnek: D1234567890 veya @username_dm. Sağlanmamışsa, tüm DM'ler ve MPIM'ler aranacaktır.filter_users_with (string, opsiyonel): Kimlik veya görünen ad ile belirli bir kullanıcıyla threadler ve DM'lerde mesajları filtreleyin. Örnek: U1234567890 veya @username. Sağlanmamışsa, tüm threadler ve DM'ler aranacaktır.filter_users_from (string, opsiyonel): Kimlik veya görünen ad ile belirli bir kullanıcıdan mesajları filtreleyin. Örnek: U1234567890 veya @username. Sağlanmamışsa, tüm kullanıcılar aranacaktır.filter_date_before (string, opsiyonel): Belirli bir tarihten önce gönderilen mesajları YYYY-MM-DD formatında filtreleyin. Örnek: 2023-10-01, July, Yesterday veya Today. Sağlanmamışsa, tüm tarihler aranacaktır.filter_date_after (string, opsiyonel): Belirli bir tarihten sonra gönderilen mesajları YYYY-MM-DD formatında filtreleyin. Örnek: 2023-10-01, July, Yesterday veya Today. Sağlanmamışsa, tüm tarihler aranacaktır.filter_date_on (string, opsiyonel): Belirli bir tarihte gönderilen mesajları YYYY-MM-DD formatında filtreleyin. Örnek: 2023-10-01, July, Yesterday veya Today. Sağlanmamışsa, tüm tarihler aranacaktır.filter_date_during (string, opsiyonel): Belirli bir dönem içinde gönderilen mesajları YYYY-MM-DD formatında filtreleyin. Örnek: July, Yesterday veya Today. Sağlanmamışsa, tüm tarihler aranacaktır.filter_threads_only (boolean, varsayılan: false): True ise, yanıt yalnızca threadlerden mesajlar içerecektir. Varsayılan boolean false'tur.cursor (string, varsayılan: ""): Pagination için imleç. Önceki istekten döndürülen next_cursor alanı olarak yanıtın son satır ve sütunun değerini kullanın.limit (number, varsayılan: 20): Döndürülecek maksimum öğe sayısı. 1 ile 100 arasında bir tamsayı olmalıdır.Kanal listesi alın
channel_types (string, gerekli): Virgülle ayrılmış kanal türleri. İzin verilen değerler: mpim, im, public_channel, private_channel. Örnek: public_channel,private_channel,imsort (string, opsiyonel): Sıralama türü. İzin verilen değerler: popularity - her kanaldaki üye/katılımcı sayısına göre sırala.limit (number, varsayılan: 100): Döndürülecek maksimum öğe sayısı. 1 ile 1000 arasında bir tamsayı olmalıdır (maksimum 999).cursor (string, opsiyonel): Pagination için imleç. Önceki istekten döndürülen next_cursor alanı olarak yanıtın son satır ve sütunun değerini kullanın.Ortak kanala, özel kanala veya doğrudan mesaj (DM, veya IM) konuşmasındaki bir mesaja emoji tepkisi ekleyin.
Not: Tepki ekleme güvenlik için varsayılan olarak devre dışıdır. Etkinleştirmek için
SLACK_MCP_REACTION_TOOLortam değişkenini ayarlayın. Kanal kimliklerinin virgülle ayrılmış bir listesine ayarlanırsa, tepkiler yalnızca bu belirli kanallar için etkinleştirilir. Ayrıntılar için aşağıdaki Ortam Değişkenleri bölümüne bakın.
channel_id (string, gerekli): Cxxxxxxxxxx formatındaki kanal kimliği veya #... veya @... ile başlayan adı (#general veya @username_dm gibi).timestamp (string, gerekli): Tepki eklemek için mesajın timestamp'i, 1234567890.123456 formatında.emoji (string, gerekli): Tepki olarak eklenecek emojinin adı (iki nokta olmadan). Örnek: thumbsup, heart, rocket.Ortak kanala, özel kanala veya doğrudan mesaj (DM, veya IM) konuşmasındaki bir mesajdan emoji tepkisini kaldırın.
Not: Tepki kaldırma
reactions_addile aynı izin modelini izler. Etkinleştirmek içinSLACK_MCP_REACTION_TOOLortam değişkenini ayarlayın.
channel_id (string, gerekli): Cxxxxxxxxxx formatındaki kanal kimliği veya #... veya @... ile başlayan adı (#general veya @username_dm gibi).timestamp (string, gerekli): Tepkiyi kaldırmak için mesajın timestamp'i, 1234567890.123456 formatında.emoji (string, gerekli): Tepki olarak kaldırılacak emojinin adı (iki nokta olmadan). Örnek: thumbsup, heart, rocket.Ad, e-posta veya görünen adla kullanıcı arayın. Kullanıcı ayrıntılarını ve varsa DM kanal kimliğini döndürür.
Not: OAuth tokenları (
xoxp/xoxb) için, bu araç yerel kullanıcı önbelleğini desen eşleştirmesi kullanarak arar. Tarayıcı oturum tokenları (xoxc/xoxd) için, gerçek zamanlı arama için Slack edge API'sini kullanır.
Parametreler:
query (string, gerekli): Arama sorgusu - gerçek ad, görünen ad, kullanıcı adı veya e-postaya karşı eşleşir.limit (number, varsayılan: 10): Döndürülecek maksimum sonuç sayısı (1-100).Döner: Şu alanları içeren CSV:
UserID: Kullanıcı kimliği (örneğin, U1234567890)UserName: Slack kullanıcı adıRealName: Kullanıcının gerçek adıDisplayName: Kullanıcının görünen adıEmail: Kullanıcının e-posta adresiTitle: Kullanıcının iş unvanıDMChannelID: Önbellekte varsa DM kanal kimliği (hızlı mesajlaşma için)Workspace'teki tüm kullanıcı gruplarını (subteams) listeleyin.
Parametreler:
include_users (boolean, varsayılan: false): Her gruptaki kullanıcı kimliklerinin listesini dahil edin.include_count (boolean, varsayılan: true): Her grup için kullanıcı sayısını dahil edin.include_disabled (boolean, varsayılan: false): Devre dışı/arşivlenen grupları dahil edin.Döner: Şu alanları içeren CSV: id, name, handle, description, user_count, is_external
Gerekli OAuth kapsamları:
usergroups:read
Workspace'te yeni bir kullanıcı grubu oluşturun.
Parametreler:
name (string, gerekli): Kullanıcı grubunun adı (örneğin, "Mühendislik Takımı").handle (string, opsiyonel): @ olmadan bahsedilecek handle (örneğin, "engineering"). Sağlanmamışsa, Slack otomatik olarak bir tane oluşturacaktır.description (string, opsiyonel): Grubun amacı veya açıklaması.channels (string, opsiyonel): Grup bahsetmelerinin vurgulanacağı varsayılan kanallar için virgülle ayrılmış kanal kimliği.Döner: Oluşturulan grup ayrıntılarını içeren JSON (id, name, handle, description)
Gerekli OAuth kapsamları:
usergroups:write
Mevcut bir kullanıcı grubunun meta verilerini güncelleyin.
Parametreler:
usergroup_id (string, gerekli): Kullanıcı grubu kimliği (örneğin, "S1234567890").name (string, opsiyonel): Grup için yeni ad.handle (string, opsiyonel): Yeni bahsedilecek handle.description (string, opsiyonel): Yeni açıklama.channels (string, opsiyonel): Yeni varsayılan kanallar (virgülle ayrılmış kimlikler). Bu mevcut varsayılan kanalları değiştirir.Döner: Güncellenmiş grup ayrıntılarını içeren JSON
Gerekli OAuth kapsamları:
usergroups:write
Bir kullanıcı grubunun üyelerini güncelleyin. Bu tüm mevcut üyeleri değiştirir.
Parametreler:
usergroup_id (string, gerekli): Kullanıcı grubu kimliği (örneğin, "S1234567890").users (string, gerekli): Üyeler olarak ayarlanacak virgülle ayrılmış kullanıcı kimlikleri (örneğin, "U123,U456,U789").Döner: Yeni kullanıcı listesi de dahil olmak üzere güncellenmiş grup ayrıntılarını içeren JSON
Gerekli OAuth kapsamları:
usergroups:write
Kullanıcı grubu üyeliğini yönetin: içinde olduğunuz grupları listeleyin, bir gruba katılın veya bir gruptan ayrılın.
Parametreler:
action (string, gerekli): Gerçekleştirilecek eylem - gruplarınızı görmek için list, eklemek için join, kaldırmak için leave.usergroup_id (string, opsiyonel): Kullanıcı grubu kimliği (örneğin, "S1234567890"). join ve leave eylemleri için gerekli.Döner:
list için: Üyesi olduğunuz grupları içeren CSVjoin/leave için: Sonuç mesajını ve güncellenmiş grup bilgisini içeren JSONGerekli OAuth kapsamları:
usergroups:read(list için),usergroups:read+usergroups:write(join/leave için)
Tüm kanallar arasında okunmamış mesajları verimli bir şekilde alın. Okunmamış mesajları olan kanalları tanımlamak için tek bir API çağrısı kullanır, ardından yalnızca bu mesajları getirir. Sonuçlar önceliklendirilir: DM'ler > partner kanalları (Slack Connect) > dahili kanallar.
Not: Bu araç tarayıcı oturum tokenları (
xoxc/xoxd) ile en iyi şekilde çalışır, bunlar verimliclient.countsAPI'sini kullanır. Standart OAuth tokenları (xoxp) için,conversations.infokullanan bir fallback yöntemi kullanılır, bu da kanal başına bir API çağrısı gerektirir ve büyük workspaces için daha yavaş olabilir. Bot tokenları (xoxb) ile kullanılamaz.
include_messages (boolean, varsayılan: true): True ise, gerçek okunmamış mesajları döndürür. False ise, yalnızca okunmamış kanalların bir özetini döndürür.channel_types (string, varsayılan: "all"): Kanal türüne göre filtreleyin: all, dm (doğrudan mesajlar), group_dm (grup DM'leri), partner (harici olarak paylaşılan kanallar), internal (düzenli workspace kanalları).max_channels (number, varsayılan: 50): Okunmamış mesajları getirin maksimum kanal sayısı.max_messages_per_channel (number, varsayılan: 10): Kanal başına getirilecek maksimum mesaj sayısı.mentions_only (boolean, varsayılan: false): True ise, yalnızca @mention'ınız olan kanalları döndürür. Not: Bu filtre yalnızca tarayıcı tokenları ile çalışır; OAuth tokenları tüm okunmamış kanalları döndürecektir.Bir kanalı veya DM'yi okundu olarak işaretleyin.
Not: Mesajları okundu olarak işaretleme güvenlik için varsayılan olarak devre dışıdır. Etkinleştirmek için
SLACK_MCP_MARK_TOOLortam değişkeninitrueveya1olarak ayarlayın. Ayrıntılar için aşağıdaki Ortam Değişkenleri bölümüne bakın.
channel_id (string, gerekli): Cxxxxxxxxxx formatındaki kanal kimliği veya #... veya @... ile başlayan adı (örneğin, #general, @username).ts (string, opsiyonel): Kadar okundu olarak işaretlenecek mesajın timestamp'i. Sağlanmamışsa, tüm mesajları okundu olarak işaretler.Slack'in "Daha Sonra Kaydet" panelinden kaydedilmiş öğeleri listeleyin. Kullanıcının kaydettiği öğeleri, isteğe bağlı mesaj içeriği ile döndürür. Bu, amortismana uğrayan stars.list API'sini değiştirir (changelog).
Not: Bu araç tarayıcı oturum tokenları (
xoxc/xoxd) gerektirir. Standart OAuth (xoxp) veya bot (xoxb) tokenları ile kullanılamaz.
filter (string, varsayılan "saved"): Kaydedilmiş öğeleri filtreleyin: "saved" (aktif/devam eden), "completed" (yapıldı olarak işaretlendi), "archived".limit (number, varsayılan 50): Döndürülecek maksimum öğe sayısı. Otomatik olarak sayfalandırır.include_messages (boolean, varsayılan true): True ise, gerçek kaydedilmiş mesaj içeriğini getirir. False ise, yalnızca meta verileri döndürür.max_messages_per_item (number, varsayılan 5): Kaydedilmiş öğe başına getirilecek maksimum mesaj sayısı (thread yanıtları için).Kaydedilmiş öğeyi güncelleyin: tamamlandı olarak işaretleyin, son tarih/hatırlatıcı ayarlayın veya her ikisini de. saved_list çıktısından item_id ve ts değerlerini kullanın. Bu, amortismana uğrayan stars.add/stars.remove API'lerini değiştirir.
Not: Bu araç tarayıcı oturum tokenları (
xoxc/xoxd) gerektirir. Standart OAuth (xoxp) veya bot (xoxb) tokenları ile kullanılamaz.
item_id (string, gerekli): Kaydedilmiş mesajın yaşadığı kanal/DM kimliği (saved_list çıktısından).ts (string, gerekli): Kaydedilmiş öğenin mesaj timestamp'i (saved_list çıktısından).mark (string, opsiyonel): Öğeyi yapıldı olarak işaretlemek için "completed" olarak ayarlayın.date_due (number, opsiyonel): Son tarih/hatırlatıcı için Unix timestamp. Temizlemek için 0 olarak ayarlayın."Daha Sonra Kaydet" panelinden tüm tamamlanmış kaydedilmiş öğeleri temizleyin. Bu, state="completed" olan tüm öğeleri kaldıran toplu bir işlemdir.
Not: Bu araç tarayıcı oturum
Inbox Zero için bir MCP sunucusu. Gmail üzerinde yanıtlamanız gereken veya takip etmeniz gereken e-postaları bulma gibi işlevler ekler.
WhatsApp mesajlarınızda arama yapmanızı, kişilerinizi görüntülemenizi ve bireysel ya da grup sohbetlerine mesaj göndermenizi sağlayan bir MCP sunucusu.
Telegram API entegrasyonu ile kullanıcı verilerine erişim, diyalogları (sohbetler, kanallar, gruplar) yönetme, mesajları alma ve gönderme, okundu durumunu takip etme olanakları sunur.
Microsoft Office ve Microsoft 365 ekosisteminin tamamına (Outlook, mail, dosyalar, Excel, takvim) Graph API üzerinden bağlanan MCP sunucusu.
LINE Resmi Hesabı Entegrasyonu için MCP Server
Tarayıcı tabanlı toplantı platformlarıyla (Zoom, Teams, Google Meet) etkileşim kurmak için MCP server. AI ajanlarının çevrimiçi toplantılara bot göndermesine, canlı transkriptleri toplamasına, metni seslendirmesine ve toplantı sohbetinde mesaj göndermesine olanak tanır.