Contoh Pelayan MCP dan PostgreSQL - Analisis Jualan Runcit

September 30, 2025 ยท View on GitHub

Belajar MCP dengan Integrasi Pangkalan Data melalui Contoh Praktikal

Penyumbang GitHub Isu GitHub Permintaan Tarik GitHub PRs Welcome

Sertai Discord Azure AI Foundry

Ikuti langkah-langkah ini untuk mula menggunakan sumber ini:

  1. Fork Repositori: Klik di sini untuk fork
  2. Clone Repositori: git clone https://github.com/YOUR-USERNAME/MCP-Server-and-PostgreSQL-Sample-Retail.git
  3. Sertai Discord Azure AI Foundry: Berhubung dengan pakar dan pembangun lain

๐ŸŒ Sokongan Pelbagai Bahasa

Disokong melalui GitHub Action (Automatik & Sentiasa Terkini)

Perancis | Sepanyol | Jerman | Rusia | Arab | Parsi (Farsi) | Urdu | Cina (Ringkas) | Cina (Tradisional, Macau) | Cina (Tradisional, Hong Kong) | Cina (Tradisional, Taiwan) | Jepun | Korea | Hindi | Bengali | Marathi | Nepali | Punjabi (Gurmukhi) | Portugis (Portugal) | Portugis (Brazil) | Itali | Poland | Turki | Yunani | Thai | Sweden | Denmark | Norway | Finland | Belanda | Ibrani | Vietnam | Indonesia | Melayu | Tagalog (Filipina) | Swahili | Hungary | Czech | Slovak | Romania | Bulgaria | Serbia (Cyrillic) | Croatia | Slovenia | Ukraine | Burma (Myanmar)

Jika anda ingin menambah sokongan bahasa tambahan, senarai bahasa yang disokong boleh didapati di sini

Pengenalan

Contoh ini menunjukkan cara membina dan melancarkan pelayan Model Context Protocol (MCP) yang menyediakan pembantu AI dengan akses pintar dan selamat kepada data jualan runcit melalui PostgreSQL. Projek ini mempamerkan ciri-ciri peringkat perusahaan termasuk Row Level Security (RLS), keupayaan carian semantik, dan integrasi Azure AI untuk senario analitik runcit dunia sebenar.

Kes Penggunaan Utama:

  • Analitik Jualan Berkuasa AI: Membolehkan pembantu AI membuat pertanyaan dan menganalisis data jualan runcit melalui bahasa semula jadi
  • Akses Multi-Tenant yang Selamat: Menunjukkan pelaksanaan Row Level Security di mana pengurus kedai yang berbeza hanya boleh mengakses data kedai mereka
  • Carian Produk Semantik: Memperlihatkan penemuan produk yang dipertingkatkan AI menggunakan teks embedding
  • Integrasi Perusahaan: Menunjukkan cara mengintegrasikan pelayan MCP dengan perkhidmatan Azure dan pangkalan data PostgreSQL

Sesuai untuk:

  • Pembangun yang belajar membina pelayan MCP dengan integrasi pangkalan data
  • Jurutera data yang melaksanakan penyelesaian analitik multi-tenant yang selamat
  • Pembangun aplikasi AI yang bekerja dengan data runcit atau e-dagang
  • Sesiapa yang berminat menggabungkan pembantu AI dengan pangkalan data perusahaan

Sertai Komuniti Discord Azure AI Foundry

Kongsi pengalaman anda tentang MCP dan berhubung dengan pakar serta kumpulan produk

Azure AI Discord

Pelayan MCP Analisis Jualan

Pelayan Model Context Protocol (MCP) yang menyediakan akses pangkalan data jualan pelanggan yang komprehensif untuk Perniagaan DIY Zava Retail. Pelayan ini membolehkan pembantu AI membuat pertanyaan dan menganalisis data jualan runcit melalui antara muka yang selamat dan sedar skema.

๐Ÿ“š Panduan Pelaksanaan Lengkap

