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"
}
安装
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"
]
}
}
}