manim-mcp-rag
by oktaycosar
README.md
ο»Ώ# Manim MCP β DeepSeek Only
> **Altin Kural:** Sadece DeepSeek. Baska hicbir LLM provider YOK.
> OpenAI SDK β DeepSeek endpoint. Google Gemini, OpenAI, Claude import edilmez.
Manim ile matematik animasyonlari ureten MCP sunucusu. DeepSeek LLM + **ChromaDB tabanli RAG** ile ilgili Manim kod orneklerini getirip, kullanici istedigi animasyonu uretir ve render eder.
## Ozellikler
- π¬ **Manim Community animasyon uretimi** (DeepSeek `deepseek-chat` / `deepseek-reasoner`)
- π§ **ChromaDB tabanli RAG** β vektor arama ile ilgili kod orneklerini getirir
- π **Coklu kaynak indexleme** β 3Blue1Brown videolari, animg kutuphanesi, Manim Kindergarten verisi, Pisagor ve ozel sahneler
- π **Storyboard katmani** β sahne planini JSON olarak uretir (`storyboard.json`)
- π **Geri besleme dongusu** β basarili render'lar RAG'e geri beslenir (`feed_rag.py`)
- π₯οΈ **CLI + MCP** β hem terminal hem VS Code MCP uzerinden kullanilabilir
## Hizli Baslangic
```powershell
# 1. Kur
pip install -r requirements.txt
# 2. .env dosyasini duzenle (DEEPSEEK_API_KEY zorunlu)
# .env.example dosyasini .env olarak kopyala, API keyini yaz
# 3. (Istege bagli) RAG indexlerini olustur
python index_animg.py
python index_3b1b_videos.py
python index_pisagor.py
# 4. Sunucuyu baslat (1. terminal)
python server.py
# 5. CLI'yi baslat (2. terminal)
python cli.py
# 6. Test et
>>> Bir daire ciz ve kaydir
>>> /doc How to animate a square transforming into a circle
>>> /health
```
## Mimarisi
```
βββ index_*.py βββΆ ChromaDB (chroma_data/)
β
storyboard.json βββ generate_storyboard.py
β
cli.py ββHTTPβββΆ server.py ββOpenAI SDKβββΆ api.deepseek.com
β β
βββ manim_mcp (manim-mcp-original)
β βββ core/rag.py (ChromaDBService - RAG)
β βββ core/tracker.py (RenderTracker)
β βββ prompts/ (system prompt sablonlari)
β βββ config.py (ManimMCPConfig)
β
render_with_rag.py βββ RAG retrieval (5 koleksiyon: patterns, components, helpers, scenes, 3b1b)
β
βββ feed_rag.py βββΆ basarili render'lar RAG'e geri beslenir
```
## Dosyalar
| Dosya | Gorevi |
|-------|--------|
| `server.py` | Flask MCP sunucusu (JSON-RPC) |
| `cli.py` | Terminal arayuzu |
| `deepseek_client.py` | OpenAI SDK ile DeepSeek API |
| `manim_tools.py` | MCP tool tanimlari (DeepSeek/OpenAI format) |
| `config.py` | .env tabanli yapilandirma (DeepSeek + MCP + Manim + RAG) |
| `render_with_rag.py` | RAG destekli animasyon uretim pipeline'i |
| `generate_storyboard.py` | Storyboard JSON uretici (ornek: Pisagor) |
| `feed_rag.py` | Basarili render'lari ChromaDB'ye besler |
| `index_animg.py` | animg kutuphanesi β ChromaDB |
| `index_3b1b_videos.py` | 3Blue1Brown videolari β ChromaDB |
| `index_pisagor.py` | Pisagor ozel verisi β ChromaDB |
| `index_manim_kindergarten.py` | Manim Kindergarten verisi β ChromaDB |
| `index_custom_scene.py` | Ozel sahneler β ChromaDB |
| `manim-mcp-original/manim_mcp/` | Cekirdek paket (RAG, tracker, promptlar) |
| `storyboard.json` | Ornek storyboard tanimi |
| `mcp.template.json` | VS Code MCP yapilandirmasi |
| `.env.example` | Sablon .env dosyasi |
## RAG (ChromaDB)
- Embedding ve vektor arama **ChromaDB** uzerinden yapilir (TF-IDF degil)
- Veri yolu: `MANIM_MCP_CHROMADB_PATH` (varsayilan: `./chroma_data`)
- `render_with_rag.py` **5 koleksiyondan paralel** ceker: `patterns`, `components`, `helpers`, `scenes`, `3b1b`
- RAG protokolu icin: [`RAG_PROTOCOL.md`](RAG_PROTOCOL.md)
## Testler
```powershell
python test_code_generation.py # kod uretim testi
python test_critical.py # kritik akis testleri
python test_precision.py # hassasiyet testleri
python test_production.py # uretim testleri
```
## Neden DeepSeek?
Orijinal paulnegz/manim-mcp reposu `google.generativeai` kullanir. Bu su demek:
- Kod Gemini SDK import eder ama `DEEPSEEK_API_KEY` ayarlanmistir
- Google SDK `GOOGLE_API_KEY` arar, DeepSeek keyini yok sayar
- Ya crash olur ya da sessizce Geminiye gider
**Bizim cozumumuz:** `from openai import OpenAI` + `base_url="https://api.deepseek.com"`
DeepSeek, OpenAI API uyumlu oldugu icin baska hicbir SDKya gerek yok.
## MCP Olarak Kullan
`mcp.template.json` dosyasini VS Code MCP ayarlarina kopyala, `DEEPSEEK_API_KEY`i yaz.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessSyncing