返回市场
最简mcp服务器

最简mcp服务器

作者:day50-dev2 星标更新:2025-07-31

项目介绍

最简单的MCP示例

此仓库演示了一个最小且可工作的MCP服务器和客户端示例。这里没有涉及LLM,而是使用所谓的“标准输入输出”方法。

然而,存在一些分支引入了诸如LLM等内容。在理解基础代码后,可以去查看各个分支,了解如何在此基础上添加更多内容。

功能

此示例服务器暴露一个工具:

  • get_users_favorite_number:当调用此工具时,它简单地返回字符串“42”作为用户的幸运数字。这是一个非常基础的例子,展示了服务器暴露工具并返回结果的能力。

仓库内容

  • server.py:这是MCP服务器的核心。它定义了:

    • 服务器初始化(Server("favorite-number-server"))。
    • list_tools函数,负责向客户端提供可用工具列表。
    • call_tool函数,根据工具名称和参数处理工具的执行。
  • test_mcp.py:此文件包含对MCP服务器的自动化测试。它连接到服务器,列出可用工具,调用get_users_favorite_number工具,并断言返回值为“42”。

  • test.sh:一个简单的shell脚本用于执行测试。它会在运行测试之前激活虚拟环境(如果存在),以确保正确管理依赖项。

快速开始

按照以下步骤运行示例:

  1. 设置虚拟环境(推荐):

    python3 -m venv venv
    source venv/bin/activate  # 在Linux/macOS上
    # venv\Scripts\activate  # 在Windows上
    
  2. 安装mcp库:

    python3 -m pip install mcp
    
  3. 运行测试:

    ./test.sh
    

    此脚本会:

    • 激活虚拟环境(如果存在)。
    • 执行test_mcp.py文件,该文件将启动服务器,连接到服务器,调用工具,并验证结果。

    如果测试通过,您将看到如下输出(或类似):

    🧪 测试最喜欢的数字MCP服务器
    ✓ 服务器已初始化:favorite-number-server
    ✓ 可用工具:['get_users_favorite_number']
    ✓ 工具结果:42
    ✓ 测试通过!最喜欢的数字是42
    ✅ 所有测试通过!