使用说明
测试MCP服务器
用于MCP工具和Custom API护栏测试的服务器
项目结构
test_mcp_server/
app.py # 메인 (로거, FastAPI 앱, 라우터 등록)
routes/
mcp.py # MCP 프로토콜 (/mcp, /mcp2, /sse, /message)
guardrail.py # Custom API 가드레일 (/guardrail)
files.py # 파일 전처리 (/files)
requirements.txt
安装和运行
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py
服务器: http://localhost:8000
端点
| 端点 | 方法 | 说明 |
|---|---|---|
/mcp, /mcp2 POST Streamable HTTP(推荐) |
||
/sse GET SSE连接(传统) |
||
/message/{session_id} 接收POST SSE消息 |
||
/guardrail |
POST | Custom API护栏 |
/files POST上传/返回文件 |
||
/health GET健康检查 |
||
/ GET服务器信息 |
MCP工具
“工具”“说明”“必需参数”
|---|---|---|
| add_numbers |加两个数字| a, b (编号)|
| multiply_numbers |两个数字相乘| x, y (编号)|
| get_greeting |生成问候语| name (字符串), language (可选,ko/en)|
| search_with_progress | 검색 + 进度通知| query (字符串), steps (optional,默认为5)|
护栏阻挡规则
源规则
|---|---|
| INPUT | 3次屏蔽1次|
| OUTPUT | 3次屏蔽1次|
| FILE | 2次屏蔽1次|
包含关键词“IU”时屏蔽
请求/响应格式:
// 요청
{"text": "...", "source": "INPUT", "metadata": {}}
// 통과
{"action": "NONE", "is_safe": true}
// 차단
{"action": "GUARDRAIL_INTERVENED", "is_safe": false, "blocked_reasons": {"reason": "..."}}
MISO集成
Streamable HTTP(推荐)
{"test_mcp": {"url": "http://localhost:8000/mcp"}}
SSE(传统)
{"test_mcp": {"url": "http://localhost:8000/sse"}}
Docker环境
{"test_mcp": {"url": "http://host.docker.internal:8000/mcp"}}
故障射击
# 헬스체크
curl http://localhost:8000/health
# 포트 충돌 시
lsof -ti:8000 | xargs kill -9
