全部產品
Search
文件中心

Container Service for Kubernetes:使用kagent調用HTTP協議的MCPServer

更新時間:Dec 17, 2025

kagent提供了RemoteMCPServer自訂資源定義(CRD)來接入遠端MCP伺服器。

基於HTTP的MCP協議簡介

Model Context Protocol (MCP) 是一種用於AI應用與其上下文源之間進行通訊的協議。MCP支援多種傳輸層機制,其中基於HTTP的傳輸協議為遠程伺服器通訊提供了標準化的解決方案。

MCP架構概述

MCP採用用戶端-伺服器架構,主要參與者包括:

  • MCP Host: 協調和管理一個或多個MCP用戶端的AI應用(如Claude Code、Claude Desktop等)。

  • MCP Client: 維護與MCP伺服器的串連並擷取內容相關的組件。

  • MCP Server: 向MCP用戶端提供內容相關的程式。

HTTP傳輸層

MCP支援兩種傳輸機制:

  1. Stdio傳輸: 用於本地處理序間通訊。

  2. Streamable HTTP傳輸: 使用HTTP POST進行用戶端到伺服器的訊息傳遞,支援可選的Server-Sent Events (SSE) 進行串流。

Streamable HTTP傳輸支援標準HTTP認證方法,包括Bearer令牌、API密鑰和自訂頭資訊,並建議使用OAuth擷取認證令牌。

核心功能

MCP定義了三類伺服器可以暴露的核心原語:

  • Tools: AI應用可以調用的可執行功能(如檔案操作、API調用、資料庫查詢)。

  • Resources: 提供上下文資訊的資料來源(如檔案內容、資料庫記錄、API響應)。

  • Prompts: 用於與語言模型互動的可重用模板。

在kagent中接入HTTP協議的MCP服務

kagent提供了RemoteMCPServer自訂資源定義(CRD)來接入遠端MCP伺服器。

使用樣本

apiVersion: kagent.dev/v1alpha2
kind: RemoteMCPServer
metadata:
  name: example-http-mcp-server
  namespace: default
spec:
  description: "樣本HTTP協議MCP伺服器"
  protocol: STREAMABLE_HTTP  # 使用HTTP協議
  url: https://example-mcp-server.com  # MCP伺服器URL
  headersFrom:
  - name: Authorization
    valueFrom:
      secret:
        name: mcp-server-credentials
        key: token
  timeout: 30s
  terminateOnClose: true

在Agent中使用RemoteMCPServer

定義好RemoteMCPServer後,可以在Agent中將其作為工具源使用:

apiVersion: kagent.dev/v1alpha2
kind: Agent
metadata:
  name: example-agent
  namespace: default
spec:
  declarative:
    systemMessage: "你是一個使用外部工具的AI助手"
    tools:
    - type: McpServer
      mcpServer:
        apiGroup: kagent.dev
        kind: RemoteMCPServer
        name: example-http-mcp-server
        toolNames: ["example-tool1", "example-tool2"]  # 指定要使用的工具名稱

認證配置

對於需要認證的MCP伺服器,可以通過Secret配置認證資訊:

apiVersion: v1
kind: Secret
metadata:
  name: mcp-server-credentials
  namespace: default
data:
  token: <base64-encoded-api-key>

然後在RemoteMCPServer中引用。

使用valueFrom.secret樣本:

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

使用valueFrom.configMap樣本:

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

通過這種方式,可以輕鬆地將基於HTTP協議的MCP伺服器整合到kagent中,為AI應用提供豐富的上下文和工具能力。