Tamga MCP Server
by idikuterke
README.md
# ⚡ Tamga AI — Model Context Protocol (MCP) Server
[](https://modelcontextprotocol.io)
[](https://www.python.org/)
[](LICENSE)
[]()
> **Proje İlan Kanıtı (Direct Evidence Document):**
> Bu depo, **"agentic workflows / AI-powered developer tools"** alanındaki yetkinliğin **doğrudan teknik kanıtı** olarak sunulmaktadır. Anthropic Model Context Protocol (MCP) spec v1.0 standardına %100 uyumlu, 5 adet autonom yapay zeka aracını (AI Agent Tools) `stdio` ve `streamable-http` taşıma katmanlarında sunar.
---
## 🏛️ Mimari Şema (Agentic Workflow Architecture)
```mermaid
graph TD
Client[LLM Client / Agentic IDE<br/>Claude Desktop / Cursor / Antigravity] -->|JSON-RPC 2.0 / stdio / HTTP| MCPServer[Tamga MCP Server<br/>mcp_server.py]
subgraph MCP Tool Suite
MCPServer --> T1[1. gokturkce_translate]
MCPServer --> T2[2. gokturkce_decode_text]
MCPServer --> T3[3. gokturkce_verify_image]
MCPServer --> T4[4. gokturkce_render_image]
MCPServer --> T5[5. gokturkce_render_video]
end
T1 --> RuleEngine[Orthography & Vowel Harmony Engine]
T2 --> EDPT[EDPT Etymological Dictionary Index]
T3 --> VisionAI[MobileNetV2 OCR & Line Segmentation]
T4 --> Render3D[Pillow 3D Lighting & Composite Engine]
T5 --> VideoAI[Depth Anything V2 3D Parallax Video Engine]
```
---
## 📋 5 MCP Aracının Detaylı Listesi (Tool Specifications)
Sunucu, LLM Ajanlarının (Claude, GPT-4o, Gemini) harici araç olarak doğrudan çağırabileceği **5 adet tip-güvenli (type-safe) fonksiyon** sunar:
### 1. `gokturkce_translate`
* **Tanım:** Latin harfli Türkçe metni Göktürkçe (Orhun) yazısına çevirir ve Orhun ünlü uyumunu doğrular.
* **Girdiler:**
* `text` (*string*, zorunlu): Çevrilecek metin (ör. `"bodun"`, `"tengri"`, `"turk"`)
* `mode` (*string*, varsayılan `"geleneksel"`): `"geleneksel"` (ünlü düşürme, ligatür ve kalınlık-incelik uyumu kuralları) veya `"modern"` (birebir harf harf)
* **Dönüş:** Göktürkçe Unicode dizisi, harf kırılımları, kod noktaları ve ünlü uyumu doğrulama nesnesi.
* **Anotasyon:** `readOnlyHint=True`, `idempotentHint=True`
### 2. `gokturkce_decode_text`
* **Tanım:** Göktürkçe Unicode metni (`𐰉𐰆𐰑𐰣`) deşifre eder ve Sir Gerard Clauson EDPT (1972) & Vildan Koçoğlu (2006) etimolojik sözlük dizininde sorgular.
* **Girdiler:**
* `text` (*string*, zorunlu): Göktürkçe Unicode metin
* `mode` (*string*, varsayılan `"auto"`): `"geleneksel"`, `"modern"`, `"auto"`
* **Dönüş:** Eşleşen etimolojik kelime adayları, Türkçe karşılıkları ve sözlük referansları.
* **Anotasyon:** `readOnlyHint=True`, `idempotentHint=True`
### 3. `gokturkce_verify_image`
* **Tanım:** Görseldeki Göktürkçe harfleri otomatik çizgi/harf segmentasyonu ve MobileNetV2 yapay zeka sınıflandırıcısı ile doğrular.
* **Girdiler:**
* `image_path_or_base64` (*string*, zorunlu): Yerel dosya yolu (ör. `"outputs/sample.png"`) veya Data URI / Base64 dizesi
* **Dönüş:** Okuma yönü (`rtl`), kelime ve harf kutuları (bounding boxes), tahmin olasılıkları, ünlü uyumu geçerlilik durumu (`overall_valid`).
* **Anotasyon:** `readOnlyHint=True`, `idempotentHint=True`
### 4. `gokturkce_render_image`
* **Tanım:** Göktürkçe metni seçilen doku ve stil üzerinde taşa kazınmış, parşömen, altın varak, neon vb. 3D kompozit efektlerle PNG olarak üretir.
* **Girdiler:**
* `text` (*string*, zorunlu): Görselleştirilecek metin
* `style` (*string*, varsayılan `"plain"`): `"carved"`, `"fircha"`, `"ink_bleed"`, `"stamp"`, `"chalk"`, `"ember"`, `"ash"`, `"stencil"`, `"neon"`, `"parchment"`, `"plain"`
* `texture` (*string*, opsiyonel): `"stone.png"`, `"gold.png"`, `"wood.png"`, `"paper.png"`, `"leather.png"`, `"parchment.png"`, `"neon.png"`
* `size` (*integer*, varsayılan `512`): Piksel çözünürlük
* `degradation` (*float*, varsayılan `0.0`): Yıpranma/eskime oranı (0.0 - 1.0)
* `text_color` (*string*, opsiyonel): Hex renk kodu (ör. `"#FF0000"`)
* `transparent_bg` (*boolean*, varsayılan `false`): Saydam arka plan
* `output_path` (*string*, varsayılan `"rendered_image.png"`): Hedef dosya yolu
* **Dönüş:** Üretilen dosya yolu, boyutlar, renk modu ve başarı mesajı.
* **Anotasyon:** `readOnlyHint=False`, `idempotentHint=False`
### 5. `gokturkce_render_video`
* **Tanım:** Göktürkçe metni seçilen doku stili üzerinde Depth Anything V2 derinlik kestirimi ile 3D Parallax veya kamera hareketli sinematik MP4 videosuna dönüştürür.
* **Girdiler:**
* `text` (*string*, zorunlu): Metin
* `style` (*string*, varsayılan `"plain"`): Stiller
* `texture` (*string*, opsiyonel): Doku görseli
* `motion` (*string*, varsayılan `"parallax"`): `"parallax"`, `"zoom"`, `"pan"`, `"fade"`
* `duration` (*integer*, varsayılan `5`): Saniye cinsinden video süresi (3-10 sn)
* `size` (*integer*, varsayılan `512`): Çözünürlük
* `output_path` (*string*, varsayılan `"rendered_video.mp4"`): MP4 dosya yolu
* **Dönüş:** Video dosya yolu, hareket tipi, süre ve çözünürlük bilgileri.
* **Anotasyon:** `readOnlyHint=False`, `idempotentHint=False`
---
## 💻 İstemci Konfigürasyonu (Claude Desktop & Agentic IDEs)
### Claude Desktop (`claude_desktop_config.json`)
Windows platformunda `%APPDATA%\Claude\claude_desktop_config.json` dosyasına ekleyin:
```json
{
"mcpServers": {
"tamga-gokturkce-assistant": {
"command": "python",
"args": [
"C:\\Users\\pc\\gokturk_studio\\tamga-mcp-server\\mcp_server.py",
"--transport",
"stdio"
]
}
}
}
```
---
## 🌐 Çift Taşıma Protokolü (Dual Transport Modes)
1. **`stdio` Modu (Yerel Ajanlar):**
```bash
python mcp_server.py --transport stdio
```
2. **`streamable-http` / `sse` Modu (Uzaktan / Cloud API):**
```bash
python mcp_server.py --transport streamable-http --host 127.0.0.1 --port 8001
```
> HTTP modunda `X-API-Key` başlığı (`api_keys.json` doğrulaması) ile yetkilendirme sağlanır.
---
## 🧪 Örnek Ajan İstekleri & İstemler (Agent Prompts)
Claude veya Cursor sohbet penceresinden doğrudan verilebilecek örnek komutlar:
- 💬 *"‘bodun’ kelimesini Göktürkçeye çevir, harf analizini yap ve ünlü uyumunu doğrula."*
- 💬 *"‘tengri’ kelimesini taşa kazınmış 3D Parallax efektiyle 'outputs/tengri.mp4' olarak videoya dönüştür."*
- 💬 *"Görseldeki Göktürkçe metni MobileNetV2 ile OCR analizinden geçir ve okunuşunu ver."*
---
## 📄 Lisans
Bu proje **MIT** lisansı ile sunulmaktadır.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues