全部产品
Search
文档中心

Container Service for Kubernetes:Gunakan kagent untuk memanggil server MCP melalui HTTP

更新时间:Dec 14, 2025

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:

  1. Transport stdio: Digunakan untuk komunikasi antar-proses lokal.

  2. 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: true

Menggunakan 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 valueFrom.secret:

...
spec:
  headersFrom:
  - name: Authorization
    valueFrom:
      secret:
        name: mcp-server-credentials
        key: token

Contoh penggunaan valueFrom.configMap:

...
spec:
  headersFrom:
  - name: X-API-Key
    valueFrom:
      configMap:
        name: mcp-config
        key: api-key

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.