Geliştiriciler

MCP, API ve CLI

Emsal karar ve dilekçe asistanları, yapay zekâ ajanları ve otomasyonlar için UYAP .udf okuyucu/yazıcısı. Belgeyi Markdown olarak okuyun, Markdown yazıp UYAP uyumlu UDF üretin; DOCX, TXT, HTML, DocModel JSON ve (beta) PDF dönüşümleri; e-imza bilgisi; UYAP uyumluluk doğrulaması; 22 hazır dilekçe şablonu.

Gizlilik. Dosyalar yalnızca isteğin süresi boyunca bellekte işlenir; diske yazılmaz, günlüğe kaydedilmez, saklanmaz. Her yanıtta X-AwuCat-Privacy: processed-in-memory; not-stored başlığı bulunur. Web uygulamasının kendisi (editör, görüntüleyici, dönüştürücü) bu API'yi hiç kullanmaz; tamamen cihazınızda çalışır. Belgenin bilgisayardan çıkmasını istemiyorsanız yerel CLI/MCP'yi kullanın.

Yapay zekâ uygulamanıza bağlayın

MCP, yapay zekâ uygulamalarının dış araçları kullanmasını sağlayan ortak bir bağlantı biçimidir. AwuCat'i bir kez eklediğinizde sohbet içinden UDF dosyası üretebilir, emsal karar arayabilir ve dilekçedeki atıfları doğrulatabilirsiniz. Hesap veya anahtar gerekmez; aşağıda kullandığınız uygulamayı seçip adımları izleyin.

AwuCat MCP adresi
https://awucat.app/api/mcp/mcp
Adres yapıştırarak (web)Ücretli plan (Plus, Pro, Business, Enterprise veya Edu) ve chatgpt.com web sürümü. Business planında bu ayarı yalnızca yönetici açabilir.
  1. 1

    Eklentiler sayfasını açın

    chatgpt.com'da oturum açın ve sol menüden Eklentiler (Plugins) sayfasına gidin. Doğrudan chatgpt.com/plugins adresini de yazabilirsiniz.

    1. EklentilerPlugins
  2. 2

    Özel MCP sunucusu ekleyin

    Artı (+) düğmesine, ardından "Özel MCP sunucusu ekle" seçeneğine tıklayın. Ad olarak AwuCat yazın; açıklama alanına "UDF ve emsal karar araçları" gibi kısa bir not ekleyebilirsiniz.

    1. +
    2. Özel MCP sunucusu ekleAdd custom MCP server
  3. 3

    Sunucu adresini yapıştırın

    Bağlantı (Connection) bölümüne aşağıdaki adresi yapıştırın. Kimlik doğrulama için "Kimlik doğrulama yok" (No Auth) seçin; AwuCat sunucusu hesap istemez.

    1. BağlantıConnection
    2. Kimlik doğrulama yokNo Auth
    https://awucat.app/api/mcp/mcp
  4. 4

    Uyarıyı onaylayıp oluşturun

    Çıkan risk uyarısını okuyun, "Anlıyorum ve devam etmek istiyorum" kutusunu işaretleyin ve "Eklenti olarak oluştur" düğmesine basın. ChatGPT sunucudaki araçları listeler.

    1. Anlıyorum ve devam etmek istiyorumI understand and want to continue
    2. Eklenti olarak oluşturCreate as a plugin
  5. 5

    Sohbette kullanın

    Yeni bir sohbette mesaj kutusuna @ yazın ve listeden AwuCat'i seçin. Ardından isteğinizi yazın; araç çağrılarını ChatGPT onayınıza sunar.

    1. Mesaj kutusu
    2. @AwuCat

"Özel MCP sunucusu ekle" seçeneğini görmüyorsanız: Ayarlar → Güvenlik ve giriş (Settings → Security and login) altındaki Geliştirici modu (Developer mode) anahtarını açın; bazı hesaplarda seçenek "Create MCP App" adıyla görünür.

Kaynak: OpenAI: Connect from ChatGPT · OpenAI Yardım: Developer mode. Menü adları uygulama sürümüne göre değişebilir; çizimler temsilidir.

Bağlantıyı test et

Yapay zekâ uygulamasının yapacağı el sıkışmayı bu tarayıcıdan dener ve uygulamanın göreceği araçları listeler. Belge gönderilmez.

https://awucat.app/api/mcp/mcp

Deneyin

