Finans-Mail-MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Finans-Mail-MCPsearch finans@ mailbox for unpaid invoice emails with attachments"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Outlook MCP Sunucusu
Microsoft 365 posta kutusunu MCP (Model Context Protocol) üzerinden internete açan, tek başına çalışan bir Node servisi. Claude Desktop bu sunucuya bağlanıp posta kutusunda arama yapabilir, mesajları okuyabilir, ekleri indirebilir ve (açıkça izin verilirse) mail gönderebilir.
Ana projeden (parasut-ops-panel) tamamen bağımsızdır: Replit'e özgü hiçbir SDK
kullanmaz, kendi package.json dosyası vardır. Render, Railway, Fly veya yeni bir Replit
projesinde aynen çalışır.
1. Önce şunu bilin: hangi posta kutusuna erişilebilir?
Bu sunucu app-only (client credentials) kimlik doğrulaması kullanır. Microsoft 365 tenant'ında bir ApplicationAccessPolicy hangi kutulara app-only erişilebileceğini sınırlar. Test edilmiş güncel durum:
Posta kutusu | App-only okuma | App-only gönderme |
| ✅ Çalışıyor | ❌ 403 |
| ❌ 403 ( | ❌ 403 |
Yani bu sunucu bulutta bir yerde çalıştığında yalnızca finans@ kutusunu okuyabilir.
omererdogan@ kutusunu da okumak istiyorsanız iki seçenek var:
Tenant yöneticisinden politikayı genişletmesini isteyin. Doğru çözüm budur ve sunucuda hiçbir kod değişikliği gerektirmez. Yöneticinin çalıştıracağı komut (Exchange Online PowerShell):
# Mevcut politikayı gör Get-ApplicationAccessPolicy | Format-List AppId,PolicyScopeGroupId,AccessRight # İzin verilen kullanıcı grubuna omererdogan@ ekleyin (grup adı tenant'a göre değişir) Add-DistributionGroupMember -Identity "<mcp-izinli-kutular-grubu>" ` -Member omererdogan@rsresearch.net # Doğrulama Test-ApplicationAccessPolicy -Identity omererdogan@rsresearch.net -AppId <AZURE_CLIENT_ID>Sonuç
AccessCheckResult: GranteddönerseMCP_MAILBOXESlistesine adresi ekleyip servisi yeniden başlatmanız yeterli.Yalnızca
finans@ile devam edin. Hiçbir şey yapmanıza gerek yok, varsayılan bu.
Gönderme (
MCP_ALLOW_SEND) varsayılan olarak kapalıdır ve açsanız bilefinans@kutusundan app-only gönderim 403 döner. Gönderim gerekiyorsa Azure uygulamasınaMail.SendApplication izni verilmeli, admin onayı alınmalı ve erişim politikası o kutuyu kapsamalıdır.
Related MCP server: Agent Email
2. Araçlar
Araç | Ne yapar |
| Erişilebilen kutuları, varsayılan tarih penceresini ve yazma iznini döner |
| Klasörleri iki seviye derinliğe kadar, |
| E-posta arar (klasör, tarih aralığı, gönderen, alıcı, konu, ek filtresi) |
| Tek mesajın tam gövdesini döner (varsayılan düz metin) |
| Ekleri ad/tür/boyut ile listeler |
| Eki base64 içerikle indirir |
| Mail gönderir — yalnızca |
search_mail hakkında bilmeniz gereken iki şey
a) İki mod vardır ve araç otomatik seçer.
query,toveyasubjectverilirse → metin arama modu (Graph KQL). Bu modda Graph sonuçları alaka düzeyine göre sıralar, tarihe göre değil; tarih sınırı da gün hassasiyetindedir.Yalnızca tarih /
from/hasAttachmentsverilirse → filtre modu. Sonuçlar en yeniden en eskiye sıralanır.
Bu ayrım Graph'ın bir kısıtından geliyor: $search ile $filter ve $orderby aynı
istekte kullanılamaz.
b) Sonuçlar sayfalıdır. Varsayılan tarih penceresi son 730 gün (~2 yıl). Tek
çağrıda en fazla 100 mesaj döner. Devamı için dönen nextCursor değerini bir sonraki
çağrıda cursor parametresine geçirin. Claude bunu kendiliğinden yapar; siz sadece
"devam et" demeniz yeterli.
3. Yerelde çalıştırma
cd mcp-outlook
cp .env.example .env # değerleri doldurun
npm install
npm run build
npm startSağlık kontrolü: curl http://localhost:5000/healthz
MCP_AUTH_TOKEN üretmek için: openssl rand -hex 32
4. Render.com'a kurulum (adım adım)
Render seçilmesinin sebebi: bu Replit projesinin cloud_run dağıtımı askıya alınmış
durumda ve açılması Replit Support gerektiriyor.
Kodu GitHub'a gönderin. Render bir Git reposundan deploy eder. Bu klasörün içeriği kendi başına bir deponun kökü olacak şekilde tasarlandı:
package.json,render.yamlvesrc/doğrudan kökte durmalı. Sarmalayıcı birmcp-outlook/klasörünün içine koymayın — Render blueprint'i yalnızca depo kökünde arar.Yine de daha büyük bir deponun alt klasörü olarak tutmak isterseniz:
render.yamldosyasını depo köküne taşıyın ve içinerootDir: <klasör-adı>satırını ekleyin.Render panelinde
New→Blueprint→ repoyu seçin. Render köktekirender.yamldosyasını okuyup servisi hazırlar.Blueprint kullanmak istemezseniz
New→Web Serviceile elle de kurabilirsiniz:Alan
Değer
Root Directory
(boş bırakın — depo kökü)
Runtime
Node
Build Command
npm ci && npm run buildStart Command
npm startHealth Check Path
/healthzOrtam değişkenlerini girin (Render → servis → Environment):
Anahtar
Değer
AZURE_TENANT_IDAna projedekiyle aynı
AZURE_CLIENT_IDAna projedekiyle aynı
AZURE_CLIENT_SECRETAna projedekiyle aynı
MCP_AUTH_TOKENopenssl rand -hex 32çıktısıMCP_MAILBOXESfinans@rsresearch.netPORTgirmeyin — Render kendisi enjekte eder.Deploy'u bekleyin, sonra doğrulayın:
curl https://<servis-adi>.onrender.com/healthz{"status":"ok",...}görmelisiniz.Planı seçerken dikkat: Render'ın ücretsiz katmanı 15 dakika boştan sonra servisi uyutur; uyandırma 30–60 saniye sürer ve Claude bu sürede zaman aşımına düşebilir. Düzenli kullanacaksanız ücretli (Starter) plan gerekir.
render.yamliçindeplan: starteryazılıdır.
Alternatif: yeni bir Replit projesi
mcp-outlook klasörünü yeni bir Replit projesine kopyalayın, aynı ortam değişkenlerini
Secrets olarak girin (PORT=5000), çalıştırma komutunu npm run build && npm start
yapın ve projeyi Autoscale Deployment olarak yayınlayın. Adres
https://<proje>.replit.app/mcp olur. Adımlar aynıdır.
5. Claude Desktop'a bağlama
claude_desktop_config.json dosyası yalnızca stdio sunucuları kabul eder. Doğrudan
"url": "..." yazarsanız Claude Desktop girdiyi sessizce siler. Bu yüzden mcp-remote
adlı köprüyü kullanıyoruz: Claude Desktop ile stdio, sunucumuzla Streamable HTTP konuşur.
Dosyanın yeri:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
İçerik:
{
"mcpServers": {
"outlook": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://<servis-adi>.onrender.com/mcp",
"--transport",
"http-only",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer BURAYA_MCP_AUTH_TOKEN"
}
}
}
}Üç ayrıntı önemli:
Authorization:${AUTH_HEADER}ifadesinde iki nokta üst üste sonrasında boşluk yoktur. Claude Desktop argümanlardaki boşlukları bozar; bu yüzden token'ıenviçine koyup değişken olarak enjekte ediyoruz.Bearerkelimesienvdeğerinin içindedir.--transport http-onlyşart: bu sunucu stateless çalışır, SSE akışı sunmaz. Bu bayrak olmadanmcp-remoteönce SSE deneyip gereksiz yere bekler.Node 18+ kurulu olmalı (
npxbunun için gerekli).
Kaydedin ve Claude Desktop'ı tamamen kapatıp yeniden açın. Ayarlar → Connectors
altında outlook görünmeli ve araçlar listelenmelidir.
Deneyin: "finans kutusunda son 6 ayda gönderilen, konusunda fatura geçen mailleri listele."
Claude.ai (tarayıcı) veya mobil uygulama
Web arayüzündeki "Custom Connector" özelliği bearer token değil OAuth 2.0 bekler.
Bu sunucu OAuth uygulamaz, dolayısıyla Claude.ai üzerinden doğrudan bağlanamazsınız.
Masaüstü uygulaması + mcp-remote yolunu kullanın.
6. Güvenlik
MCP_AUTH_TOKENbir paroladır. Onu bilen herkesMCP_MAILBOXESlistesindeki kutuların tamamını okuyabilir. Sohbete, ekran görüntüsüne veya repoya yazmayın.MCP_MAILBOXESbir güvenlik sınırıdır. Azure app-only token teknik olarak tenant'taki her kutuya erişebilir; sunucu her istekte gelen adresi bu listeye karşı doğrular ve listede olmayanı reddeder. Listeyi dar tutun.Yazma varsayılan olarak kapalıdır.
MCP_ALLOW_SEND=trueyapmadıkçasend_mailaracı Claude'a hiç gösterilmez.Token'ı değiştirmeniz gerekirse Render'da değeri güncelleyin, servisi yeniden başlatın ve
claude_desktop_config.jsoniçindeki değeri de güncelleyin.
7. Sorun giderme
Belirti | Sebep ve çözüm |
| Token yanlış veya |
| Kutu app-only erişime kapalı. Bölüm 1'deki tabloya ve PowerShell adımlarına bakın. |
| Arama metninde tırnak/parantez vardı. Sunucu bunları temizler; görüyorsanız sürüm eskidir, yeniden derleyin. |
Claude Desktop'ta sunucu görünmüyor | Config'e |
İlk istek zaman aşımına uğruyor | Render ücretsiz katmanı servisi uyutmuş. Starter plana geçin veya bir kez |
| Çok hızlı sayfalama yapıldı. Kısa bir süre bekleyip devam edin. |
Sonuçlar tarih sırasında değil | Metin arama modundasınız ( |
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityAmaintenanceA production-ready MCP server that provides secure, delegated access to Microsoft 365 services including Email, SharePoint, OneDrive, and Calendar. It enables AI models to search messages, browse files, manage calendar events, and parse document contents using OAuth 2.1 authentication.MIT
- Alicense-qualityAmaintenanceAn open-source MCP server that provides AI agents with secure access to read, search, and manage emails via Microsoft 365 and Gmail. It features security-first defaults like recipient allowlists and markdown content conversion to facilitate safe agent interaction with mailboxes.4Apache 2.0
- FlicenseAqualityDmaintenanceA lightweight MCP server for personal Microsoft Outlook/Hotmail accounts, enabling email search, reading, attachment management, and folder operations via Microsoft Graph API with OAuth device-code flow.61
- Flicense-qualityBmaintenanceRemote MCP server for ChatGPT workspace agents to access Microsoft 365 mailboxes, enabling listing, searching, reading, and sending emails with per-agent mailbox isolation.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Hosted email MCP for AI agents with inboxes, send/receive, memory, recovery, and credits.
Read, search, send, organize, draft and schedule email across your inboxes from any MCP client.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/OAE-Istanbul/Finans-Mail-MCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server