MCP协议服务器

一个轻量级的MCP(模型上下文协议)服务器实现,通过SSE暴露自定义工具,用于与AI客户端集成。

  • by kongo97
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 kongo97/simple-mcp-server

使用说明

简单MCP服务器

一个轻量级的MCP(模型上下文协议)服务器实现,通过SSE公开自定义工具,用于与AI客户端集成。

目录

概述

此存储库提供了一个简单的MCP服务器,该服务器实现了自定义工具(例如天气查找),并通过服务器发送事件(SSE)公开这些工具。它可以在Docker容器中运行,以便快速部署,并与支持MCP协议的客户端无缝集成。

特性

  • 将工具作为MCP端点通过SSE公开
  • 容器化,便于通过Docker Compose进行部署
  • 可配置的端口和主机
  • 示例工具包括(例如,天气警报和预报)

先决条件

  • Docker≥20.10
  • Docker编写≥1.29

入门指南

克隆存储库并导航到项目目录:

git clone git@github.com:kongo97/simple-mcp-server.git
cd simple-mcp-server

构建Docker镜像

docker compose build

这将使用提供的 Dockerfile.

启动容器

docker compose up -d

此命令将:

  • 拉取/构建图像
  • 以分离模式启动容器
  • 地图端口 8100 在主机到端口上 8100 在集装箱内

要停止并移除容器,请运行:

docker compose down

用法

连接MCP客户端

配置您的MCP兼容客户端(例如Claude Desktop)以通过SSE连接:

http://localhost:8100/sse

在docs文件夹中,您可以找到一个与Claude Desktop兼容的简单配置(Claude_Desktop_config.json)

可用端点

方法 路径 描述
得到 /sse 为MCP通信打开SSE流
职位 /sse 通过SSE发送JSON-RPC请求

配置

您可以通过在中设置环境变量来自定义服务器端口和主机 docker-compose.yml 或直接放入容器中:

services:
  mcp-server:
    environment:
      - MCP_PORT=8100         # default port
      - MCP_HOST=0.0.0.0      # bind address

发展

  1. 在中编辑或添加您的MCP工具 src/server.py (或您选择的文件)。
  2. 重建并重新启动容器:
    docker compose build
    docker compose up -d
    
  3. 检查日志是否有错误:
    docker compose logs -f
    

故障排除

  • 404上 /sse:确保服务器绑定到正确的端口和路径。
  • 连接被拒绝:验证Docker是否正在运行以及容器是否健康:
    docker ps
    docker logs simple-mcp-server
    
  • 客户端错误:检查客户端配置是否正确SSE URL和协议版本。