Bağladıktan sonra yeni bir sohbet açıp aşağıdaki isteklerden birini yazın (gerekirse belgeyi ekleyin). Uygulama ilgili AwuCat aracını çağırmadan önce onayınızı ister.

  • Atıfları doğrulayınatif_dogrula

    “Bu dilekçedeki kanun maddesi ve Yargıtay kararı atıflarını AwuCat ile doğrula; mülga, değişmiş veya bulunamayan atıfları tablo halinde göster.”

  • Emsal karar bulunemsal_ara · emsal_getir

    “Kira tespiti davalarında Yargıtay 3. Hukuk Dairesi'nin son 3 yıldaki emsal kararlarını bul; her biri için esas/karar numarası ve kısa özet ver.”

  • UDF'e çevirinudf_from_markdown

    “Bu metni UYAP'a uygun bir dilekçe olarak düzenle ve AwuCat ile UDF dosyasına çevir; dosyayı indirebileceğim şekilde ver.”

Yapay zekâ çıktısı hukuki tavsiye değildir; atıfları ve kararları kaynağından kontrol edin. Belgeyi uzak sunucuya göndermek istemiyorsanız “Diğer” sekmesindeki yerel sunucuyu kullanın.

HTTP API

Taban adres https://awucat.app/api/v1. OpenAPI 3.1 belgesi: /api/v1/openapi.json. Girdi biçimi içerikten tanınır (.udf, .docx, .rtf, .odt, .txt, .html, .md, DocModel .json); çıktı to ile seçilir.

POST /api/v1/convertmultipart file + to (udf | docx | txt | html | md | json | pdf) + style, title; ya da JSON { "markdown": "...", "to": "udf" } / { "doc": DocModel }
POST /api/v1/inspectbiçim, başlık, sözcük/paragraf/tablo sayıları, e-imza (imzacılar, bütünlük), UYAP doğrulama kodu ve webID, uyarılar, metin önizlemesi, Markdown
POST /api/v1/validateUYAP uyumluluk kontrolleri: boş değil, ≤ 10 MB, emoji yok, yeniden okunabilir UDF, tam sayı yazı boyutları, sayfa yapısı, format_id, imza bütünlüğü
POST /api/v1/atif-dogrulametin veya dosya → kanun maddesi ve karar atıflarının doğrulaması (kararlar önce künye dizininde, korpustan yeniler resmî veritabanında)
GET /api/v1/kunyeesas, karar, kaynak (yargitay | danistay | uyap | aym), daire → künye dizininde eşleşen kararlar (kaynak, daire, E., K., tarih, karar kimliği, atıf); resmî kaynak değildir
GET /api/v1/templatesşablon listesi; /templates/{id} ayrıntı + Markdown gövde + alanlar; POST /templates/{id}/fill { values, to } → dosya
# UDF → Markdown
curl -F "file=@dilekce.udf" -F "to=md" https://awucat.app/api/v1/convert

# Markdown → UDF
curl -o dava.udf -H "Content-Type: application/json" \
  -d '{"markdown":"# ANKARA 1. ASLİYE HUKUK MAHKEMESİ'"'"'NE\n\nDAVACI: Ad Soyad\n\n## AÇIKLAMALAR\n\n1- Birinci madde.\n\n>> Av. Ad Soyad","to":"udf","title":"Dava Dilekçesi"}' \
  https://awucat.app/api/v1/convert

# İnceleme ve doğrulama
curl -F "file=@dilekce.udf" https://awucat.app/api/v1/inspect
curl -F "file=@dilekce.udf" https://awucat.app/api/v1/validate

# Şablon doldurma
curl -o dilekce.udf -H "Content-Type: application/json" \
  -d '{"values":{"Konu":"Kaldırım onarımı","Ad Soyad":"Ayşe Yılmaz"},"to":"udf"}' \
  https://awucat.app/api/v1/templates/genel-dilekce/fill

Hatalar { "error": { "code", "message" } } biçiminde ve Türkçedir. Dosya döndüren uç noktalar uyarıları X-AwuCat-Warnings başlığında (URL-kodlu JSON dizi) taşır. PDF çıktısı betadır: headless Chromium ile üretilir, yazı tipleri gömülüdür; sayfa düzeni web uygulamasındaki WYSIWYG PDF ile birebir aynı olmayabilir.

Markdown lehçesi

Yapay zekâ araçlarının dilekçe yazması için küçük bir lehçe: # BAŞLIK ortalanmış kalın; DAVACI: … veya **Etiket:** … sekmeli etiket bloğu (etiket kalın, iki nokta 110 pt'de hizalı); düz paragraflar iki yana yaslı, ilk satır 35,4 pt girintili, 1,5 satır aralığı; 1- madde / - madde listeler; GFM tablolar; \pagebreak; >> imza satırı sağa dayalı. Aynı lehçe UDF → Markdown yönünde de üretilir; döngü yapıyı korur.

