返回 MCP 目录
public公开dns本地运行

mcp-91c

mcp-client项目通过Flask将本地mcp-server暴露,实现内网穿透,使coze/dify/fastgpt等平台能与本地资源交互。

article

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"}'
help

运行方式说明

cloud

托管运行

托管运行通常表示这个 MCP Server 由服务方环境承载,用户一般按页面提供的连接方式或授权流程接入,不需要在本地长期启动一个 MCP 进程

  1. 打开服务方连接页
  2. 完成授权或复制端点
  3. 在 MCP 客户端中连接
terminal

本地运行 / 其它方式

本地运行通常需要用户在自己的电脑或服务器上安装依赖,把 server_config 复制到 MCP 客户端,并按 env_schema 补齐环境变量、密钥或其它配置

  1. 复制 server_config
  2. 安装所需依赖
  3. 补齐环境变量后重启客户端