欧美www-老司机精品福利视频-一卡二卡三卡四卡-女人扒开腿免费视频app-日本免费网址-一本到在线-亚洲性xxxx-中国大陆毛片-中国美女囗交视频-欧美裸体性生活-中文字幕11页中文字幕11页

?? MCP生態

MCP協議解析:JSON-RPC 2.0驅動LLM連接工具與數據,賦能AI Agent開發

發布時間:2026-05-09 分類: MCP生態
摘要:MCP協議:用JSON-RPC 2.0給LLM裝上“神經突觸”,Agent開發就靠它了想讓你的AI Agent真正“動起來”,而不是只會聊天?關鍵在于連接。MCP(Model Context Protocol)協議,就是那個能讓LLM像人腦一樣,通過“神經突觸”連接各種工具、數據和服務的底層框架。它基于JSON-RPC 2.0,輕量、高效,是構建下一代AI自動化系統的核心。一、MCP的四大核...

封面

MCP協議:用JSON-RPC 2.0給LLM裝上“神經突觸”,Agent開發就靠它了

想讓你的AI Agent真正“動起來”,而不是只會聊天?關鍵在于連接。MCP(Model Context Protocol)協議,就是那個能讓LLM像人腦一樣,通過“神經突觸”連接各種工具、數據和服務的底層框架。它基于JSON-RPC 2.0,輕量、高效,是構建下一代AI自動化系統的核心。

一、MCP的四大核心能力:不止是API調用

很多人把MCP簡單理解為“給模型調API的協議”,這太小看它了。它的四大能力,構成了一個完整的Agent執行閉環:

  1. 工具發現與調用:Agent能動態發現Server提供了哪些工具(比如“發送郵件”、“查詢數據庫”),并像調用函數一樣調用它們。這解決了“模型不知道自己能干什么”的問題。
  2. 資源訪問與訂閱:Agent可以讀取Server提供的文件、數據庫記錄等資源,甚至訂閱其變化。比如,一個監控Agent可以訂閱服務器日志資源,一有錯誤就自動處理。
  3. 提示詞模板管理:Server可以提供預置的、高質量的提示詞模板。Agent調用工具時,自動套用最佳實踐模板,極大提升輸出質量的穩定性。
  4. 采樣控制與人機協同:這是安全關鍵。Agent在執行敏感操作(如刪除文件、大額支付)前,可以通過MCP協議將決策“采樣”回給人類用戶確認,實現可控的自動化。

商業價值點:這四大能力意味著,你可以將任何現有軟件服務(CRM、ERP、內部工具)快速封裝成MCP Server,瞬間讓成千上萬的AI Agent具備操作該服務的能力,實現服務的“AI化”分發。

二、四層架構:清晰分工,易于擴展

MCP的架構設計非常清晰,分為四層,開發者可以按需介入:

層級名稱職責類比
L1傳輸層負責客戶端與服務端之間的原始通信。支持stdio(本地進程通信)和HTTP + SSE(遠程流式通信)。神經網絡的“軸突”,傳遞電信號。
L2協議層定義消息格式。核心是JSON-RPC 2.0,規定了請求、響應、通知的結構。神經信號的“編碼規則”。
L3能力層實現四大核心能力(工具、資源、提示詞、采樣)的具體邏輯。不同腦區的“功能分區”(視覺區、語言區)。
L4應用層開發者編寫的業務邏輯,比如“查詢天氣工具”、“數據庫連接器”。具體的“思維活動”或“行為”。

工程價值:這種分層讓調試變得簡單。通信問題查L1/L2,工具調用失敗查L3/L4,邏輯清晰,不會一團亂麻。

三、實戰:開發一個生產級“數據庫查詢”MCP Server

理論說再多,不如寫個例子。我們來構建一個能讓AI Agent查詢MySQL數據庫的MCP Server。這里用Python和官方的mcp庫。

1. 安裝與基礎結構

pip install mcp mysql-connector-python

2. 核心代碼實現 (db_server.py)

import json
from typing import Any
import mysql.connector
from mcp.server import Server
from mcp.types import Tool, TextContent
import mcp.server.stdio

# 初始化MCP Server,給它一個名字
server = Server("mysql-query-server")

# 定義“工具”:這里是一個執行SQL查詢的工具
@server.tool("query_database")
async def query_database(sql: str) -> list[TextContent]:
    """執行只讀SQL查詢并返回JSON格式結果。"""
    try:
        # 安全警告:生產環境務必使用參數化查詢防止SQL注入!
        conn = mysql.connector.connect(

![配圖](http://www.xmhny.cn/usr/uploads/covers/cover_mcp_20260509_081128.jpg)

            host="localhost",
            user="your_user",
            password="your_password",
            database="your_db"
        )
        cursor = conn.cursor(dictionary=True)
        cursor.execute(sql)
        results = cursor.fetchall()
        cursor.close()
        conn.close()
        
        # 將結果轉為JSON字符串返回
        return [TextContent(type="text", text=json.dumps(results, ensure_ascii=False))]
    except Exception as e:
        return [TextContent(type="text", text=f"查詢出錯: {str(e)}")]

# 定義“資源”:這里提供數據庫表結構作為資源,讓Agent了解數據庫
@server.resource("schema://tables")
async def get_schema() -> str:
    """返回數據庫所有表的結構信息。"""
    # ... (連接數據庫,查詢information_schema的代碼,此處簡化)
    schema_info = {"users": ["id", "name", "email"], "orders": ["id", "user_id", "amount"]}
    return json.dumps(schema_info)

# 主函數:以stdio模式啟動Server
if __name__ == "__main__":
    mcp.server.stdio.run_server(server)

3. 部署與集成步驟

  1. 啟動Server:在終端運行 python db_server.py。它會通過stdin/stdout等待MCP客戶端的連接。
  2. 在AI客戶端(如Claude Desktop)中配置:在Claude的設置文件中添加:

    {
      "mcpServers": {
        "mysql-db": {
          "command": "python",
          "args": ["/path/to/db_server.py"]
        }
      }
    }
  3. 測試:現在你可以對Claude說:“幫我查一下用戶表里有多少條記錄。” Claude會發現query_database工具,生成SQL SELECT COUNT(*) FROM users,通過MCP調用你的Server,最終把結果告訴你。

可復制路徑:將這個Server部署在一臺固定服務器上,改用HTTP + SSE傳輸模式(修改run_server方式),你就能將這個數據庫查詢能力通過一個URL提供給所有支持MCP的AI客戶端和Agent框架,實現一次開發,多處調用。

四、下一步行動清單

  1. 動手跑通:復制上面的代碼,用你自己的一個簡單數據庫(甚至SQLite)跑通整個流程。感受一下Agent自動調用工具的神奇。
  2. 封裝你的服務:想想你手頭有什么重復性工作(比如整理報表、回復固定格式郵件),把它封裝成一個MCP Server的工具。
  3. 探索高級模式:試試“資源訂閱”功能。寫一個監控本地某個文件變化的Server,讓Agent在文件更新時自動觸發分析任務。
  4. 發布與商業化:將你開發的通用MCP Server(比如“PDF解析器”、“社交媒體發布器”)打包,在www.xmhny.cn(www.xmhny.cn)或類似平臺上作為插件發布。這是將你的技術能力直接產品化、貨幣化的最短路徑。

MCP不是未來,它已經是現在。掌握它,你就掌握了構建下一代智能自動化系統的“連接器”密碼。

返回首頁