Turkish-Content-Automation

HamdiOzkurt/Turkish-Content-Automation

3.2

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.

Tools
1
Resources
0
Prompts
0

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_scrape ile sayfanın içeriği markdown olarak çekilir,
  • MCP Python aracı analyze_turkish_content ile 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 kur

Gerekli başlıca paketler:

  • fastmcp / mcp (MCP server için)
  • uvicorn, starlette
  • httpx, requests
  • beautifulsoup4
  • Pillow
  • wordcloud
  • matplotlib

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_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.py

Sunucu varsayılan olarak http://localhost:8000/sse üzerinden SSE ile dinler.


n8n Entegrasyonu

1. MCP sunucusunu n8n'e bağlama

  1. n8n içinde MCP Client (executeTool) node'unu ekleyin.
  2. MCP sunucusu ayarlarında SSE endpoint'ini http://host.docker.internal:8000/sse (Docker içinde) veya http://localhost:8000/sse (lokal) olarak yapılandırın.
  3. Bu node üzerinden analyze_turkish_content tool'unu çağırabilirsiniz.

2. AI Agent system prompt

n8n/ai_agent_system_prompt.md dosyasındaki metni:

  • n8n AI Agent node'unda System prompt alanı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

  1. AI Agent node'unun çıktısını bir Code node'una bağlayın.
  2. Code node dilini JavaScript olarak seçin.
  3. n8n/mcp_python_result_parser.js içeriğini alın ve Code node'a yapıştırın.
  4. En alta sadece şu satırı ekleyin:
return parseMcpPythonResult($input);

Bu node'un çıktısı:

  • json.summary
  • json.stats
  • json.top_words
  • binary.wordcloud (image/jpeg)
  • binary.chart (image/jpeg)

olarak oluşur ve e‑posta node'una direkt bağlanabilir.

4. HTML e‑posta raporu

  1. Bir Send Email node'u ekleyin.
  2. Content type olarak HTML seçin.
  3. n8n/email_report_template.html içeriğini HTML alanına yapıştırın.
  4. 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ış

  1. Kullanıcı chat üzerinden bir URL gönderir.
  2. AI Agent:
    • firecrawl_scrape ile sayfayı markdown olarak çeker,
    • analyze_turkish_content ile metni analiz ettirir.
  3. Code node (parseMcpPythonResult) MCP çıktısını parçalar ve görselleri binary'ye çevirir.
  4. Send Email node'u email_report_template.html ile şık bir rapor gönderir.

Bu yapı, özellikle Türkçe haber / blog içeriklerinin otomatik analizi ve raporlanması için optimize edilmiştir.