OM

ototree/mcp

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

13 stars 3 forks 质量 44 趋势 9

ototree/mcp 是从 https://github.com/ototree/mcp. 导入的 MCP 服务器候选

概览

ototree/mcp 是从 https://github.com/ototree/mcp. 导入的 MCP 服务器候选

概述(AI 翻译)

一、项目概述

mcp - client 项目旨在把本地的mcp-server通过flask暴露出来,用户自建内网穿透,实现coze/dify/fastgpt等平台与本地资源进行交互。

二、环境搭建

2.1 前置要求

请确保已安装 uv 工具(可参考 官方文档 进行安装)。

2.2 创建项目目录

为项目创建一个新的目录,并进入该目录。以下命令展示了如何使用 uv 工具创建项目目录:

这里的 project - name 是你为项目指定的名称,你可以根据实际情况进行修改。

2.3 创建并激活虚拟环境

使用 uv 工具创建虚拟环境,并激活它。虚拟环境可以帮助你隔离项目的依赖,避免不同项目之间的依赖冲突。

在 Windows 系统中,激活虚拟环境的命令如上述所示。在 Linux 或 macOS 系统中,激活命令为:

2.4 安装依赖

项目的依赖信息记录在 pyproject.toml 文件中,使用 uv 工具安装这些依赖:

此命令会自动读取 pyproject.toml 文件中的依赖信息,并将所需的库安装到虚拟环境中。

三、配置文件设置

3.1 服务器配置

在 mcp_server.json 文件中配置服务器信息。该文件定义了不同服务的描述、命令和参数。以下是一个示例:

在这个示例中,定义了两个服务:weather 和 filesystem。你可以根据需要添加或修改服务配置。

3.2 环境变量配置

3.2.1 从 .env.example 文件复制

在 GitHub 上项目通常会有 .env.example 文件,它是一个示例环境变量配置文件。你需要将其复制到项目根目录下并重命名为 .env:

3.2.2 填写环境变量

打开 .env 文件,根据项目实际需求填写环境变量的值。例如:

将上述示例中的占位符替换为实际的值:

3.2.3 忽略 .env 文件

为保护敏感信息,确保 .gitignore 文件中包含 .env,避免其被提交到版本控制系统。在 .gitignore 文件中添加:

四、代码运行

启动服务器,运行 server.py 文件:

运行该命令后,服务器将开始监听指定的端口,等待客户端的请求。

五、API 使用

5.1 列出指定服务器上的工具

发送 POST 请求到 /list_tool 端点,请求体示例:

这个请求会列出 weather 服务器上可用的工具。你可以使用 curl 或 Postman 等工具发送请求。例如,使用 curl 发送请求的命令如下:

5.2 调用指定服务器上的工具

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

mcp - client 项目详细使用文档

一、项目概述

mcp - client 项目旨在把本地的mcp-server通过flask暴露出来,用户自建内网穿透,实现coze/dify/fastgpt等平台与本地资源进行交互。

二、环境搭建

2.1 前置要求

请确保已安装 uv 工具(可参考 官方文档 进行安装)。

2.2 创建项目目录

为项目创建一个新的目录,并进入该目录。以下命令展示了如何使用 uv 工具创建项目目录:

uv init project - name
cd project - name

这里的 project - name 是你为项目指定的名称,你可以根据实际情况进行修改。

2.3 创建并激活虚拟环境

使用 uv 工具创建虚拟环境,并激活它。虚拟环境可以帮助你隔离项目的依赖,避免不同项目之间的依赖冲突。

uv venv
.venv\Scripts\activate

在 Windows 系统中,激活虚拟环境的命令如上述所示。在 Linux 或 macOS 系统中,激活命令为:

source .venv/bin/activate

2.4 安装依赖

项目的依赖信息记录在 pyproject.toml 文件中,使用 uv 工具安装这些依赖:

uv install

此命令会自动读取 pyproject.toml 文件中的依赖信息,并将所需的库安装到虚拟环境中。

三、配置文件设置

3.1 服务器配置

在 mcp_server.json 文件中配置服务器信息。该文件定义了不同服务的描述、命令和参数。以下是一个示例:

{
    "mcpServers": {
        "weather": {
            "desc": "获取天气信息以及相关工具",
            "command": "uv",
            "args": [
                "--directory",
                "D:\\project_python\\MCP\\weather",
                "run",
                "weather.py"
            ]
        },
        "filesystem": {
            "desc": "文件管理",
            "command": "uv",
            "args": [
                "--directory",
                "D:\\project_python\\MCP\\mcp - server\\filesystem",
                "run",
                "main.py"
            ]
        }
    }
}

在这个示例中,定义了两个服务:weather 和 filesystem。你可以根据需要添加或修改服务配置。

3.2 环境变量配置

3.2.1 从 .env.example 文件复制

在 GitHub 上项目通常会有 .env.example 文件,它是一个示例环境变量配置文件。你需要将其复制到项目根目录下并重命名为 .env:

cp .env.example .env

3.2.2 填写环境变量

打开 .env 文件,根据项目实际需求填写环境变量的值。例如:

ANTHROPIC_API_KEY = your_anthropic_api_key
SECRET_KEY = your_secret_key

将上述示例中的占位符替换为实际的值:

ANTHROPIC_API_KEY = 123456
SECRET_KEY = gduifgashjb8t3961jhgsdghf

3.2.3 忽略 .env 文件

为保护敏感信息,确保 .gitignore 文件中包含 .env,避免其被提交到版本控制系统。在 .gitignore 文件中添加:

.env

四、代码运行

启动服务器,运行 server.py 文件:

python server.py

运行该命令后,服务器将开始监听指定的端口,等待客户端的请求。

五、API 使用

5.1 列出指定服务器上的工具

发送 POST 请求到 /list_tool 端点,请求体示例:

{
    "server_name": "weather",
    "secret_key": "gduifgashjb8t3961jhgsdghf"
}

这个请求会列出 weather 服务器上可用的工具。你可以使用 curl 或 Postman 等工具发送请求。例如,使用 curl 发送请求的命令如下:

curl -X POST -H "Content - Type: application/json" -d '{"server_name": "weather", "secret_key": "gduifgashjb8t3961jhgsdghf"}' http://localhost:5000/list_tool

5.2 调用指定服务器上的工具

发送 POST 请求到 /call_tool 端点,请求体示例:

{
    "server_name": "weather",
    "tool_name": "get_weather",
    "args": {
        "city": "Beijing"
    },
    "secret_key": "gduifgashjb8t3961jhgsdghf"
}
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "weather": { "desc": "获取天气信息以及相关工具", "command": "uv", "args": [ "--directory", "D:\\project_python\\MCP\\weather", "run", "weather.py" ] }, "filesystem": { "desc": "文件管理", "command": "uv", "args": [ "--directory", "D:\\project_python\\MCP\\mcp - server\\filesystem", "run", "main.py" ] } } }