# İSTANBUL ANADOLU ( ) ASLİYE HUKUK MAHKEMESİ'NE

DAVACI: Ayşe YILMAZ (T.C. 12345678901)
VEKİLİ: Av. Mehmet DEMİR
KONU: Ödenmeyen kira bedellerinin **tahsili** talebidir.

## AÇIKLAMALAR

1- Müvekkil ile davalı arasında 01.01.2025 tarihli *kira sözleşmesi* akdedilmiştir.
2- Davalı, ihtarnameye rağmen ödeme yapmamıştır.

## SONUÇ VE İSTEM

Davamızın kabulüne karar verilmesini saygıyla arz ederiz.

>> Davacı Vekili
>> Av. Mehmet DEMİR

MCP sunucusu: teknik ayrıntılar

Uzak sunucu https://awucat.app/api/mcp/mcp (Streamable HTTP) ve yerel stdio sunucu npx awucat mcp. Araçlar: udf_inspect, udf_to_markdown, udf_from_markdown, udf_convert, udf_validate, udf_signature_info, template_list, template_get, template_fill, emsal_ara (doğal dilde emsal arama; yorumlanan sorguyu da döndürür), emsal_getir, kunye_ara (esas/karar numarasıyla 11 milyon kararlık künye dizininde arar), mevzuat_ara ve madde_getir (kanun maddesinin güncel metni), sure_hesabi, faiz_hesabi ve vekalet_ucreti (hesaplayıcılar), resmi_gazete (Resmî Gazete içindekiler ve metin), atif_dogrula (kanun ve karar atıflarını doğrular). Kaynaklar udf://spec ve udf://templates/{id}; istem dilekce_yaz. Yerel sunucu file_path / output_path kabul eder, dosya bilgisayardan çıkmaz.

// Masaüstü yapay zekâ asistanları — uygulamanın MCP ayar dosyası (mcpServers)
{
  "mcpServers": {
    "awucat": { "command": "npx", "args": ["-y", "awucat", "mcp"] },
    "awucat-remote": { "command": "npx", "args": ["-y", "mcp-remote", "https://awucat.app/api/mcp/mcp"] }
  }
}

// URL ile bağlanabilen istemciler (ör. kod editörleri)
{
  "mcpServers": {
    "awucat": { "command": "npx", "args": ["-y", "awucat", "mcp"] },
    "awucat-remote": { "url": "https://awucat.app/api/mcp/mcp" }
  }
}
# Komut satırı istemcileri: yerel (stdio) sunucuyu başlatan komut
npx -y awucat mcp
# Uzak sunucu adresi (Streamable HTTP)
https://awucat.app/api/mcp/mcp

CLI

awucat paketi (Node.js ≥ 20) aynı dönüştürücüyü terminale taşır; hiçbir şey ağa gönderilmez.

npx awucat convert dilekce.udf --to md                # Markdown stdout'a
npx awucat convert dilekce.udf --to docx -o dilekce.docx
npx awucat md2udf dilekce.md -o dilekce.udf --title "Dava Dilekçesi"
npx awucat udf2md dilekce.udf > dilekce.md
npx awucat inspect imzali.udf                        # e-imzacılar, bütünlük, UYAP kodu
npx awucat validate dilekce.udf --json
npx awucat templates genel-dilekce --fill "Konu=Kaldırım onarımı" --fill "Ad Soyad=Ayşe Yılmaz" -o dilekce.udf
npx awucat mcp                                       # stdio MCP sunucusu

Sınırlar ve kimlik doğrulama

Gövdeen fazla 15 MB (413); doğrulama 10 MB'ı işaretler
HızIP başına dakikada 60 istek (429, Retry-After)
Kimliksunucuda UDF_API_KEYS tanımlıysa Authorization: Bearer <anahtar> veya X-Api-Key; tanımlı değilse açık
CORStüm kaynaklara açık (GET, POST, OPTIONS)
PDFbeta; UDF_API_PDF ile açılır/kapatılır, Vercel'de @sparticuz/chromium + playwright-core
Desteklenmeyen girdiPDF, görsel, eski .doc → 415 (web uygulamasındaki dönüştürücüyü kullanın)

Ayrıntılı belge: docs/API.md. UDF format notları: udf://spec MCP kaynağı ve docs/research/UDF_FORMAT.md. Şablonlar hukuki tavsiye değildir; şablon galerisi.