Ana içeriğe geç

McpToken Yönetimi

McpToken, tenant'lara JWT login gerekmeden API erişimi sağlayan güvenlik token'larıdır. Özellikle MCP (Model Context Protocol) istemcileri için tasarlanmıştır.

Base URL: /api/admin/mcp-tokens Yetkilendirme: Bearer Token (Admin)

Headers:

Authorization: Bearer eyJhbGciOiJIUzI1NiIs...

McpToken Nedir?

McpToken, mevcut X-Api-Key authentication'a alternatif olarak sunulan bir token türüdür:

ÖzellikX-Api-KeyMcpToken
Tenant auth gerekliEvet (JWT)Hayır
Expire tarihiYokManuel belirlenir
YönetimBaseDbContextBaseDbContext
MCP entegrasyonuDestekliÖnerilen

Avantajları:

  • Tenant kullanıcı email/password gerekmez
  • Token expire tarihi ile otomatik geçersizleşme
  • Admin tüm tokenları merkezi yönetir

McpToken İşlemleri

POST /

Yeni bir McpToken oluşturur.

Request:

{
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"expiresAt": "2026-12-31T23:59:59Z"
}

Alanlar:

AlanTipZorunluAçıklama
customerIdGUIDEvetToken'ın atanacağı müşteri ID
expiresAtDateTimeEvetToken'ın geçerlilik bitiş tarihi

Response — 201 Created:

{
"success": true,
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"token": "AbCdEfGhIjKlMnOpQrStUvWxYz0123456789",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerName": "Acme Corp",
"customerSlug": "acme-corp",
"expiresAt": "2026-12-31T23:59:59Z",
"isActive": true,
"createdAt": "2026-03-31T10:00:00Z"
}
}
ÖNEMLİ

Token değeri yalnızca oluşturulduğu anda döndürülür. Bu değeri güvenli bir şekilde saklayın, çünkü sonraki isteklerde gösterilmez.


GET /

Tüm McpToken'ları listeler. İsteğe bağlı olarak customerId ile filtrelenebilir.

Query Parametreleri:

ParametreTipAçıklama
customerIdGUIDOpsiyonel - Belirli bir müşteriye ait tokenları filtreler

Response — 200 OK:

{
"success": true,
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"token": "AbCdEfGhIjKlMnOpQrStUvWxYz0123456789",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerName": "Acme Corp",
"customerSlug": "acme-corp",
"expiresAt": "2026-12-31T23:59:59Z",
"isActive": true,
"createdAt": "2026-03-31T10:00:00Z"
}
]
}

GET /{id}

Belirli bir McpToken'ı getirir.

Response — 200 OK:

{
"success": true,
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"token": "AbCdEfGhIjKlMnOpQrStUvWxYz0123456789",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerName": "Acme Corp",
"customerSlug": "acme-corp",
"expiresAt": "2026-12-31T23:59:59Z",
"isActive": true,
"createdAt": "2026-03-31T10:00:00Z"
}
}

PUT /{id}/toggle

Token'ın isActive durumunu değiştirir.

Response — 200 OK:

{
"success": true,
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"token": "AbCdEfGhIjKlMnOpQrStUvWxYz0123456789",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerName": "Acme Corp",
"customerSlug": "acme-corp",
"expiresAt": "2026-12-31T23:59:59Z",
"isActive": false,
"createdAt": "2026-03-31T10:00:00Z"
}
}

DELETE /{id}

McpToken'ı soft-delete eder (kalıcı olarak silmez, sadece IsDeleted işaretler).

Response — 204 No Content


MCP İstemci Kullanımı

McpToken ile Bağlanma

MCP istemcinizi (Claude Desktop, Cursor, vb.) aşağıdaki gibi yapılandırın:

{
"cms": {
"baseUrl": "https://api.cms.kompanse.com",
"mcpToken": "AbCdEfGhIjKlMnOpQrStUvWxYz0123456789"
}
}

veya tool kullanarak:

Tool: configure_connection_with_mcp_token
Input: {
"mcpToken": "AbCdEfGhIjKlMnOpQrStUvWxYz0123456789"
}

Header Yapısı

McpToken kullanıldığında, istemci otomatik olarak:

X-Mcp-Token: AbCdEfGhIjKlMnOpQrStUvWxYz0123456789

header'ını gönderir. JWT login gerekmez, token zaten tenant ile ilişkilidir.


Güvenlik Notları

  1. Token Gizliliği: Token oluşturulduktan sonra yalnızca bir kez gösterilir. Güvenli bir yerde saklayın.
  2. Expire Süresi: Uygun expire süresi belirleyin (kısa süreli projeler için 1 ay, uzun vadeli için 1 yıl).
  3. Aktif/Pasif: Kullanılmayan tokenları toggle endpoint'i ile pasif hale getirebilirsiniz.
  4. Silme: Silinen token geri alınamaz, yeni token oluşturmanız gerekir.