天津网站建设制作排名无锡谷歌优化
Python编写的MCP Server,采用 uvx 工具来管理包依赖,参考《UV安装与使用-CSDN博客》安装环境。
1. 初始化项目
先进入工作目录,利用uv初始化项目:
uv init MCPServer1
进入到项目目录,创建虚拟环境,并激活:
uv venv
.venv\Scripts\activate# 查看python版本
(base) (MCPServer1) PS D:\MCP\MCPServer1> python -V
Python 3.10.9
安装依赖:
uv add mcp[cli]
注意: 需要设置本地镜像加速,否则很慢。
2. 定义Server和tool
编辑main.py文件,修改如下:
from mcp.server.fastmcp import FastMCP
from pydantic import Field# Initialize FastMCP server
mcp = FastMCP("hello-mcp-server", log_level="ERROR")# 模拟的数据库
user_database = {"001": {"name": "张三", "age": 30, "city": "北京"},"002": {"name": "李四", "age": 25, "city": "上海"},"003": {"name": "王五", "age": 35, "city": "武汉"},
}@mcp.tool()
async def get_user_info(user_id: str = Field(description="用户ID")) -> str:"""查询用户信息。当用户需要根据ID查询用户信息时,调用此工具Args:user_id: 用户IDReturns:用户信息的字符串描述"""# 从数据库中获取用户信息user_info = user_database.get(user_id, None)if user_info:return f"用户ID:{user_id}\n姓名:{user_info['name']}\n年龄:{user_info['age']}\n城市:{user_info['city']}"else:return "未找到该用户的信息"def main():print("Hello from mcpserver1!")mcp.run()if __name__ == "__main__":main()
3. 使用MCP Inspector本地测试
通过 mcp dev 启动 MCP Inspector,第一次会提示安装:
(base) PS D:\MCP\MCPServer1> mcp dev main.py
Need to install the following packages:
@modelcontextprotocol/inspector@0.8.2
Ok to proceed? (y)
启动完成后,会有链接。
点击在浏览器中打开:
点击 connect 连接服务,切换到 tools:
点击List Tools,并进行测试:
至此,Server完成了基本测试。