当前位置: 首页 > 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完成了基本测试。

http://www.dtcms.com/a/126827.html

相关文章:

  • 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 中
  • WPF ObjectDataProvider
  • Dify插件安装与使用教程
  • 基于SSM框架的房屋租赁小程序开发与实现
  • OpengGL教程(七)---摄像机
  • 在Ubuntu服务器上安装Docker(支持Ubuntu 20.04/22.04等版本):
  • 道路运输安全员岗位事项有哪些?
  • HBuilderX中uni-app打包Android(apk)全流程超详细打包
  • 建设“大数据智慧招商平台”,助力园区突破招商瓶颈!
  • 2025 年“认证杯”数学中国数学建模网络挑战赛 C题 化工厂生产流程的预测和控制
  • 03--Deepseek服务器部署与cjson解析