Türkçe İçerik Analiz MCP Sunucusu
Bu proje, MCP (Model Context Protocol) sunucusu ile n8n üzerinde çalışan bir otomasyon iş akışını birleştirir. Kullanıcı bir URL gönderdiğinde:
firecrawl_scrapeile sayfanın içeriği markdown olarak çekilir,- MCP Python aracı
analyze_turkish_contentile Türkçe metin analiz edilir, - Özet, istatistikler ve görseller işlenir,
- Sonuçlar HTML e‑posta raporu olarak gönderilir.
Proje Dizini
mcp_server.py
Türkçe içerik analizi yapan MCP sunucusu. - analyze_turkish_content adlı tool'u tanımlar. - Google Gemini ile Türkçe özet üretir (opsiyonel, API varsa). - Kelime frekansı, kelime bulutu (wordcloud_base64) ve frekans grafiği (chart_base64) üretir.
n8n/mcp_python_result_parser.js
n8n Code node'unda kullanılan yardımcı fonksiyon. - Fonksiyon: parseMcpPythonResult($input) - Amaç: intermediateSteps içinden MCP PYTHON çıktısını bulur, - summary, - top_words, - stats, - wordcloud_base64, chart_base64 alanlarını çıkarır ve n8n için json + binary döndürür.
n8n/email_report_template.html
n8n Send Email node'unda kullanılan HTML şablonu. - Özet, istatistikler ve CID ile eklenen görselleri (cid:wordcloud, cid:chart) gösterir.
n8n/ai_agent_system_prompt.md
n8n AI Agent node'u için system prompt. - Agent'ın firecrawl + MCP PYTHON toollarını sırasıyla kullanmasını tarif eder.
Kurulum
1. Python ortamı
cd mcp_project_server
python -m venv myenv
myenv\Scripts\activate # Windows
pip install -r requirements.txt # Yoksa, mcp_server.py içindeki import'lara göre paketleri kurGerekli başlıca paketler:
fastmcp/mcp(MCP server için)uvicorn,starlettehttpx,requestsbeautifulsoup4Pillowwordcloudmatplotlib
2. Ortam değişkenleri
Kök dizine bir .env dosyası oluşturun:
GOOGLE_API_KEY=YOUR_GEMINI_API_KEY
GEMINI_MODEL=gemini-2.5-flashGOOGLE_API_KEY yoksa, sunucu yine çalışır; sadece LLM tabanlı özet üretimi devre dışı kalır ve klasik kelime-frekans özetine geri düşer.3. MCP sunucusunu çalıştırma
myenv\Scripts\activate
python mcp_server.pySunucu varsayılan olarak http://localhost:8000/sse üzerinden SSE ile dinler.
n8n Entegrasyonu
1. MCP sunucusunu n8n'e bağlama
- n8n içinde MCP Client (executeTool) node'unu ekleyin.
- MCP sunucusu ayarlarında SSE endpoint'ini
http://host.docker.internal:8000/sse(Docker içinde) veyahttp://localhost:8000/sse(lokal) olarak yapılandırın. - Bu node üzerinden
analyze_turkish_contenttool'unu çağırabilirsiniz.
2. AI Agent system prompt
n8n/ai_agent_system_prompt.md dosyasındaki metni:
- n8n AI Agent node'unda
System promptalanına kopyalayın. - Agent, kullanıcı bir URL verdiğinde:
- Önce firecrawl_scrape (firecrawl MCP sunucusu) ile markdown çeker, - Sonra analyze_turkish_content (MCP PYTHON) aracını çağırır, - Sonuç JSON'unu bir sonraki node'a iletir.
3. MCP sonucu parse eden Code node
- AI Agent node'unun çıktısını bir Code node'una bağlayın.
- Code node dilini JavaScript olarak seçin.
n8n/mcp_python_result_parser.jsiçeriğini alın ve Code node'a yapıştırın.- En alta sadece şu satırı ekleyin:
return parseMcpPythonResult($input);Bu node'un çıktısı:
json.summaryjson.statsjson.top_wordsbinary.wordcloud(image/jpeg)binary.chart(image/jpeg)
olarak oluşur ve e‑posta node'una direkt bağlanabilir.
4. HTML e‑posta raporu
- Bir Send Email node'u ekleyin.
Content typeolarak HTML seçin.n8n/email_report_template.htmliçeriğini HTML alanına yapıştırın.- Attachments / Binary bölümünde:
- wordcloud ve chart binary alanlarını seçin, - CID değerlerini sırasıyla wordcloud ve chart yapın. (Şablonda src="cid:wordcloud" ve src="cid:chart" kullanıldığı için.)
Özet Akış
- Kullanıcı chat üzerinden bir URL gönderir.
- AI Agent:
- firecrawl_scrape ile sayfayı markdown olarak çeker, - analyze_turkish_content ile metni analiz ettirir.
- Code node (
parseMcpPythonResult) MCP çıktısını parçalar ve görselleri binary'ye çevirir. - Send Email node'u
email_report_template.htmlile şık bir rapor gönderir.
Bu yapı, özellikle Türkçe haber / blog içeriklerinin otomatik analizi ve raporlanması için optimize edilmiştir.
