# MCP araçları

> @trkit-app-pack/mcp sunucusunun araçları, girdileri ve kendi sunucunuzda barındırma.

## Kurulum

| Biçim | Yapılandırma |
|---|---|
| Yerel (stdio) | `npx -y @trkit-app-pack/mcp` |
| Uzak (Streamable HTTP) | `https://<sunucunuz>/mcp` (aşağıya bakın) |

Tüm araçlar **salt okunurdur**: dosya yazmaz, ağa istek atmaz, kimlik bilgisi istemez. Dosyaları yazmak asistanınızın işidir.

## Araçlar

### `trkit_list`

Eklenebilecek bileşen/sayfa/uç noktaları, yasal metin şablonlarını ve rehber başlıklarını listeler. Asistanınız bir trkit işine başlamadan önce bunu çağırır.

### `trkit_get_files`

Registry öğelerinin bağımlılıklarıyla birlikte kaynak kodunu ve projedeki hedef yollarını döndürür.

| Girdi | Tür | Açıklama |
|---|---|---|
| `items` | `string[]` | Örn. `["kvkk", "cerez-banner"]` |
| `srcDir` | `boolean?` | Proje `src/` dizini kullanıyorsa `true` |
| `importAlias` | `string?` | Varsayılan `"@/"` |

Çıktıda `files` (yol + içerik), `dependencies`, `env`, `notes` ve eşdeğer CLI komutu (`cli`) bulunur. Terminal erişimi olan asistanlar genelde doğrudan `npx trkit add` çalıştırır.

### `trkit_generate_legal`

Şirket bilgilerinden yasal metin üretir.

| Girdi | Tür |
|---|---|
| `template` | `kvkk-aydinlatma`, `acik-riza`, `cerez-politikasi`, `mesafeli-satis`, `on-bilgilendirme`, `teslimat-iade`, `ticari-ileti`, `kvkk-basvuru` |
| `company` | `{ unvan, adres, eposta, website, mersis?, telefon?, kvkkEposta?, ... }` |
| `options` | `trkit.config.ts`'deki diğer alanlar (`kvkk`, `satis`, `cerezler`...) |
| `format` | `markdown` (varsayılan) veya `html` |

Çıktıda `content`, eksik bilgileri gösteren `warnings` ve hukuki uyarı (`disclaimer`) bulunur.

### `trkit_validate`

`kind`: `tckn`, `vkn`, `vergi-no`, `iban`, `telefon`, `plaka`, `posta-kodu`. Geçerliliği ve normalize edilmiş değeri döndürür (IBAN için banka kodu ve adı, telefon için tür ve E.164).

### `trkit_address_search`

Türkçe karakter duyarsız il/ilçe araması. `query` ve isteğe bağlı `province`.

### `trkit_guide`

Konular: `baslangic`, `kvkk`, `cerez`, `odeme`, `sms`, `dogrulama`. Ödeme, KVKK veya çerez kodu yazmadan önce asistanın okuması gereken kısa ve kesin kurallar. Aynı rehberler `trkit://guide/<konu>` kaynakları (resources) olarak da sunulur.

## Uzak sunucuyu yayınlamak

Yerel (stdio) sunucu, Claude Code, Cursor, VS Code ve Codex için yeterlidir. ChatGPT ve claude.ai gibi web istemcileri ise internetten erişilebilen bir adres ister. Bu dokümantasyon sitesi GitHub Pages'te statik olarak yayınlandığı için `/mcp` uç noktası burada **çalışmaz**; uzak sunucuyu Node.js çalıştırabilen bir yerde yayınlamanız gerekir.

**Seçenek 1: trkit dokümantasyon sitesini sunucu modunda yayınlayın.** Depodaki `apps/docs` uygulaması varsayılan modda `/mcp` uç noktasını içerir. Vercel'de kök dizin olarak `apps/docs` seçip yayınlamanız yeterli; adres `https://<projeniz>.vercel.app/mcp` olur.

**Seçenek 2: Kendi Next.js projenize ekleyin.** `@trkit-app-pack/mcp` paketindeki `createServer()` fonksiyonuyla herhangi bir taşıyıcıya bağlanabilirsiniz. Next.js route handler örneği:

```ts title="app/mcp/route.ts"
import { WebStandardStreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/webStandardStreamableHttp.js";
import { createServer } from "@trkit-app-pack/mcp";

export async function POST(req: Request) {
  const server = createServer();
  const transport = new WebStandardStreamableHTTPServerTransport({
    sessionIdGenerator: undefined, // durumsuz
    enableJsonResponse: true,
  });
  await server.connect(transport);
  return transport.handleRequest(req);
}
```
