以下是基于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
uv pip install fastmcp
等待安装完成。
3、编写mcp工具和资源
安装完成之后,即可编写代码,打开main.py文件,参考官方示例代码如下:
import os
from pathlib import Path
from typing import List,Dict
from fastmcp import FastMCP
mcp= 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 来进行运行调试。