MCP服务器模板

一个基于Docker的Python服务器模板,实现了模型上下文协议(MCP),用于与大型语言模型(LLMs)进行实时通信。

  • by zantis
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 zantis/dockerized-mcp-server-template

使用说明

码头化MCP服务器模板

此存储库为实现以下功能的Python服务器提供了一个可重用的模板 模型上下文协议(MCP),在Docker容器中运行,并利用Streamable HTTP进行实时通信。该模板基于模型上下文协议(MCP)的Python实现,可以轻松与大型语言模型(LLM)集成。

什么是MCP?

这 模型上下文协议(MCP) 允许您构建以安全、标准化的方式向LLM应用程序公开数据和功能的服务器。

此模板演示了在Docker容器中运行的生产就绪MCP服务器,该服务器利用无状态Streamable HTTP进行实时通信。

项目结构

dockerized-mcp-server-template/
├── src/
│   ├── Dockerfile
│   ├── requirements.txt
│   └── server.py
├── docker-compose.yml
└── README.md

入门指南

使用Docker Compose构建和运行

docker-compose up --build

服务器可在以下位置访问:

http://localhost:8080/mcp

直接运行(无需Docker)

或者,您可以直接使用Python运行服务器。首先,安装依赖项:

pip install -r src/requirements.txt

然后运行服务器:

python src/server.py

服务器可在以下位置访问:

http://localhost:8080/mcp

示例用法

该示例包括一个简单的MCP工具功能 add:

@mcp.tool()
def add(a: int, b: int) -> int:
    """Add two numbers"""
    return a + b

您可以通过MCP客户端请求调用此工具。

技术说明

此模板使用Streamable HTTP传输,该传输在Python SDK v1.8.0开始的模型上下文协议中可用(https://github.com/modelcontextprotocol/python-sdk).

为什么是流式HTTP?

Streamable HTTP通过启用无状态操作显著改进了之前的SSE传输,使MCP与无服务器架构和标准web基础设施兼容。这种方法消除了对持久连接的需求,从而提高了资源效率和成本效益,同时为开发人员提供了更简单的实现。其结果是,MCP服务器更易于部署,更具可扩展性,在不牺牲功能的情况下更节省资源。

资源