模型上下文协议服务器示例

一个使用FastMCP实现的简单模型上下文协议(MCP)服务器示例,提供基本的加法功能供MCP客户端调用。

  • by Give-a-Go
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 Give-a-Go/mcp_server_example

使用说明

MCP服务器示例

使用FastMCP实现模型上下文协议(MCP)服务器的简单示例。此服务器公开了一个可由MCP客户端调用的基本添加函数。

什么是MCP?

模型上下文协议(MCP)是一种允许AI模型与外部工具和服务交互的协议。它使AI模型能够调用服务器公开的函数(工具),传递参数并接收结构化响应。

特性

  • 简单的MCP服务器实现
  • 将附加功能作为工具公开
  • 内置FastMCP,便于创建MCP服务器
  • 跨平台支持(Windows、macOS、Linux)

先决条件

  • Python 3.13或更高版本
  • uv包管理器(推荐)或pip
  • Windows、macOS或Linux

安装

使用紫外线(推荐)

  1. 如果您还没有安装uv:

    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  2. a.在窗户上安装紫外线

  3. powershell -c "irm https://astral.sh/uv/install.ps1 | more"
    
  4. 克隆此存储库:

    git clone https://github.com/yourusername/mcp_server_example.git
    cd mcp_server_example
    
  5. 创建并激活虚拟环境(可选但推荐):

    创建venv

    uv init
    
    uv venv
    # On Windows:
    .venv\Scripts\activate
    # On macOS/Linux:
    source .venv/bin/activate
    
  6. 安装依赖项:

    uv pip install fastmcp
    

运行服务器

  1. 启动MCP服务器:

    fastmcp run server.py:mcp
    

测试服务器

使用风帆

  1. 如果还没有,请在IDE中安装Windsurf扩展。

  2. 在Windsurf中,您现在可以使用以下配置连接到MCP服务器:

` “命令”:“YOUR_PROJECT_PATH/mcp_server_example/.venv/bin/python”, “args”:[ “YOUR_PROJECT_PATH/mcp_server_example/mcp/server.py” ],

`

  1. 连接后,您应该看到 add Windsurf界面中提供的工具。

可用工具

添加

将两个数字相加。

参数:

  • a (int):第一个数字
  • b (int):第二个数字

退货:

  • int:a和b的和

发展

添加新工具

要向MCP服务器添加新工具,请执行以下操作:

  1. 打开 mcp/server.py
  2. 使用添加新功能 @mcp.tool() 装饰器
  3. 使用参数和返回值的类型提示定义函数

例子:

@mcp.tool()
def multiply(a: int, b: int) -> int:
    """Multiply two numbers together."""
    return a * b

依赖项

  • fastmcp:用于创建MCP服务器的FastMCP框架