3.5 KiB
Implementasi Python Model Context Protocol (MCP)
Repositori ini berisi implementasi Python dari Model Context Protocol (MCP), yang menunjukkan cara membuat aplikasi server dan klien yang berkomunikasi menggunakan standar MCP.
Ikhtisar
Implementasi MCP terdiri dari dua komponen utama:
-
MCP Server (
server.py) - Server yang menyediakan:- Tools: Fungsi yang dapat dipanggil secara remote
- Resources: Data yang dapat diambil
- Prompts: Template untuk membuat prompt bagi model bahasa
-
MCP Client (
client.py) - Aplikasi klien yang terhubung ke server dan menggunakan fiturnya
Fitur
Implementasi ini menunjukkan beberapa fitur utama MCP:
Tools
completion- Menghasilkan teks penyelesaian dari model AI (disimulasikan)add- Kalkulator sederhana yang menjumlahkan dua angka
Resources
models://- Mengembalikan informasi tentang model AI yang tersediagreeting://{name}- Mengembalikan sapaan personal untuk nama yang diberikan
Prompts
review_code- Membuat prompt untuk mereview kode
Instalasi
Untuk menggunakan implementasi MCP ini, pasang paket yang dibutuhkan:
pip install mcp-server mcp-client
Menjalankan Server dan Klien
Memulai Server
Jalankan server di satu jendela terminal:
python server.py
Server juga dapat dijalankan dalam mode pengembangan menggunakan MCP CLI:
mcp dev server.py
Atau diinstal di Claude Desktop (jika tersedia):
mcp install server.py
Menjalankan Klien
Jalankan klien di jendela terminal lain:
python client.py
Ini akan terhubung ke server dan mendemonstrasikan semua fitur yang tersedia.
Penggunaan Klien
Klien (client.py) menunjukkan semua kemampuan MCP:
python client.py
Ini akan terhubung ke server dan menjalankan semua fitur termasuk tools, resources, dan prompts. Output akan menampilkan:
- Hasil tool kalkulator (5 + 7 = 12)
- Respon tool completion untuk "What is the meaning of life?"
- Daftar model AI yang tersedia
- Sapaan personal untuk "MCP Explorer"
- Template prompt review kode
Detail Implementasi
Server diimplementasikan menggunakan API FastMCP, yang menyediakan abstraksi tingkat tinggi untuk mendefinisikan layanan MCP. Berikut contoh sederhana bagaimana tools didefinisikan:
@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 + b
Klien menggunakan library MCP client untuk terhubung 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})
Pelajari Lebih Lanjut
Untuk informasi lebih lanjut tentang MCP, kunjungi: https://modelcontextprotocol.io/
Penafian:
Dokumen ini telah diterjemahkan menggunakan layanan terjemahan AI Co-op Translator. Meskipun kami berupaya untuk akurasi, harap diketahui bahwa terjemahan otomatis mungkin mengandung kesalahan atau ketidakakuratan. Dokumen asli dalam bahasa aslinya harus dianggap sebagai sumber yang sah. Untuk informasi penting, disarankan menggunakan terjemahan profesional oleh manusia. Kami tidak bertanggung jawab atas kesalahpahaman atau penafsiran yang salah yang timbul dari penggunaan terjemahan ini.