MCP服务器

一个基于FastMCP框架的MCP服务器实现,提供数学运算和问候功能,适用于MCP兼容客户端的集成。

  • by akaiserg
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 akaiserg/mcp-servers-streamable

使用说明

MCP服务器可流式传输

使用具有流式HTTP传输的FastMCP的简单模型上下文协议(MCP)服务器实现。

概述

该项目提供了一个基本的MCP服务器,通过模型上下文协议公开数学运算和问候功能。它使用FastMCP框架,通过流式HTTP传输进行操作,使其适合与MCP兼容的客户端集成。

特性

服务器提供以下工具:

  • 问候:按名称问候用户
  • 添加:将两个整数相加
  • 减去:减去两个整数

需求

  • Python 3.11或更高版本
  • MCP CLI软件包

安装

  1. 克隆存储库:
git clone <repository-url>
cd mcp-servers-streamable
  1. 使用uv安装依赖项(推荐):
uv sync

或者使用pip:

pip install mcp[cli]>=1.11.0

用法

运行服务器

启动MCP服务器:

uv run server.py

或者:

python server.py

服务器将启动并监听使用流式HTTP传输的连接。

测试服务器

您可以使用MCP开发工具测试可流式传输协议:

mcp dev

这将帮助您验证服务器是否正常运行,以及是否可以通过流式HTTP传输进行访问。

可用工具

问候语(姓名:str)->str

用名字问候用户。

参数:

  • name (str):要问候的用户的名称

例子:

greeting("Alice")  # Returns: "Hello, Alice!"

add(a:int,b:int)->int

将两个整数相加。

参数:

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

例子:

add(5, 3)  # Returns: 8

减法(a:int,b:int)->int

从第一个整数中减去第二个整数。

参数:

  • a (int):要从中减去的整数
  • b (int):要减去的整数

例子:

subtract(10, 4)  # Returns: 6

发展

项目结构

mcp-servers-streamable/
├── server.py          # Main MCP server implementation
├── main.py           # Entry point placeholder
├── pyproject.toml    # Project configuration
├── uv.lock          # Dependency lock file
└── README.md        # This file

添加新工具

要向服务器添加新工具,请在中定义它们 server.py 使用 @mcp.tool() 装饰师:

@mcp.tool()
def your_tool(param: type) -> return_type:
    """
    Description of your tool
    Args:
        param: Description of parameter
    """
    # Your implementation here
    return result

在发展中奔跑

对于开发,您可以使用uv运行服务器:

uv run server.py

或者直接使用Python:

python server.py

MCP集成

此服务器旨在与MCP兼容的客户端配合使用。流式HTTP传输允许实时通信,适用于各种集成场景。

与光标一起使用

要将此服务器与Cursor一起使用,请将以下配置添加到MCP设置中:

{
  "mcpServers": {
    "my-streamable-server": {
      "transport": "http",
      "url": "http://127.0.0.1:8000/mcp"      
    }
  }
}

确保服务器正在运行 uv run server.py 在从Cursor连接之前。

与Claude Desktop一起使用

要将此服务器与Claude Desktop一起使用,请将以下内容添加到您的Claude Desktop MCP配置文件中:

{
  "mcpServers": {
    "my-streamable-server": {
      "command": "uv",
      "args": ["run", "server.py"],
      "cwd": "/path/to/your/mcp-servers-streamable"
    }
  }
}

替换 /path/to/your/mcp-servers-streamable 带有项目目录的实际路径。Claude Desktop将自动启动并管理服务器进程。

替代方案:使用mcp远程

如果不支持流式HTTP传输,您可以使用 mcp-remote npm包作为桥梁:

  1. 安装mcp远程:
npm install -g mcp-remote
  1. 启动服务器:
uv run server.py
  1. 使用mcp-remote桥接连接:
mcp-remote --url http://127.0.0.1:8000/mcp --allow-http

这为不直接支持流式HTTP传输的客户端提供了兼容性。

通用MCP客户端集成

要将其他MCP客户端连接到此服务器,请将其配置为使用流式HTTP传输,并将其指向服务器的端点 http://127.0.0.1:8000/mcp.

许可证

[在此处添加您的许可证信息]

贡献

[在此处添加贡献指南]