Repositori ini berisi implementasi Python dari Model Context Protocol (MCP), yang menunjukkan cara membuat aplikasi server dan klien yang berkomunikasi menggunakan standar MCP.
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
Implementasi ini menunjukkan beberapa fitur utama MCP:
completion- Menghasilkan teks penyelesaian dari model AI (disimulasikan)add- Kalkulator sederhana yang menjumlahkan dua angka
models://- Mengembalikan informasi tentang model AI yang tersediagreeting://{name}- Mengembalikan sapaan personal untuk nama yang diberikan
review_code- Membuat prompt untuk mereview kode
Untuk menggunakan implementasi MCP ini, pasang paket yang dibutuhkan:
pip install mcp-server mcp-clientJalankan server di satu jendela terminal:
python server.pyServer juga dapat dijalankan dalam mode pengembangan menggunakan MCP CLI:
mcp dev server.pyAtau diinstal di Claude Desktop (jika tersedia):
mcp install server.pyJalankan klien di jendela terminal lain:
python client.pyIni akan terhubung ke server dan mendemonstrasikan semua fitur yang tersedia.
Klien (client.py) menunjukkan semua kemampuan MCP:
python client.pyIni 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
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 + bKlien 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})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.