MCP服务器演示

一个基于Python和fastmcp的初学者友好的MCP服务器演示项目,展示了如何向MCP客户端(如Claude Desktop)暴露简单的工具(如掷骰子和算术)。

  • by ameympatil
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 ameympatil/Simple-MCP

使用说明

简单的MCP服务器演示

适合初学者的建筑入门 模型上下文协议(MCP) 使用Python和 fastmcp该项目演示了如何向MCP客户端(如Claude Desktop)公开掷骰子和算术等简单工具。

先决条件

在开始之前,请确保已安装以下内容:

  • Python 3.10+: 下载Python
  • 紫外线:一个非常快的Python包管理器。
    # On Windows (PowerShell)
    powershell -c "irm https://astral.sh/uv/install.ps1 | iex"
    
    # On macOS/Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • 克劳德桌面: 点击此处下载 (与Claude一起使用服务器)。

安装

  1. 克隆此存储库 (或下载文件):

    git clone https://github.com/ameympatil/Simple-MCP.git
    cd "Simple MCP"
    
  2. 安装依赖项: 此项目使用 uv 管理依赖关系。主要依赖是 fastmcp.

    uv sync
    

用法

此项目支持多个命令来运行和检查MCP服务器。

1.开发人员模式(检查员)

在“dev”模式下运行服务器以打开 MCP检查员。这允许您在web界面中交互式地测试您的工具,而不需要MCP客户端。

uv run fastmcp dev main.py

2.标准运行模式

通过stdio(标准输入/输出)正常运行服务器。这就是MCP客户端通常与服务器通信的方式。

uv run fastmcp run main.py

3.安装到克劳德桌面

自动将此服务器添加到您的本地Claude Desktop配置中。

uv run fastmcp install claude-desktop main.py

运行此程序后,重新启动Claude Desktop,在可用的集成中看到“SimpleMCP”。

功能和工具

服务器(main.py)公开以下工具:

roll_dice

  • 描述:模拟滚动指定数量的6面骰子。
  • 参数:
    • num_dice (int):要掷骰子的数量。
  • 退货:表示滚动结果的整数列表。

add_numbers

  • 描述:将两个数字相加。
  • 参数:
    • num1 (float):第一个数字。
    • num2 (float):第二个数字。
  • 退货:这两个数字的和。

项目结构

  • main.py:MCP服务器的入口点。定义 FastMCP 应用程序和装饰工具。
  • pyproject.toml / uv.lock:依赖关系管理文件。
  • README.md:这份文件。