MCP Hello Server(Python)
简单的Hello MCP服务器-输入名字用韩语打招呼!
结构
mcp-hello-py/
├── src/
│ ├── __init__.py # 패키지 초기화
│ └── server.py # MCP 서버
├── .env # 환경 변수 설정
├── requirements.txt # 의존성
├── pyproject.toml # 프로젝트 메타데이터
├── Dockerfile # Docker 설정
└── README.md # 이 파일主要功能
- 你好:“您好,{name}先生!”
- 说你好:一次向大家打招呼
- MCP协议:支持Tools、Resources、Prompts
安装
# 가상 환경 생성 및 활성화
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
# 의존성 설치
pip install -r requirements.txt设置环境变量
.env 创建文件:
# .env 파일 내용
PORT=8080执行
流HTTP模式(Cloud Run,Web)
python3 src/server.py --http-stream
# 커스텀 포트 사용
PORT=3000 python3 src/server.py --http-stream体系结构
┌─────────────┐ ┌─────────────────┐
│ Postman / │ ───▶ │ MCP Hello │
│ MCP Client │ │ Server │
│ │ ◀─── │ (Python) │
└─────────────┘ └─────────────────┘
HTTP MCP
POST /mcp Protocol测试(Postman)
Headers设置(所有请求都必需)
| 标题 | 值 |
|---|---|
Content-Type | application/json |
Accept | application/json |
1.初始化MCP服务器
- 方法:
POST - 统一资源定位符:
http://localhost:8080/mcp - 身体 (原始JSON):
{
"jsonrpc": "2.0",
"id": 1,
"method": "initialize",
"params": {
"protocolVersion": "2024-11-05",
"capabilities": {},
"clientInfo": {"name": "postman", "version": "1.0.0"}
}
}2.查看工具列表
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/list",
"params": {}
}3.呼叫say_hello
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "say_hello",
"arguments": {"name": "김철수"}
}
}示例响应:
{
"jsonrpc": "2.0",
"id": 3,
"result": {
"content": [{"type": "text", "text": "안녕하세요, 김철수님!"}]
}
}4.调用say_hello_multiple
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "say_hello_multiple",
"arguments": {"names": ["김철수", "이영희", "박민수"]}
}
}示例响应:
{
"jsonrpc": "2.0",
"id": 4,
"result": {
"content": [{"type": "text", "text": "• 안녕하세요, 김철수님!\n• 안녕하세요, 이영희님!\n• 안녕하세요, 박민수님!"}]
}
}Cloud Run部署
测试已部署的服务器
部署URL示例: https://mcp-hello-py-xxxxxx.asia-northeast3.run.app/mcp
只需更改Postman中的URL即可进行相同的测试。
设置环境变量(Cloud Run)
| 变量 | 值 | 说明 |
|---|---|---|
PORT | 8080 | Cloud Run默认端口(自动设置) |
MCP工具
你好
向一个人问好。
参数类型必需说明 |---------|------|------|------| | name |string|O|要打招呼的人的名字|
说你好
一次向大家打招呼。
参数类型必需说明 |---------|------|------|------| | names | array-O名称列表|
技术堆栈
- python: 3.11+
- MCP-SDK:1.23.0+(快速MCP)
- 派丹蒂克:2.x
- 乌维科恩:ASGI服务器
- 码头工人:容器化
传输模式
| 模式 | 用户 | 端点 |
|---|---|---|
| stdio | 克劳德桌面,MCP检查器 | stdin/stdout |
| 流式HTTP | 云运行,Web | POST /mcp |
参考
许可证
MIT许可证
