使用说明
你好,MCP服务器
一个简单的Python MCP(模型上下文协议)服务器,提供问候工具。
特点/特性
- 问候工具回应问候信息,特别是当收到“你好吗”时,回答“我很好”
- 双模式以stdio模式运行用于本地开发,或以HTTP模式运行用于远程访问
- Docker已就绪完全采用Docker和docker-compose支持进行容器化
安装
本地开发
- 确保你已安装Python
- 安装所需的依赖项:
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连接到它:
- 前往 Claude.ai 设置
- 添加自定义连接器
- 输入网址:
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
在生产环境中运行
对于生产部署,您可以:
- 部署到云服务提供商AWS ECS(亚马逊网络服务 任务编排服务)、Google Cloud Run(谷歌云运行服务)、Azure Container Apps(微软Azure容器应用服务)
- 使用 Kubernetes部署容器并配置适当的入口(Ingress)设置
- 添加反向代理使用 Nginx 或 Traefik 进行 SSL/TLS 终止
- 建立监控添加健康检查和日志聚合
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
| 项目/类别 | 数量 | 描述 |
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
项目结构
安全考虑事项
- **在生产环境中部署时:**使用HTTPS
- 在生产环境中始终使用TLS/SSL认证
- **考虑添加身份验证(OAuth、API密钥)**限速(或速率限制)
- 实施速率限制以防止滥用CORS(跨源资源共享)
- 为基于浏览器的客户端适当配置CORS监测
- 设置适当的日志记录和监控秘密
