kagent menyediakan Custom Resource Definition (CRD) RemoteMCPServer untuk menghubungkan ke server MCP jarak jauh.
Pengenalan MCP berbasis HTTP
Model Context Protocol (MCP) adalah protokol untuk komunikasi antara aplikasi AI dan sumber konteksnya. MCP mendukung berbagai mekanisme lapisan transport. Protokol transport berbasis HTTP menyediakan solusi terstandarisasi untuk komunikasi dengan server jarak jauh.
Ikhtisar arsitektur MCP
MCP menggunakan arsitektur client-server. Peserta utamanya meliputi:
MCP Host: Aplikasi AI, seperti Claude Code atau Claude Desktop, yang mengoordinasikan dan mengelola satu atau beberapa klien MCP.
MCP Client: Komponen yang mempertahankan koneksi ke server MCP dan mengambil konteks.
MCP Server: Program yang menyediakan konteks kepada klien MCP.
Lapisan transport HTTP
MCP mendukung dua mekanisme transport:
Transport stdio: Digunakan untuk komunikasi antar-proses lokal.
Transport HTTP streamable: Menggunakan HTTP POST untuk pengiriman pesan dari klien ke server dan mendukung Server-Sent Events (SSE) opsional untuk streaming.
Transport HTTP streamable mendukung metode autentikasi HTTP standar, termasuk token bearer, Kunci API, dan header kustom. Kami merekomendasikan penggunaan OAuth untuk memperoleh token otentikasi.
Fitur inti
MCP mendefinisikan tiga jenis primitif inti yang dapat diekspos oleh server:
Tools: Fungsi yang dapat dieksekusi oleh aplikasi AI, seperti operasi file, panggilan API, atau kueri database.
Resources: Sumber data yang menyediakan informasi kontekstual, seperti isi file, catatan database, atau respons API.
Prompts: Templat yang dapat digunakan kembali untuk berinteraksi dengan model bahasa.
Menghubungkan ke layanan MCP berbasis HTTP di kagent
kagent menyediakan Custom Resource Definition (CRD) RemoteMCPServer untuk menghubungkan ke server MCP jarak jauh.
Contoh
apiVersion: kagent.dev/v1alpha2
kind: RemoteMCPServer
metadata:
name: example-http-mcp-server
namespace: default
spec:
description: "Contoh server MCP berbasis HTTP"
protocol: STREAMABLE_HTTP # Gunakan protokol HTTP
url: https://example-mcp-server.com # URL server MCP
headersFrom:
- name: Authorization
valueFrom:
secret:
name: mcp-server-credentials
key: token
timeout: 30s
terminateOnClose: trueMenggunakan RemoteMCPServer dalam agen
Setelah Anda mendefinisikan RemoteMCPServer, gunakan sebagai sumber tool dalam agen:
apiVersion: kagent.dev/v1alpha2
kind: Agent
metadata:
name: example-agent
namespace: default
spec:
declarative:
systemMessage: "Anda adalah asisten AI yang menggunakan tool eksternal."
tools:
- type: McpServer
mcpServer:
kind: RemoteMCPServer
name: example-http-mcp-server
toolNames: ["example-tool1", "example-tool2"] # Tentukan nama tool yang akan digunakan.Konfigurasi autentikasi
Untuk server MCP yang memerlukan autentikasi, konfigurasikan informasi autentikasi dalam Secret:
apiVersion: v1
kind: Secret
metadata:
name: mcp-server-credentials
namespace: default
data:
token: <base64-encoded-api-key>Kemudian, referensikan Secret tersebut dalam RemoteMCPServer.
Contoh penggunaan | Contoh penggunaan |
Metode ini memungkinkan Anda mengintegrasikan server MCP berbasis HTTP ke dalam kagent secara mudah, sehingga memberikan kemampuan konteks dan tool yang kaya bagi aplikasi AI Anda.