MCP Server — Udhëzuesi i përdoruesit
Çfarë është?
Serveri MCP (Model Context Protocol) për menugo.al ju lejon të lidhni asistentët AI (Claude, ChatGPT, Cursor, VS Code Copilot etj.) me të dhënat e restorantit tuaj. AI merr akses në menu, lokacione, porosi, imazhe dhe mund t'i menaxhojë ato në emrin tuaj.
Fillimi i shpejtë
1. Merrni çelësin API
Çelësi API gjenerohet në panelin e administrimit të restorantit tuaj.
Hap pas hapi:
- Hyni në Panelin e administrimit në adresën admin.menugo.al
- Në menunë anësore hapni ⚙️ Cilësimet → 🔑 Aksesi
- Në faqe gjeni seksionin 🤖 Çelësat API MCP
- Klikoni butonin "Gjenero çelës të ri"
- Vendosni emrin e çelësit (për shembull, "Claude Desktop", "Cursor", "GPT-ja ime") — kjo do t'ju ndihmojë të dalloni çelësat nga njëri-tjetri
- Kopjoni çelësin menjëherë — ai shfaqet vetëm një herë!
💡 Në të njëjtën faqe shfaqet URL-ja e serverit (
https://api.menugo.al/mcp), e cila gjithashtu mund të kopjohet me një klikim.
Menaxhimi i çelësave
- Mund të krijoni deri në 10 çelësa për llogari
- Çdo çelës mund të revokohet në çdo moment — butoni "Revoko" pranë çelësit
- Pas revokimit, çelësi ndalon së funksionuari menjëherë
- Nëse çelësi humbet — revokojeni atë dhe krijoni një të ri
2. Lidhni asistentin AI
Claude Desktop / Claude Code
Skedari i konfigurimit claude_desktop_config.json:
{
"mcpServers": {
"meni": {
"url": "https://api.menugo.al/mcp",
"headers": {
"Authorization": "Bearer ÇELËSI_JUAJ_API"
}
}
}
}
Cursor
Në cilësimet e Cursor → MCP Servers → Add, ose skedari .cursor/mcp.json:
{
"mcpServers": {
"meni": {
"url": "https://api.menugo.al/mcp",
"headers": {
"Authorization": "Bearer ÇELËSI_JUAJ_API"
}
}
}
}
VS Code (GitHub Copilot)
Në .vscode/mcp.json të projektit:
{
"servers": {
"meni": {
"type": "http",
"url": "https://api.menugo.al/mcp",
"headers": {
"Authorization": "Bearer ÇELËSI_JUAJ_API"
}
}
}
}
Mjete të tjera AI
Udhëzime të detajuara hap pas hapi për Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Cline, Continue, ChatGPT dhe të tjerë — në një udhëzues të veçantë:
Çfarë mund të bëjë asistenti AI?
Për pronarët e restoranteve (përdoruesit e thjeshtë)
| Komanda | Përshkrimi |
|---|---|
whoami |
Shfaq të dhënat e llogarisë (userId, email, roli) |
my_profile |
Merr profilin tënd të përdoruesit |
update_my_profile |
Përditëso fushat në profilin tënd |
my_locations |
Lista e të gjitha lokacioneve tuaja |
my_orders |
Lista e porosive tuaja |
my_images |
Lista e imazheve tuaja (menu, kategori, lokacione) |
Profilet e përdoruesve
| Komanda | Përshkrimi |
|---|---|
get_user_profile |
Merr profilin e përdoruesit sipas userId |
update_user_profile |
Përditëso fushat e profilit të përdoruesit |
list_users |
[ADMIN] Lista e të gjithë përdoruesve |
search_user_by_email |
[ADMIN] Gjej përdoruesin sipas email përmes Cognito |
Puna me lokacionet
| Komanda | Përshkrimi |
|---|---|
list_locations |
Të gjitha lokacionet e përdoruesit |
get_location_profile |
Profili i lokacionit (emri, adresa, orari i punës, cilësimet) |
update_location_profile |
Përditëso cilësimet e lokacionit (sinkronizohet automatikisht me CDN) |
get_location_menu |
Menuja e plotë e lokacionit me kategori dhe artikuj menuje |
Puna me menunë
| Komanda | Përshkrimi |
|---|---|
list_menu_items |
Të gjithë artikujt e menusë (me categoryId — të dhëna të plota, pa të — çifte item/category ID) |
get_menu_item |
Merr artikullin e menusë me të dhëna të plota (përfshirë përkthimet, variantet, shtesat) |
update_menu_item |
Përditëso artikullin e menusë (çmimi, përshkrimi, statusi, etiketat, variantet, shtesat) |
create_menu_item |
Krijo një artikull të ri menuje në kategori |
create_menu_category |
Krijo një kategori të re menuje |
update_menu_category |
Përditëso kategorinë (emri, përkthimet, statusi, renditja) |
move_menu_item |
Zhvendos artikullin e menusë nga njëra kategori në tjetrën |
merge_categories |
Bashko dy kategori (të gjithë artikujt zhvendosen, kategoria fillestare fshihet) |
delete_menu_category |
Fshi kategorinë (me force: true — së bashku me të gjithë artikujt) |
Porositë
| Komanda | Përshkrimi |
|---|---|
list_orders |
Lista e porosive (sipas userId ose domenit) |
get_order |
Detajet e një porosie specifike |
Domenet
| Komanda | Përshkrimi |
|---|---|
check_domain_availability |
Verifiko disponueshmërinë e emrit të domenit |
set_location_domain |
Ndrysho emrin e domenit të lokacionit (përditëson CDN dhe mapimet) |
resolve_domain |
Gjej userId dhe locationId sipas domenit |
list_domains |
[ADMIN] Lista e të gjithë domenëve të regjistruar |
CDN (të dhënat e publikuara)
| Komanda | Përshkrimi |
|---|---|
get_cdn_profile |
Profili i publikuar i lokacionit (në CDN) |
get_cdn_menu |
Menuja e publikuar në gjuhën e specifikuar |
list_cdn_files |
Të gjithë skedarët e publikuar të domenit |
invalidate_cdn_cache |
[ADMIN] Fshi keshin (cache) e CloudFront CDN |
Imazhet
| Komanda | Përshkrimi |
|---|---|
list_user_images |
Të gjitha imazhet e përdoruesit |
get_image_upload_url |
Merr presigned URL për ngarkimin e imazhit në S3 (JPEG/PNG/WebP) |
delete_image |
Fshi imazhin (përdoruesit — vetëm të tyret) |
Aksesi i nivelit të ulët në S3
| Komanda | Përshkrimi |
|---|---|
s3_read |
Lexo skedarin nga S3 (përdoruesit — vetëm të tyret) |
s3_write |
[ADMIN] Shkruaj të dhëna JSON në S3 |
s3_list |
Lista e skedarëve në S3 (përdoruesit — vetëm prefiksi i tyre) |
s3_delete |
[ADMIN] Fshi objektin nga S3 |
Cognito
| Komanda | Përshkrimi |
|---|---|
cognito_list_users |
[ADMIN] Lista e përdoruesve nga Cognito User Pool |
cognito_get_user |
[ADMIN] Informacion i detajuar për përdoruesin e Cognito |
Statistikat
| Komanda | Përshkrimi |
|---|---|
get_system_stats |
[ADMIN] Statistikat e të gjithë sistemit |
Autentikimi
Serveri mbështet tri mënyra autorizimi:
1. Çelësi API (rekomandohet për asistentët AI)
Authorization: Bearer ваш_64_символьный_ключ
Çelësi gjenerohet në panelin e administrimit. Është i lidhur me llogarinë tuaj — AI sheh vetëm të dhënat tuaja.
2. Tokeni Cognito JWT
Për integrim programor, mund të merrni një token përmes hyrjes (login):
# Получить токен
curl -X POST https://api.menugo.al/mcp/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "ваш@email.com", "password": "ваш_пароль"}'
# Ответ содержит idToken — используйте его:
Authorization: Bearer eyJraWQ...
Tokeni është i vlefshëm për 1 orë, pas së cilës kërkohet hyrje e sërishme.
3. Admin API Key (vetëm për administratorët)
Authorization: Bearer admin_key
Çelësi i administratorit jep qasje të plotë në të gjitha të dhënat e të gjithë përdoruesve.
Siguria
- Çdo çelës API është i lidhur me një llogari specifike
- Përdoruesit e thjeshtë shohin vetëm të dhënat e tyre
- Çelësi mund të revokohet në çdo moment në panelin e administrimit
- Maksimumi 10 çelësa për llogari
- Të gjitha kërkesat kalojnë përmes HTTPS
- Komandat me shënimin
[ADMIN]nuk janë të disponueshme për përdoruesit e thjeshtë
Shembuj përdorimi
Kërko nga AI të përditësojë çmimin e pjatës
«Përditëso çmimin e artikullit «Khachapuri» në menunë time — bëje 15 lari në vend të 12»
AI do të thërrasë my_locations → get_location_menu → update_menu_item.
Shto një artikull të ri në menu
«Shto në kategorinë «Ëmbëlsira» pjatën e re «Churchkhela» për 8 lari»
AI do të thërrasë my_locations → get_location_menu → create_menu_item.
Krijo një kategori të re
«Krijo kategorinë «Pije» me përkthime në gjeorgjisht dhe anglisht»
AI do të thërrasë create_menu_category me nameTranslations.
Zhvendos pjatën midis kategorive
«Zhvendos «Limonadë» nga «Pije të ftohta» te «Pije joalkoolike»»
AI do të thërrasë move_menu_item duke specifikuar kategorinë e origjinës dhe atë të destinacionit.
Shiko porositë për sot
«Tregomë porositë e mia për sot»
AI do të thërrasë my_orders dhe do t'i filtrojë sipas datës.
Kontrollo menunë e publikuar
«Si duket menuja ime në gjuhën ruse për vizitorët?»
AI do të thërrasë resolve_domain → get_cdn_menu me gjuhën ru.
Ndrysho domenin e restorantit
«Kontrollo nëse domeni my-restaurant është i disponueshëm, dhe nëse po — vendose atë»
AI do të thërrasë check_domain_availability → set_location_domain.
Ngarko foto për pjatën
«Më jep një link për të ngarkuar foton për pjatën X»
AI do të thërrasë get_image_upload_url dhe do të kthejë një presigned URL për ngarkim.
Endpoint-et e API
| Metoda | URL | Përshkrimi |
|---|---|---|
GET |
https://api.menugo.al/mcp |
Informacion mbi serverin + lista e mjeteve |
POST |
https://api.menugo.al/mcp |
MCP JSON-RPC (protokolli kryesor) |
GET |
https://api.menugo.al/mcp/health |
Kontrolli i funksionimit |
POST |
https://api.menugo.al/mcp/auth/login |
Identifikimi → Token-at JWT |
GET |
https://api.menugo.al/mcp/api/keys |
Lista e çelësave tuaj API |
POST |
https://api.menugo.al/mcp/api/keys |
Krijo një çelës të ri API |
DELETE |
https://api.menugo.al/mcp/api/keys/{id} |
Revoko çelësin API |
Menaxhimi i çelësave
Shikimi i çelësave
Në panelin e administrimit → Cilësimet → Aksesi → Çelësat MCP API. Ose përmes API:
curl https://api.menugo.al/mcp/api/keys \
-H "Authorization: Bearer COGNITO_JWT_TOKEN"
Krijimi i një çelësi
curl -X POST https://api.menugo.al/mcp/api/keys \
-H "Authorization: Bearer COGNITO_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name": "Claude Desktop"}'
Përgjigjja përmban fushën key — ky është çelësi juaj. Ruajeni atë!
Revokimi i çelësit
curl -X DELETE https://api.menugo.al/mcp/api/keys/mk_abc123 \
-H "Authorization: Bearer COGNITO_JWT_TOKEN"
⚠️ Krijimi dhe revokimi i çelësave kërkon një token Cognito JWT (jo çelës API). Përdorni panelin e administrimit — është më e thjeshtë.
Zgjidhja e problemeve
| Problemi | Zgjidhja |
|---|---|
401 Unauthorized |
Kontrolloni çelësin API. Nëse është revokuar — krijoni një të ri |
403 user identity required |
Përdorni Cognito JWT për menaxhimin e çelësave |
🔒 admin access required |
Komanda është e disponueshme vetëm për administratorët |
🔒 access denied |
Po përpiqeni të merrni të dhënat e një përdoruesi tjetër |
| Çelësi nuk funksionon | Kontrolloni nëse çelësi nuk është revokuar dhe formati: Bearer <key> |