HamdiOzkurt/Turkish-Content-Automation
If you are the rightful owner of Turkish-Content-Automation and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The project integrates an MCP server with n8n to automate Turkish content analysis and reporting.
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.