Repositori ini mengandungi pelaksanaan Python bagi Model Context Protocol (MCP), yang menunjukkan cara untuk mencipta aplikasi server dan klien yang berkomunikasi menggunakan piawaian MCP.
Pelaksanaan MCP terdiri daripada dua komponen utama:
-
MCP Server (
server.py) - Server yang menyediakan:- Tools: Fungsi yang boleh dipanggil dari jauh
- Resources: Data yang boleh diambil
- Prompts: Templat untuk menghasilkan arahan bagi model bahasa
-
MCP Client (
client.py) - Aplikasi klien yang menyambung ke server dan menggunakan ciri-cirinya
Pelaksanaan ini menunjukkan beberapa ciri utama MCP:
completion- Menjana teks lengkap dari model AI (disimulasikan)add- Kalkulator ringkas yang menambah dua nombor
models://- Mengembalikan maklumat tentang model AI yang tersediagreeting://{name}- Mengembalikan ucapan peribadi untuk nama yang diberikan
review_code- Menjana arahan untuk menyemak kod
Untuk menggunakan pelaksanaan MCP ini, pasang pakej yang diperlukan:
pip install mcp-server mcp-clientJalankan server dalam satu tetingkap terminal:
python server.pyServer juga boleh dijalankan dalam mod pembangunan menggunakan MCP CLI:
mcp dev server.pyAtau dipasang dalam Claude Desktop (jika tersedia):
mcp install server.pyJalankan klien dalam tetingkap terminal yang lain:
python client.pyIni akan menyambung ke server dan menunjukkan semua ciri yang tersedia.
Klien (client.py) menunjukkan semua keupayaan MCP:
python client.pyIni akan menyambung ke server dan menggunakan semua ciri termasuk tools, resources, dan prompts. Output akan menunjukkan:
- Keputusan alat kalkulator (5 + 7 = 12)
- Respons alat completion untuk "What is the meaning of life?"
- Senarai model AI yang tersedia
- Ucapan peribadi untuk "MCP Explorer"
- Templat arahan semakan kod
Server dilaksanakan menggunakan API FastMCP, yang menyediakan abstraksi tahap tinggi untuk mentakrifkan perkhidmatan MCP. Berikut adalah contoh ringkas bagaimana tools ditakrifkan:
@mcp.tool()
def add(a: int, b: int) -> int:
"""Add two numbers together
Args:
a: First number
b: Second number
Returns:
The sum of the two numbers
"""
logger.info(f"Adding {a} and {b}")
return a + bKlien menggunakan perpustakaan klien MCP untuk menyambung dan memanggil server:
async with stdio_client(server_params) as (reader, writer):
async with ClientSession(reader, writer) as session:
await session.initialize()
result = await session.call_tool("add", arguments={"a": 5, "b": 7})Untuk maklumat lanjut tentang MCP, lawati: https://modelcontextprotocol.io/
Penafian:
Dokumen ini telah diterjemahkan menggunakan perkhidmatan terjemahan AI Co-op Translator. Walaupun kami berusaha untuk ketepatan, sila ambil perhatian bahawa terjemahan automatik mungkin mengandungi kesilapan atau ketidaktepatan. Dokumen asal dalam bahasa asalnya harus dianggap sebagai sumber yang sahih. Untuk maklumat penting, terjemahan profesional oleh manusia adalah disyorkan. Kami tidak bertanggungjawab atas sebarang salah faham atau salah tafsir yang timbul daripada penggunaan terjemahan ini.