msteams-mcp
by anielyavuz
README.md
# msteams-mcp: Teams sohbetleri için salt okunur MCP sunucusu (şartname deposu)
Bu depoda **kod yoktur**. Bunun yerine projenin tam şartnamesi vardır: [SPEC.md](SPEC.md).
Şartname, AI asistanının (VS Code Copilot Chat, Claude vb.) kullanıcının **kendi Teams sohbetlerini okuyabilmesi,
son günlerin mesajlarında arama yapabilmesi ve kendisinden bahsedilen mesajları bulabilmesi** için kendi bilgisayarında çalışan, en az yetkiyle ve kullanıcının kendi Entra uygulaması üzerinden çalışan bir
MCP sunucusunun ne olduğunu, neden bu şekilde tasarlandığını ve nasıl yazılacağını anlatır.
*A specification for a small, self-hosted, read-only MCP server for Microsoft Teams chats (delegated permissions,
own Entra app, local stdio or loopback HTTP). This repository contains the spec, not the code: have your coding
agent write it, review it, and run it in your own tenant.*
## Neden kod yerine şartname?
Bu sunucu kuruluşunuzun Teams verisine dokunur. Hazır bir kodu olduğu gibi kurmak yerine:
* kendi Entra uygulama kaydınızla, kendi güvenlik incelemenizle yazdırın,
* her güvenlik kontrolünün testini görün (şartnamede 12 maddelik gereksinim listesi var),
* kuruma özel değerler (tenant, client id) hiçbir yerde paylaşılmasın.
## Nasıl kullanılır?
1. [SPEC.md](SPEC.md) dosyasını boş bir klasöre koyun.
2. Bölüm 2'deki ön koşulları hazırlayın (Entra'da tek tenant uygulama kaydı, `User.Read` ve `Chat.Read` temsilci izinleri).
3. Claude Code'a (tercihen Opus ile) bölüm 13'teki istemi verin. Ajan bölüm 12'deki yapım sırasını adım adım izler.
4. Ortaya çıkan kodu **kendiniz inceleyin**, bölüm 14'teki adımlarla kurun, bölüm 15'teki doğrulama listesini çalıştırın ve
gizli bilgi taraması yapın.
5. Kurulum ve işletim belgelerini de ajan yazar (bölüm 11).
## Ortaya çıkan sunucunun araçları
| Araç | Ne yapar | İzin |
|---|---|---|
| `auth_status` | Hangi hesapla bağlı olunduğu, verilen izinler, token'ın bitiş zamanı | yok |
| `get_current_user` | Giriş yapan kişinin profili | `User.Read` |
| `list_chats` | Sohbetler (birebir, grup, toplantı), üyeler, son mesaj önizlemesi | `Chat.Read` |
| `get_chat_messages` | Bir sohbetin mesajları; tarih, gönderen ve sıra seçenekleri | `Chat.Read` |
| `search_messages` | Son 1 ile 30 gündeki sohbet mesajlarında metin arama | `Chat.Read` |
| `get_my_mentions` | Son 1 ile 30 günde kişiden @ ile bahsedilen mesajlar | `Chat.Read` |
Hepsi salt okunurdur ve yalnızca `/me/...` üzerinden çalışır. Yönetici onayı gerektiren bir izin yoktur.
## Önemli uyarılar
* **Veri, AI istemciniz üzerinden bilgisayarınızdan çıkar.** Teams mesaj metinleri MCP istemcinizin kullandığı AI
modeline (çoğunlukla bir bulut servisi) gönderilir. Kurum verisiyle kullanmadan önce hukuk, KVKK ve BT güvenlik
onayı alın.
* Sunucu yalnızca **kişisel iş istasyonunda, tek kullanıcı için** tasarlanmıştır. Paylaşımlı sunucuda çalıştırmayın.
* Teams verisiyle çalışırken aynı oturumda e-posta, web, dosya yazma ve GitHub gibi dışarı yazabilen MCP
sunucularını kapalı tutun (prompt injection ile veri sızdırma riski).
* Bu şartname bir güvenlik garantisi değildir. Ortaya çıkan kod sizin sorumluluğunuzdadır.
## Lisans
MIT © 2026 Anıl Yavuz. Microsoft ile bağlantılı değildir ve Microsoft tarafından onaylanmamıştır. Microsoft,
Microsoft Teams, Microsoft Entra ve Microsoft Graph, Microsoft şirketler grubunun ticari markalarıdır.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo recent community issues