当前位置: 首页 > news >正文

MCP(2):编写和测试第一个Server

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: 用户ID

    Returns:
        用户信息的字符串描述
    """
    # 从数据库中获取用户信息
    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完成了基本测试。

相关文章:

  • CVE-2025-29927 Next.js 中间件鉴权绕过漏洞
  • qPCR实验总被背景荧光干扰?7类探针的“淬灭密码“与避坑指南
  • 【解决方法】VMware 此平台不支持虚拟化Intel VT-x/EPT
  • PT如何得到leakage power
  • 【射频仿真学习笔记】变压器参数的Mathematica计算以及ADS仿真建模
  • 连不上阿里云服务器redis
  • Ansible 使用说明
  • 光储充智能协调控制系统的设计与应用研究
  • SQL注入(SQL Injection)深度解析
  • spark- core
  • 全域数字化:从“智慧城市”到“数字生命体”的进化之路
  • 如何避免无效成本拖垮项目
  • JVM高阶架构:并发模型×黑科技×未来趋势解析
  • 介绍一下 ChibiOS
  • 用excel做九乘九乘法表
  • Linux网络之DNS域名解析服务
  • 使用POCO库进行ZIP压缩和解压
  • VSCode CLine 插件自定义配置使用 Claude 3.7 模型进行 AI 开发
  • 深入理解 Linux PATH 环境变量:配置与优化!!!
  • Crossmint 与 Walrus 合作,将协议集成至其跨链铸造 API 中
  • 猪八戒做网站 纠纷/北京seo网络优化师
  • 做外贸的都有那些网站/武汉网站排名推广
  • 做网站兼容ie/成人教育培训机构十大排名
  • 国内网站开发语言/网络营销logo
  • 西安网站网页设计/互联网搜索引擎
  • 关于做香奈儿网站的PPT/哈尔滨网络优化公司有哪些