MCP sunucusu (Model Context Protocol) meni.ge için, AI asistanlarını (Claude, ChatGPT, Cursor, VS Code Copilot ve diğerleri) restoranınızın verilerine bağlamanızı sağlar. AI, menü, lokasyonlar, siparişler, görseller gibi verilere erişebilir ve bunları sizin adınıza yönetebilir.
API anahtarı, restoranınızın yönetim panelinde oluşturulur.
💡 Aynı sayfada Sunucu URL'si (
https://api.meni.ge/mcp) de görüntülenir ve tek tıklamayla kopyalanabilir.
claude_desktop_config.json yapılandırma dosyası:
{
"mcpServers": {
"meni": {
"url": "https://api.meni.ge/mcp",
"headers": {
"Authorization": "Bearer SİZİN_API_ANAHTARINIZ"
}
}
}
}
Cursor ayarlarında → MCP Servers → Add, veya .cursor/mcp.json dosyası:
{
"mcpServers": {
"meni": {
"url": "https://api.meni.ge/mcp",
"headers": {
"Authorization": "Bearer SİZİN_API_ANAHTARINIZ"
}
}
}
}
Projedeki .vscode/mcp.json:
{
"servers": {
"meni": {
"type": "http",
"url": "https://api.meni.ge/mcp",
"headers": {
"Authorization": "Bearer SİZİN_API_ANAHTARINIZ"
}
}
}
}
Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Cline, Continue, ChatGPT ve diğerleri için ayrıntılı adım adım talimatlar:
👉 AI Araçlarını MCP'ye Bağlama
| Komut | Açıklama |
|---|---|
whoami |
Hesap bilgilerini göster (userId, email, rol) |
my_profile |
Kullanıcı profilinizi alın |
update_my_profile |
Profilinizdeki alanları güncelleyin |
my_locations |
Tüm lokasyonlarınızın listesi |
my_orders |
Siparişlerinizin listesi |
my_images |
Görsellerinizin listesi (menü, kategoriler, lokasyonlar) |
| Komut | Açıklama |
|---|---|
get_user_profile |
userId ile kullanıcı profilini alın |
update_user_profile |
Kullanıcı profil alanlarını güncelleyin |
list_users |
[ADMIN] Tüm kullanıcıların listesi |
search_user_by_email |
[ADMIN] Cognito üzerinden email ile kullanıcı arayın |
| Komut | Açıklama |
|---|---|
list_locations |
Kullanıcının tüm lokasyonları |
get_location_profile |
Lokasyon profili (isim, adres, çalışma saatleri, ayarlar) |
update_location_profile |
Lokasyon ayarlarını güncelleyin (CDN ile otomatik senkronize edilir) |
get_location_menu |
Kategoriler ve pozisyonlarla birlikte lokasyonun tam menüsü |
| Komut | Açıklama |
|---|---|
list_menu_items |
Tüm menü pozisyonları (categoryId ile — tam veriler, olmadan — item/category ID çiftleri) |
get_menu_item |
Tam verilerle pozisyonu alın (çeviriler, varyantlar, ekler dahil) |
update_menu_item |
Menü pozisyonunu güncelleyin (fiyat, açıklama, durum, etiketler, varyantlar, ekler) |
create_menu_item |
Kategoride yeni bir menü pozisyonu oluşturun |
create_menu_category |
Yeni bir menü kategorisi oluşturun |
update_menu_category |
Kategoriyi güncelleyin (isim, çeviriler, durum, sıralama düzeni) |
move_menu_item |
Pozisyonu bir kategoriden diğerine taşıyın |
merge_categories |
İki kategoriyi birleştirin (tüm pozisyonlar taşınır, kaynak silinir) |
delete_menu_category |
Kategoriyi silin (force: true ile — tüm pozisyonlarla birlikte) |
| Komut | Açıklama |
|---|---|
list_orders |
Siparişlerin listesi (userId veya domain ile) |
get_order |
Belirli bir siparişin detayları |
| Komut | Açıklama |
|---|---|
check_domain_availability |
Domain adının kullanılabilirliğini kontrol edin |
set_location_domain |
Lokasyonun domain adını değiştirin (CDN ve eşlemeleri günceller) |
resolve_domain |
Domain üzerinden userId ve locationId öğrenin |
list_domains |
[ADMIN] Kayıtlı tüm domainlerin listesi |
| Komut | Açıklama |
|---|---|
get_cdn_profile |
Lokasyonun yayınlanmış profili (CDN'de) |
get_cdn_menu |
Belirtilen dilde yayınlanmış menü |
list_cdn_files |
Domainin tüm yayınlanmış dosyaları |
invalidate_cdn_cache |
[ADMIN] CloudFront CDN önbelleğini sıfırlayın |
| Komut | Açıklama |
|---|---|
list_user_images |
Kullanıcının tüm görselleri |
get_image_upload_url |
S3'e görsel yüklemek için presigned URL alın (JPEG/PNG/WebP) |
delete_image |
Görseli silin (kullanıcılar — sadece kendi görsellerini) |
| Komut | Açıklama |
|---|---|
s3_read |
S3'ten dosya okuyun (kullanıcılar — sadece kendi dosyalarını) |
s3_write |
[ADMIN] S3'e JSON verisi yazın |
s3_list |
S3'teki dosyaların listesi (kullanıcılar — sadece kendi ön eklerini) |
s3_delete |
[ADMIN] S3'ten nesne silin |
| Komut | Açıklama |
|---|---|
cognito_list_users |
[ADMIN] Cognito User Pool'dan kullanıcı listesi |
cognito_get_user |
[ADMIN] Cognito kullanıcısı hakkında detaylı bilgi |
| Komut | Açıklama |
|---|---|
get_system_stats |
[ADMIN] Sistem genelinde istatistik |
Sunucu üç tür yetkilendirme yöntemi destekler:
Authorization: Bearer sizin_64_karakterli_anahtarınız
Anahtar, yönetim panelinde oluşturulur. Hesabınıza bağlıdır — AI sadece sizin verilerinizi görür.
Programatik entegrasyon için giriş yaparak token alabilirsiniz:
# Token al
curl -X POST https://api.meni.ge/mcp/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "sizin@email.com", "password": "sizin_şifreniz"}'
# Yanıt idToken içerir — bunu kullanın:
Authorization: Bearer eyJraWQ...
Token 1 saat geçerlidir, ardından tekrar giriş yapılması gerekir.
Authorization: Bearer admin_key
Yönetici anahtarı, tüm kullanıcıların tüm verilerine tam erişim sağlar.
[ADMIN] etiketi olan komutlar normal kullanıcılara kapalıdır«Menümdeki «Haçapuri» pozisyonunun fiyatını güncelle — 12 lari yerine 15 lari yap»
AI, my_locations → get_location_menu → update_menu_item komutlarını çağırır.
«Tatlılar kategorisine 8 lari fiyatla yeni bir yemek «Çurçhela» ekle»
AI, my_locations → get_location_menu → create_menu_item komutlarını çağırır.
«Gürcüce ve İngilizce çevirileriyle «İçecekler» kategorisi oluştur»
AI, create_menu_category komutunu nameTranslations ile çağırır.
««Limonata»yı «Soğuk İçecekler»den «Alkolsüz»e taşı»
AI, move_menu_item komutunu kaynak ve hedef kategoriyi belirterek çağırır.
«Bugünkü siparişlerimi göster»
AI, my_orders komutunu çağırır ve tarihe göre filtreler.
«Ziyaretçiler için menüm Rusça dilinde nasıl görünüyor?»
AI, resolve_domain → get_cdn_menu komutlarını ru diliyle çağırır.
«my-restaurant domaini müsait mi kontrol et, eğer öyleyse ayarla»
AI, check_domain_availability → set_location_domain komutlarını çağırır.
«X yemeği için fotoğraf yükleme bağlantısı ver»
AI, get_image_upload_url komutunu çağırır ve yükleme için presigned URL döner.
| Yöntem | URL | Açıklama |
|---|---|---|
GET |
https://api.meni.ge/mcp |
Sunucu hakkında bilgi + araç listesi |
POST |
https://api.meni.ge/mcp |
MCP JSON-RPC (ana protokol) |
GET |
https://api.meni.ge/mcp/health |
Çalışırlık kontrolü |
POST |
https://api.meni.ge/mcp/auth/login |
Giriş → JWT tokenler |
GET |
https://api.meni.ge/mcp/api/keys |
API anahtarlarınızın listesi |
POST |
https://api.meni.ge/mcp/api/keys |
Yeni API anahtarı oluştur |
DELETE |
https://api.meni.ge/mcp/api/keys/{id} |
API anahtarını iptal et |
Yönetim panelinde → Ayarlar → Erişim → MCP API Anahtarları. Veya API üzerinden:
curl https://api.meni.ge/mcp/api/keys \
-H "Authorization: Bearer COGNITO_JWT_TOKEN"
curl -X POST https://api.meni.ge/mcp/api/keys \
-H "Authorization: Bearer COGNITO_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Claude Desktop"}'
Yanıt key alanını içerir — bu sizin anahtarınızdır. Kaydedin!
curl -X DELETE https://api.meni.ge/mcp/api/keys/mk_abc123 \
-H "Authorization: Bearer COGNITO_JWT_TOKEN"
⚠️ Anahtar oluşturma ve iptal etme, Cognito JWT token gerektirir (API anahtarı değil). Yönetim panelini kullanın — daha kolaydır.
| Sorun | Çözüm |
|---|---|
401 Unauthorized |
API anahtarını kontrol edin. İptal edildiyse — yenisini oluşturun |
403 user identity required |
Anahtar yönetimi için Cognito JWT kullanın |
🔒 admin access required |
Komut sadece yöneticilere açıktır |
🔒 access denied |
Başka bir kullanıcının verilerini almaya çalışıyorsunuz |
| Anahtar çalışmıyor | Anahtarın iptal edilmediğini ve formatın doğru olduğunu kontrol edin: Bearer <anahtar> |