Untuk penjelasan terperinci tentang cara penyelesaian ini dibina dan cara melaksanakan pelayan MCP yang serupa, lihat Panduan Contoh kami yang komprehensif. Panduan ini menyediakan:

  • Penyelaman Mendalam Seni Bina: Analisis komponen dan corak reka bentuk
  • Langkah Demi Langkah Membina: Dari persediaan projek hingga pelancaran
  • Penjelasan Kod: Penjelasan terperinci tentang pelaksanaan pelayan MCP
  • Ciri Lanjutan: Row Level Security, carian semantik, dan pemantauan
  • Amalan Terbaik: Garis panduan keselamatan, prestasi, dan pembangunan
  • Penyelesaian Masalah: Isu biasa dan penyelesaian

Sesuai untuk pembangun yang ingin memahami butiran pelaksanaan dan membina penyelesaian serupa.

๐Ÿค– Apa itu MCP (Model Context Protocol)?

Model Context Protocol (MCP) adalah standard terbuka yang membolehkan pembantu AI mengakses sumber data luaran dan alat dengan selamat dalam masa nyata. Ia berfungsi sebagai jambatan yang membolehkan model AI berhubung dengan pangkalan data, API, sistem fail, dan sumber lain sambil mengekalkan keselamatan dan kawalan.

Faedah Utama:

  • Akses Data Masa Nyata: Pembantu AI boleh membuat pertanyaan kepada pangkalan data dan API secara langsung
  • Integrasi Selamat: Akses terkawal dengan pengesahan dan kebenaran
  • Kebolehlanjutan Alat: Tambah keupayaan tersuai kepada pembantu AI
  • Protokol Standard: Berfungsi merentasi platform dan alat AI yang berbeza

Baru dengan MCP?

Jika anda baru dengan Model Context Protocol, kami mengesyorkan bermula dengan sumber pemula komprehensif Microsoft:

๐Ÿ“– Panduan MCP untuk Pemula

Sumber ini menyediakan:

  • Pengenalan kepada konsep dan seni bina MCP
  • Tutorial langkah demi langkah untuk membina pelayan MCP pertama anda
  • Amalan terbaik untuk pembangunan MCP
  • Contoh integrasi dengan platform AI popular
  • Sumber komuniti dan sokongan

Setelah anda memahami asasnya, kembali ke sini untuk meneroka pelaksanaan analitik runcit lanjutan ini!

๐Ÿ“š Panduan Pembelajaran Komprehensif: /walkthrough

Repositori ini termasuk panduan pembelajaran 12 modul lengkap yang memecahkan contoh pelayan MCP runcit ini kepada pelajaran langkah demi langkah yang mudah difahami. Panduan ini mengubah contoh kerja ini menjadi sumber pendidikan komprehensif yang sesuai untuk pembangun yang ingin memahami cara membina pelayan MCP bersedia untuk pengeluaran dengan integrasi pangkalan data.

Apa yang Akan Anda Pelajari

Panduan ini merangkumi segala-galanya daripada konsep asas MCP hingga pelancaran pengeluaran lanjutan, termasuk:

  • Asas MCP: Memahami Model Context Protocol dan aplikasinya dalam dunia sebenar
  • Integrasi Pangkalan Data: Melaksanakan sambungan PostgreSQL yang selamat dengan Row Level Security
  • Ciri Dipertingkatkan AI: Menambah keupayaan carian semantik dengan embedding Azure OpenAI
  • Pelaksanaan Keselamatan: Pengesahan, kebenaran, dan pengasingan data peringkat perusahaan
  • Pembangunan Alat: Membina alat MCP yang canggih untuk analisis data dan kecerdasan perniagaan
  • Ujian & Penyahpepijatan: Strategi ujian komprehensif dan teknik penyahpepijatan
  • Integrasi VS Code: Konfigurasi AI Chat untuk pertanyaan pangkalan data bahasa semula jadi
  • Pelancaran Pengeluaran: Strategi kontainerisasi, penskalaan, dan pelancaran awan
  • Pemantauan & Pemerhatian: Application Insights, logging, dan pemantauan prestasi

