在AI應用飛速發(fā)展的當下,大型語言模型(LLM)的應用場景正不斷拓展。為了讓LLM更好地整合數(shù)據(jù)和工具,MCP(Model Context Protocol)應運而生。今天,我們就來詳細了解一下如何開發(fā)一個MCP服務器。
在開始之前,你需要具備一些基礎知識和系統(tǒng)要求:
首先,我們需要安裝uv
并設置Python項目環(huán)境:
pip install uv
確保安裝完成后重啟終端,以便正確識別uv
命令。
接下來,創(chuàng)建并設置項目:
mkdir weather_server
cd weather_server
在weather.py
文件頂部添加以下代碼:
from fastmcp import FastMCP
mcp = FastMCP()
FastMCP類利用Python類型提示和文檔字符串自動生成工具定義,方便我們創(chuàng)建和維護MCP工具。
然后,添加查詢和格式化數(shù)據(jù)的輔助函數(shù)。這里,我們以美國國家氣象局API為例:
import requests
def get_weather_data(location):
# 這里是向國家氣象局API發(fā)送請求的代碼
# 響應數(shù)據(jù)將從API返回
pass
def format_weather_data(data):
# 這里是格式化天氣數(shù)據(jù)的代碼
pass
工具執(zhí)行處理器負責執(zhí)行每個工具的邏輯。我們繼續(xù)添加:
@mcp.tool()
def get_current_weather(location):
"""獲取當前位置的天氣情況"""
weather_data = get_weather_data(location)
return format_weather_data(weather_data)
最后,初始化并運行服務器:
if __name__ == "__main__":
mcp.run()
現(xiàn)在,你的服務器已經(jīng)構建完成!運行uv run weather.py
來確認一切正常。
我們可以使用Claude for Desktop來測試服務器。
claude_desktop_config.json
,通常位于~/Library/Application Support/Claude/
目錄下。如果文件不存在,則需要創(chuàng)建它。{
"mcpServers": [
{
"name": "weather",
"launchCommand": "uv --directory /ABSOLUTE/PATH/TO/PARENT/FOLDER/weather run weather.py"
}
]
}
保存文件后,重啟Claude for Desktop。
通過上述步驟,你就成功搭建并測試了一個簡單的MCP服務器。在編程獅(W3Cschool.cn)平臺,你可以找到更多關于MCP開發(fā)的實例和教程,幫助你進一步提升開發(fā)技能。
更多建議: