问候工具MCP服务器

一个简单的Python MCP服务器,提供问候工具,支持本地开发或远程访问的HTTP模式。

  • by abudhu
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 abudhu/hello-mcp

使用说明

你好,MCP服务器

一个简单的Python MCP(模型上下文协议)服务器,提供问候工具。

特点/特性

  • 问候工具回应问候信息,特别是当收到“你好吗”时,回答“我很好”
  • 双模式以stdio模式运行用于本地开发,或以HTTP模式运行用于远程访问
  • Docker已就绪完全采用Docker和docker-compose支持进行容器化

安装

本地开发

  1. 确保你已安装Python
  2. 安装所需的依赖项:
pip install mcp

或者使用紫外线:

uv add mcp

Docker 部署

确保您已安装 Docker 和 Docker Compose。

运行服务器

本地开发(stdio 模式)

直接使用Python:

python server.py

使用紫外线:

uv run server.py

本地HTTP模式

在本地以HTTP模式运行服务器:

$env:TRANSPORT="http"
python server.py

服务器将在 http://localhost:8000/mcp

Docker 部署

使用 Docker Compose(推荐)

# Build and start the container
docker-compose up -d

# View logs
docker-compose logs -f

# Stop the container
docker-compose down

直接使用Docker

# Build the image
docker build -t hello-mcp-server .

# Run the container
docker run -d -p 8000:8000 --name hello-mcp-server hello-mcp-server

# View logs
docker logs -f hello-mcp-server

# Stop the container
docker stop hello-mcp-server
docker rm hello-mcp-server

测试服务器

测试HTTP端点

一旦以HTTP模式运行,服务器将在以下地址暴露一个MCP端点:

  • 本地: http://localhost:8000/mcp
  • 集装箱: http://localhost:8000/mcp

您可以使用任何支持HTTP传输的MCP客户端来连接它。

使用MCP Inspector

npx @modelcontextprotocol/inspector python server.py

使用 Claude Desktop(本地工作室模式)

将此配置添加到您的Claude Desktop配置文件中:

位置: %AppData%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "hello-mcp": {
      "command": "python",
      "args": ["c:\\Users\\ambudhu\\Github\\hello-mcp\\server.py"]
    }
  }
}

然后重启Claude桌面应用,你应该就能看到该工具已可用!

使用 Claude.ai(HTTP 模式)

如果你正在以HTTP模式运行服务器(本地或Docker中),你可以从Claude.ai连接到它:

  1. 前往 Claude.ai 设置
  2. 添加自定义连接器
  3. 输入网址: http://localhost:8000/mcp (或您的服务器的公开URL)

使用 VS Code(HTTP 模式)

更新你的 .vscode/mcp.json:

{
  "servers": {
    "hello-mcp-server": {
      "type": "http",
      "url": "http://localhost:8000/mcp"
    }
  }
}

使用VS Code

服务器已配置完毕 .vscode/mcp.json 用于配合VS Code的MCP支持。

用法

一旦连接到服务器,您就可以使用 greet 工具:

Tool: greet
Arguments: {"message": "how are you"}
Response: "I am great"

部署选项

本地运行

  • 最适合用于:开发和测试
  • 传输方式:stdio 或 HTTP
  • 访问权限:仅限本地机器

在 Docker 中运行(本地)

  • 最适合用于:测试容器化、隔离环境
  • 传输:HTTP
  • 访问: http://localhost:8000/mcp

在生产环境中运行

对于生产部署,您可以:

  1. 部署到云服务提供商AWS ECS(亚马逊网络服务 任务编排服务)、Google Cloud Run(谷歌云运行服务)、Azure Container Apps(微软Azure容器应用服务)
  2. 使用 Kubernetes部署容器并配置适当的入口(Ingress)设置
  3. 添加反向代理使用 Nginx 或 Traefik 进行 SSL/TLS 终止
  4. 建立监控添加健康检查和日志聚合

环境变量

变量 默认值 描述
项目/类别 数量 描述
HOST 0.0.0.0 0.0.0.0
(针对集装箱) PORT 8000

| 监听端口 |

hello-mcp/
├── server.py                    # Main MCP server implementation
├── requirements.txt             # Python dependencies
├── Dockerfile                   # Docker image definition
├── docker-compose.yml           # Docker Compose configuration
├── .dockerignore               # Docker build exclusions
├── README.md                   # This file
├── .vscode/
│   └── mcp.json                # VS Code MCP configuration
└── .github/
    └── copilot-instructions.md # Project instructions

项目结构

安全考虑事项

  1. **在生产环境中部署时:**使用HTTPS
  2. 在生产环境中始终使用TLS/SSL认证
  3. **考虑添加身份验证(OAuth、API密钥)**限速(或速率限制)
  4. 实施速率限制以防止滥用CORS(跨源资源共享)
  5. 为基于浏览器的客户端适当配置CORS监测
  6. 设置适当的日志记录和监控秘密

永远不要提交秘密信息;使用环境变量或秘密管理工具