Gambaran Keseluruhan Laluan Pembelajaran

Panduan ini mengikuti struktur pembelajaran progresif yang direka untuk pembangun dari semua peringkat kemahiran:

ModulKawasan FokusPeneranganAnggaran Masa
00-PengenalanAsasKonsep MCP, kajian kes Zava Retail, gambaran seni bina30 minit
01-Seni BinaCorak Reka BentukSeni bina teknikal, reka bentuk berlapis, komponen sistem45 minit
02-KeselamatanKeselamatan PerusahaanPengesahan Azure, Row Level Security, pengasingan multi-tenant60 minit
03-PersediaanPersekitaranPersediaan Docker, Azure CLI, konfigurasi projek, pengesahan45 minit
04-Pangkalan DataLapisan DataSkema PostgreSQL, pgvector, polisi RLS, data contoh60 minit
05-Pelayan MCPPelaksanaan TerasRangka kerja FastMCP, integrasi pangkalan data, pengurusan sambungan90 minit
06-AlatPembangunan AlatPenciptaan alat MCP, pengesahan pertanyaan, ciri kecerdasan perniagaan75 minit
07-Carian SemantikIntegrasi AIEmbedding Azure OpenAI, carian vektor, strategi carian hibrid60 minit
08-UjianJaminan KualitiUjian unit, ujian integrasi, ujian prestasi, penyahpepijatan75 minit
09-VS CodePengalaman PembangunanKonfigurasi VS Code, integrasi AI Chat, aliran kerja penyahpepijatan45 minit
10-PelancaranSedia PengeluaranKontainerisasi, Azure Container Apps, pipeline CI/CD, penskalaan90 minit
11-PemantauanPemerhatianApplication Insights, logging berstruktur, metrik prestasi60 minit
12-Amalan TerbaikKecemerlangan PengeluaranPengukuhan keselamatan, pengoptimuman prestasi, corak perusahaan45 minit

Jumlah Masa Pembelajaran: ~12-15 jam pembelajaran praktikal yang komprehensif

๐ŸŽฏ Cara Menggunakan Panduan

Untuk Pemula:

  1. Mulakan dengan Modul 00: Pengenalan untuk memahami asas MCP
  2. Ikuti modul secara berurutan untuk pengalaman pembelajaran lengkap
  3. Setiap modul membina konsep sebelumnya dan termasuk latihan praktikal

Untuk Pembangun Berpengalaman:

  1. Semak Gambaran Keseluruhan Panduan Utama untuk ringkasan modul lengkap
  2. Lompat ke modul tertentu yang menarik minat anda (contohnya, Modul 07 untuk integrasi AI)
  3. Gunakan modul individu sebagai bahan rujukan untuk projek anda sendiri

Untuk Pelaksanaan Pengeluaran:

  1. Fokus pada Modul 02 (Keselamatan), 10 (Pelancaran), dan 11 (Pemantauan)
  2. Semak Modul 12 (Amalan Terbaik) untuk garis panduan perusahaan
  3. Gunakan contoh kod sebagai templat sedia pengeluaran

๐Ÿš€ Pilihan Permulaan Pantas

Pilihan 1: Laluan Pembelajaran Lengkap (Disyorkan untuk pemula)

# Clone and start with the introduction
git clone https://github.com/microsoft/MCP-Server-and-PostgreSQL-Sample-Retail.git
cd MCP-Server-and-PostgreSQL-Sample-Retail/walkthrough
# Follow along starting with 00-Introduction/README.md

Pilihan 2: Pelaksanaan Praktikal (Terus mula membina)

# Start with setup and build as you learn
cd walkthrough/03-Setup
# Follow the setup guide and continue through implementation modules

