README
🚀 MCP 客户端项目文档
MCP 客户端项目借助 Flask 框架将本地的 MCP 服务器暴露出来,实现内网穿透功能。借助该项目,Coze、Dify 和 FastGPT 等平台能够与本地资源进行交互。
🚀 快速开始
按照以下步骤,你可以成功配置并使用 MCP 客户端项目。不过要注意确保所有 API 请求包含正确的 secret_key,并根据实际需求调整服务器配置和权限设置。
📦 安装指南
文档中未提及安装步骤相关内容,可根据项目实际情况补充安装依赖、运行环境等方面的安装命令。
✨ 主要特性
- 利用 Flask 框架暴露本地 MCP 服务器,实现内网穿透。
- 支持 Coze、Dify 和 FastGPT 等平台与本地资源交互。
📚 详细文档
配置文件说明
mcp_server.json
此文件用于配置 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 证书。参考云平台文档完成配置。
API 接口说明
1. 获取工具列表
- 请求方式: POST
- URL:
/list_tool - 请求体示例:
{ "server_name": "weather", "secret_key": "your-secret-key" } - 响应示例:
{ "tools": ["get_weather", "forecast"] }
2. 调用工具
- 请求方式: POST
- URL:
/call_tool - 请求体示例:
{ "server_name": "weather", "tool_name": "get_weather", "params": {"city": "Beijing"}, "secret_key": "your-secret-key" }
3. 获取服务器列表
- 请求方式: GET
- URL:
/list_server - 响应示例:
{ "servers": ["server1", "server2"] }
4. 获取文件列表
- 请求方式: GET
- URL:
/list_files - 响应示例:
{ "files": ["file1.txt", "file2.csv"] }
5. 下载文件
- 请求方式: GET
- URL:
/get_download_link?filename=file1.txt&secret_key=your-secret-key - 响应示例:
{ "download_url": "http://example.com/file1.txt" }
💻 使用示例
基础用法
示例 1: 获取工具列表
curl -X POST http://localhost:5000/list_tool \
-H "Content-Type: application/json" \
-d '{"server_name":"weather","secret_key":"your-secret-key"}'
示例 2: 调用工具
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"}'
Scan to join WeChat group