使用说明
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_contentadlı 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ç:
intermediateStepsiç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.
- Fonksiyon:
-
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.
- Özet, istatistikler ve CID ile eklenen görselleri (
-
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 kur
Gerekli 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-flash
GOOGLE_API_KEYyoksa, 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.py
Sunucu 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.
- Önce
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:
wordcloudvechartbinary alanlarını seçin,- CID değerlerini sırasıyla
wordcloudvechartyapın.
(Şablondasrc="cid:wordcloud"vesrc="cid:chart"kullanıldığı için.)
Özet Akış
- Kullanıcı chat üzerinden bir URL gönderir.
- AI Agent:
firecrawl_scrapeile sayfayı markdown olarak çeker,analyze_turkish_contentile 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.