Pilihan 3: Fokus Pengeluaran (Pelancaran perusahaan)

# Focus on production-ready aspects
# Review modules: 02-Security, 10-Deployment, 11-Monitoring, 12-Best-Practices

๐Ÿ“‹ Prasyarat Pembelajaran

Latar Belakang Disarankan:

  • Pengalaman asas dalam pengaturcaraan Python
  • Kefahaman tentang REST API dan pangkalan data
  • Pemahaman umum tentang konsep AI/ML
  • Pengetahuan asas tentang baris perintah dan Docker

Tidak Diperlukan (tetapi berguna):

  • Pengalaman MCP sebelumnya (kami akan mengajar dari awal)
  • Pengalaman dengan Azure cloud (kami menyediakan panduan langkah demi langkah)
  • Pengetahuan lanjutan tentang PostgreSQL (kami akan menerangkan konsep yang diperlukan)

๐Ÿ’ก Tip Pembelajaran

  1. Pendekatan Praktikal: Setiap modul mengandungi contoh kod yang boleh dijalankan dan diubah suai
  2. Kerumitan Secara Berperingkat: Konsep dibina secara beransur-ansur daripada mudah kepada kompleks
  3. Konteks Dunia Sebenar: Semua contoh menggunakan senario perniagaan runcit yang realistik
  4. Sedia untuk Pengeluaran: Contoh kod direka untuk digunakan dalam pengeluaran sebenar
  5. Sokongan Komuniti: Sertai komuniti Discord kami untuk bantuan dan perbincangan

๐Ÿ”— Sumber Berkaitan

Sedia untuk mula belajar? Mulakan dengan Modul 00: Pengenalan atau terokai gambaran keseluruhan panduan lengkap.

Prasyarat

  1. Docker Desktop dipasang
  2. Git dipasang
  3. Azure CLI: Pasang dan sahkan dengan Azure CLI
  4. Akses kepada model OpenAI text-embedding-3-small dan secara opsional model gpt-4o-mini.

Memulakan

Buka tetingkap terminal dan jalankan arahan berikut:

  1. Sahkan dengan Azure CLI

    az login
    
  2. Klon repositori

    git clone https://github.com/gloveboxes/Zava-MCP-Server-and-PostgreSQL-Sample
    
  3. Navigasi ke direktori projek

    cd Zava-MCP-Server-and-PostgreSQL-Sample
    

Menyebarkan Sumber Azure

Jalankan skrip berikut untuk mengautomasi penyebaran sumber Azure yang diperlukan untuk pelayan MCP.

Skrip penyebaran akan secara automatik menyebarkan model text-embedding-3-small. Semasa penyebaran, anda akan mempunyai pilihan untuk turut menyertakan model gpt-4o-mini. Perlu diingat bahawa gpt-4o-mini tidak diperlukan untuk projek ini dan hanya disertakan untuk peningkatan masa depan yang berpotensi.

Pilih skrip untuk platform anda:

Windows (PowerShell)

# Run from the project root directory
cd infra && ./deploy.ps1

macOS/Linux (Bash)

# Run from the project root directory
cd infra && ./deploy.sh

Menjalankan Pelayan MCP

Cara paling mudah untuk menjalankan keseluruhan stack (PostgreSQL + Pelayan MCP) adalah menggunakan Docker Compose:

Mulakan Stack

# Start PostgreSQL and MCP Server
docker compose up -d

# View logs
docker compose logs -f

# View MCP Server Logs
docker compose logs -f mcp_server

# View the PostgreSQL Logs
docker compose logs -f pg17

# Stop the stack
docker compose down -v

Penggunaan

