MCP 客户端项目借助 Flask 框架将本地的 MCP 服务器暴露出来,实现内网穿透功能。借助该项目,Coze、Dify 和 FastGPT 等平台能够与本地资源进行交互。
按照以下步骤,你可以成功配置并使用 MCP 客户端项目。不过要注意确保所有 API 请求包含正确的 secret_key
,并根据实际需求调整服务器配置和权限设置。
文档中未提及安装步骤相关内容,可根据项目实际情况补充安装依赖、运行环境等方面的安装命令。
此文件用于配置 MCP 服务器的信息,具体内容如下:
{
"servers": [
{
"name": "server1", // 服务器名称(可自定义)
"type": "http", // 类型:http 或 https
"path": "/path/to/server1", // 服务启动路径
"port": 8080, // 服务端口
"command": "python server1.py" // 启动命令
},
{
"name": "server2",
"type": "http",
"path": "/path/to/server2",
"port": 8081,
"command": "python server2.py"
}
]
}
⚠️ 重要提示
- 要确保路径和启动命令正确无误。
- 如果服务器类型为 HTTPS,需在
type
字段中指定。
.env
文件包含敏感信息(如 API 密钥),请妥善保管:
.env
文件提交到版本控制系统。调试模式仅适用于开发环境,生产环境禁用:
app.run(debug=True, ssl_context='adhoc')
在云平台部署时,自签名证书可能导致静态资源获取失败。
💡 使用建议
- 本地开发环境: 使用自签名证书和调试模式。
- 生产环境: 部署由受信任的 CA 签发的真实 SSL 证书。参考云平台文档完成配置。
/list_tool
{
"server_name": "weather",
"secret_key": "your-secret-key"
}
{
"tools": ["get_weather", "forecast"]
}
/call_tool
{
"server_name": "weather",
"tool_name": "get_weather",
"params": {"city": "Beijing"},
"secret_key": "your-secret-key"
}
/list_server
{
"servers": ["server1", "server2"]
}
/list_files
{
"files": ["file1.txt", "file2.csv"]
}
/get_download_link?filename=file1.txt&secret_key=your-secret-key
{
"download_url": "http://example.com/file1.txt"
}
curl -X POST http://localhost:5000/list_tool \
-H "Content-Type: application/json" \
-d '{"server_name":"weather","secret_key":"your-secret-key"}'
curl -X POST http://localhost:5000/call_tool \
-H "Content-Type: application/json" \
-d '{"server_name":"weather","tool_name":"get_weather","params":{"city":"Beijing"},"secret_key":"your-secret-key"}'