以下是基于windows 11操作系統環境的開發步驟。
1、python環境搭建
訪問官網:https://www.python.org/。下載相應的版本(如:3.13.5),然后安裝。
安裝完成之后,使用命令行工具輸入python,顯示如下圖即可安裝成功。
2、fastmcp項目的初始化
fastmcp的文檔地址:FastMCP MCP框架,推薦使用UV來安裝和管理 FastMCP。
我要在H:\mcp-demo文件夾下創建我的項目,使用vs code打開該文件夾項目。
(1)UV的安裝
進入UV官網的安裝文檔Installation | uv,如下圖:
安裝完成之后,在命令行里錄入UV時,出現如下信息,即為安裝成功:
(2)使用UV來初始化項目,如下圖:
即可自動初始化如下圖所示的項目:
(3)使用uv創建python虛擬環境
項目目錄里多了一個文件夾。
(4)按照上一步的提示,使用”.venv\Scripts\activate“進行激話,因為我們是windows環境,所以打開.venv目錄查看
使用.venv\Scripts\activate.bat
.venv\Scripts\activate.bat
這個時候,項目的環境變量更新了。驗證方式:輸入python,即可出現我們希望的python版本信息,如圖
使用exit()退回。
(5)安裝fastmcp
參考fastmcp文檔
uv pip install fastmcp
等待安裝完成。
3、編寫mcp工具和資源
安裝完成之后,即可編寫代碼,打開main.py文件,參考官方示例代碼如下:
import os
from pathlib import Path
from typing import List,Dict
from fastmcp import FastMCPmcp= FastMCP(name="我的文件MCP服務器")# 在應用啟動前設置
# os.environ["DANGEROUSLY_OMIT_AUTH"] = "true"@mcp.tool(description="獲取當前電腦桌面的路徑")
def get_desktop() -> str:return f"H:\mcp-demo"@mcp.tool(description="遍歷文件夾下的所有文件")
def list_files_in_directory(directory_path: str) -> List[str]:path = Path(directory_path)if not path.exists() or not path.is_dir():return [{"error": "指定的路徑不存在或不是一個目錄"}]files=[]for file in path.iterdir():if file.is_file():files.append({"file_name":file.name, "file_path": str(file)})return files@mcp.tool(description="搜索文件夾下的特定文件")
def search_files(directory_path: str, keyword: str) -> List[Dict[str, str]]:path = Path(directory_path)if not path.exists() or not path.is_dir():return [{"error": "指定的路徑不存在或不是一個目錄"}]results = []for file in path.iterdir():if file.is_file() and keyword.lower() in file.name.lower():results.append({"file_name": file.name, "file_path": str(file)})return results# def main():
# print("Hello from workon-mcp!")if __name__ == "__main__":# main()mcp.run() # 啟動MCP服務器 # Default: uses STDIO transport# mcp.run(transport="sse", host="127.0.0.1", port=8000)
4、運行測試
使用 fastmcp run 來進行運行調試。