Berikut mengandaikan anda akan menggunakan sokongan pelayan MCP terbina dalam VS Code.

  1. Buka projek dalam VS Code. Dari terminal, jalankan:

    code .
    
  2. Mulakan satu atau lebih pelayan MCP menggunakan konfigurasi dalam .vscode/mcp.json. Fail ini mengandungi empat konfigurasi pelayan yang berbeza, setiap satu mewakili peranan pengurus kedai yang berbeza:

    • Setiap konfigurasi menggunakan ID pengguna RLS (Row Level Security) yang unik
    • ID pengguna ini mensimulasikan identiti pengurus kedai yang berbeza mengakses pangkalan data
    • Sistem RLS mengehadkan akses data berdasarkan kedai yang ditugaskan kepada pengurus
    • Ini meniru senario dunia sebenar di mana pengurus kedai log masuk dengan akaun Entra ID yang berbeza
    {
        "servers": {
            "zava-sales-analysis-headoffice": {
                "url": "http://127.0.0.1:8000/mcp",
                "type": "http",
                "headers": {"x-rls-user-id": "00000000-0000-0000-0000-000000000000"}
            },
            "zava-sales-analysis-seattle": {
                "url": "http://127.0.0.1:8000/mcp",
                "type": "http",
                "headers": {"x-rls-user-id": "f47ac10b-58cc-4372-a567-0e02b2c3d479"}
            },
            "zava-sales-analysis-redmond": {
                "url": "http://127.0.0.1:8000/mcp",
                "type": "http",
                "headers": {"x-rls-user-id": "e7f8a9b0-c1d2-3e4f-5678-90abcdef1234"}
            },
            "zava-sales-analysis-online": {
                "url": "http://127.0.0.1:8000/mcp",
                "type": "http",
                "headers": {"x-rls-user-id": "2f4e6d8c-1a3b-5c7e-9f0a-b2d4f6e8c0a2"}
            }
        },
        "inputs": []
    }
    

Buka AI Chat VS Code

  1. Buka mod AI Chat dalam VS Code
  2. Taip #zava dan pilih salah satu pelayan MCP yang anda mulakan
  3. Tanyakan soalan tentang data jualan - Lihat contoh pertanyaan di bawah

Contoh Pertanyaan

  1. Tunjukkan 20 produk teratas mengikut hasil jualan
  2. Tunjukkan jualan mengikut kedai
  3. Apakah jualan suku terakhir mengikut kategori?
  4. Apakah produk yang kami jual yang serupa dengan "bekas untuk cat"

Ciri-ciri

  • Akses Skema Multi-Jadual: Dapatkan skema untuk beberapa jadual pangkalan data dalam satu permintaan
  • Pelaksanaan Pertanyaan Selamat: Jalankan pertanyaan PostgreSQL dengan sokongan Row Level Security (RLS)
  • Data Masa Nyata: Akses data jualan, inventori, dan pelanggan semasa
  • Utiliti Tarikh/Masa: Dapatkan cap masa UTC semasa untuk analisis sensitif masa
  • Penyebaran Fleksibel: Menyokong mod pelayan HTTP

Jadual yang Disokong

Pelayan menyediakan akses kepada jadual pangkalan data runcit berikut:

  • retail.customers - Maklumat dan profil pelanggan
  • retail.stores - Lokasi dan butiran kedai
  • retail.categories - Kategori produk dan hierarki
  • retail.product_types - Klasifikasi jenis produk
  • retail.products - Katalog produk dan spesifikasi
  • retail.orders - Pesanan pelanggan dan transaksi
  • retail.order_items - Item individu dalam pesanan
  • retail.inventory - Tahap inventori semasa dan data stok

Alat yang Tersedia

get_multiple_table_schemas

Dapatkan skema pangkalan data untuk beberapa jadual dalam satu permintaan.

Parameter:

  • table_names (list[str]): Senarai nama jadual yang sah daripada jadual yang disokong di atas

Pulangan: Rentetan skema yang digabungkan untuk jadual yang diminta

execute_sales_query

Jalankan pertanyaan PostgreSQL terhadap pangkalan data jualan dengan Row Level Security.

Parameter:

  • postgresql_query (str): Pertanyaan PostgreSQL yang dibentuk dengan baik

Pulangan: Hasil pertanyaan yang diformatkan sebagai rentetan (dihadkan kepada 20 baris untuk kebolehbacaan)

Amalan Terbaik:

  • Sentiasa dapatkan skema jadual terlebih dahulu
  • Gunakan nama lajur yang tepat daripada skema
  • Gabungkan jadual berkaitan untuk analisis yang komprehensif
  • Agregatkan hasil apabila sesuai
  • Hadkan output untuk kebolehbacaan

get_current_utc_date

Dapatkan tarikh dan masa UTC semasa dalam format ISO.

Pulangan: Tarikh/masa UTC semasa dalam format ISO (YYYY-MM-DDTHH:MM:SS.fffffZ)

semantic_search_products

Lakukan carian semantik untuk produk berdasarkan pertanyaan pengguna.

Pulangan: Senarai produk yang sepadan dengan kriteria carian

Parameter:

  • query (str): Rentetan pertanyaan carian

Pulangan: Senarai produk yang sepadan dengan kriteria carian

Ciri Keselamatan

Row Level Security (RLS)

Pelayan melaksanakan Row Level Security untuk memastikan pengguna hanya mengakses data yang mereka diberi kuasa untuk melihat:

  • Mod HTTP: Menggunakan header x-rls-user-id untuk mengenal pasti pengguna yang membuat permintaan

  • Fallback Lalai: Menggunakan UUID placeholder apabila tiada ID pengguna disediakan

ID Pengguna RLS Khusus Kedai

Setiap lokasi kedai Zava Retail mempunyai ID pengguna RLS yang unik yang menentukan data mana yang boleh diakses oleh pengguna:

Lokasi KedaiID Pengguna RLSPenerangan
Akses Global00000000-0000-0000-0000-000000000000Fallback lalai - akses semua kedai
Seattlef47ac10b-58cc-4372-a567-0e02b2c3d479Data kedai Zava Retail Seattle
Bellevue6ba7b810-9dad-11d1-80b4-00c04fd430c8Data kedai Zava Retail Bellevue
Tacomaa1b2c3d4-e5f6-7890-abcd-ef1234567890Data kedai Zava Retail Tacoma
Spokaned8e9f0a1-b2c3-4567-8901-234567890abcData kedai Zava Retail Spokane
Everett3b9ac9fa-cd5e-4b92-a7f2-b8c1d0e9f2a3Data kedai Zava Retail Everett
Redmonde7f8a9b0-c1d2-3e4f-5678-90abcdef1234Data kedai Zava Retail Redmond
Kirkland9c8b7a65-4321-fed0-9876-543210fedcbaData kedai Zava Retail Kirkland
Online2f4e6d8c-1a3b-5c7e-9f0a-b2d4f6e8c0a2Data kedai Zava Retail Online

Pelaksanaan RLS

Apabila pengguna berhubung dengan ID Pengguna RLS kedai tertentu, mereka hanya akan melihat:

  • Pelanggan yang dikaitkan dengan kedai tersebut
  • Pesanan yang dibuat di lokasi kedai tersebut
  • Data inventori untuk kedai tertentu
  • Metrik jualan dan prestasi khusus kedai

Ini memastikan pengasingan data antara lokasi kedai yang berbeza sambil mengekalkan skema pangkalan data yang bersatu.

Seni Bina

Konteks Aplikasi

Pelayan menggunakan konteks aplikasi terurus dengan:

  • Kolam Sambungan Pangkalan Data: Pengurusan sambungan yang cekap untuk mod HTTP
  • Pengurusan Kitaran Hayat: Pembersihan sumber yang betul semasa penutupan
  • Keselamatan Jenis: Konteks yang ditaip dengan kuat dengan dataclass AppContext

Konteks Permintaan

  • Ekstraksi Header: Penguraian header yang selamat untuk pengenalan pengguna
  • Integrasi RLS: Resolusi ID pengguna automatik daripada konteks permintaan
  • Pengendalian Ralat: Pengendalian ralat yang komprehensif dengan mesej mesra pengguna

Integrasi Pangkalan Data

Pelayan berintegrasi dengan pangkalan data PostgreSQL melalui kelas PostgreSQLSchemaProvider:

  • Kolam Sambungan: Menggunakan kolam sambungan async untuk skalabiliti
  • Metadata Skema: Menyediakan maklumat skema jadual yang terperinci
  • Pelaksanaan Pertanyaan: Pelaksanaan pertanyaan yang selamat dengan sokongan RLS
  • Pengurusan Sumber: Pembersihan sumber pangkalan data secara automatik

Pengendalian Ralat

Pelayan melaksanakan pengendalian ralat yang kukuh:

  • Pengesahan Jadual: Memastikan hanya nama jadual yang sah diakses
  • Pengesahan Pertanyaan: Memastikan pertanyaan PostgreSQL sah sebelum pelaksanaan
  • Pengurusan Sumber: Pembersihan yang betul walaupun semasa ralat
  • Mesej Mesra Pengguna: Mesej ralat yang jelas untuk penyelesaian masalah

Pertimbangan Keselamatan

  1. Row Level Security: Semua pertanyaan menghormati polisi RLS berdasarkan identiti pengguna
  2. Pengasingan Data Kedai: ID Pengguna RLS setiap kedai memastikan akses hanya kepada data kedai tersebut
  3. Pengesahan Input: Nama jadual dan pertanyaan disahkan sebelum pelaksanaan
  4. Had Sumber: Hasil pertanyaan dihadkan untuk mencegah penggunaan sumber yang berlebihan
  5. Keselamatan Sambungan: Menggunakan amalan sambungan pangkalan data yang selamat
  6. Pengesahan Identiti Pengguna: Sentiasa pastikan ID Pengguna RLS yang betul digunakan untuk lokasi kedai yang dimaksudkan

Nota Keselamatan Penting

  • Jangan gunakan ID Pengguna RLS pengeluaran dalam persekitaran pembangunan
  • Sentiasa sahkan ID Pengguna RLS sepadan dengan kedai yang dimaksudkan sebelum menjalankan pertanyaan
  • UUID lalai (00000000-0000-0000-0000-000000000000) menyediakan akses terhad
  • Setiap pengurus kedai hanya harus mempunyai akses kepada ID Pengguna RLS kedai mereka

Pembangunan

Struktur Projek

mcp_server/
โ”œโ”€โ”€ sales_analysis.py          # Main MCP server implementation
โ”œโ”€โ”€ sales_analysis_postgres.py # PostgreSQL integration layer
โ”œโ”€โ”€ sales_analysis_text_embedding.py # Text embedding for semantic search tool

Komponen Utama

  • Pelayan FastMCP: Pelaksanaan pelayan MCP moden dengan sokongan async
  • Penyedia PostgreSQL: Lapisan abstraksi pangkalan data dengan sokongan RLS
  • Pengurusan Konteks: Pengendalian konteks aplikasi dan permintaan yang ditaip dengan selamat
  • Pendaftaran Alat: Pendaftaran alat secara deklaratif dengan pengesahan Pydantic

Menyumbang

Apabila menyumbang kepada pelayan ini:

  1. Pastikan semua pertanyaan pangkalan data menghormati Row Level Security
  2. Tambahkan pengendalian ralat yang betul untuk alat baru
  3. Kemas kini README ini dengan sebarang ciri atau perubahan baru
  4. Uji mod pelayan HTTP
  5. Sahkan parameter input dan sediakan mesej ralat yang jelas

Lesen


Pelayan MCP ini membolehkan akses yang selamat dan cekap kepada data jualan Zava Retail untuk analisis dan wawasan yang dikuasakan oleh AI.


Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk memastikan ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang berwibawa. Untuk maklumat yang kritikal, terjemahan manusia profesional adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.