使用说明
Cloudflare MCP 服务器
项目描述
该项目实现了一个Cloudflare模型上下文协议(MCP)服务器,该服务器允许与Cloudflare的GraphQL分析API和Logpush API进行交互。它提供了一组通过MCP服务器暴露的工具,用于查询分析数据和管理Cloudflare区域的Logpush作业。服务器是使用 fastmcp 并且 requests 库,并从一个(配置文件)加载配置 config.yaml 文件或环境变量。
安装
要设置并运行Cloudflare MCP服务器,请按照以下步骤操作:
1. 克隆仓库(如适用)
如果你是从一个仓库中获取的这些文件,请先克隆该仓库:
git clone https://github.com/Ibrahim-sec/Cloudflare-MCP-Server
cd Cloudflare-MCP-Server
2. 创建一个Python虚拟环境
强烈建议使用虚拟环境来管理项目依赖,这样可以避免与其他Python项目发生冲突。
python3 -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
3. 安装依赖项
使用以下命令安装所需的Python包: pip:
pip install -r requirements.txt
配置
服务器需要Cloudflare API凭据,以及一个可选的区域ID。这些可以通过一个 config.yaml 作为文件或环境变量。
1. config.yaml
创建一个 config.yaml 在项目根目录中创建文件(如果尚未存在),文件结构如下:
cloudflare_api:
api_token: "YOUR_CLOUDFLARE_API_TOKEN" # Replace with your Cloudflare API Token
account_id: "YOUR_CLOUDFLARE_ACCOUNT_ID" # Replace with your Cloudflare Account ID
zone_id: "YOUR_CLOUDFLARE_ZONE_ID" # Replace with your Cloudflare Zone ID (optional for zone-level operations)
timeout: 30
logging:
level: "INFO"
注: 确保您将占位符值替换为您实际的Cloudflare API令牌、帐户ID和区域ID zone_id 如果你只打算使用账户级别的分析查询,则此步骤为可选。
2. 环境变量
或者,您可以设置以下环境变量:
CLOUDFLARE_API_TOKENCLOUDFLARE_ACCOUNT_IDCLOUDFLARE_ZONE_ID(可选)
示例:
export CLOUDFLARE_API_TOKEN="YOUR_CLOUDFLARE_API_TOKEN"
export CLOUDFLARE_ACCOUNT_ID="YOUR_CLOUDFLARE_ACCOUNT_ID"
export CLOUDFLARE_ZONE_ID="YOUR_CLOUDFLARE_ZONE_ID"
环境变量将覆盖(或替换)中的值 config.yaml 如果两者都提供的话。
用法
要启动MCP服务器,请运行 mcp_server_cloudflare.py 脚本:
python mcp_server_cloudflare.py
默认情况下,服务器将监听在 0.0.0.0:5000您可以指定不同的配置文件、主机或端口:
python mcp_server_cloudflare.py --config my_custom_config.yaml --host 127.0.0.1 --port 8000
一旦服务器运行起来,它将把Cloudflare API函数作为工具暴露出来,供MCP客户端使用。
Claude 桌面配置
要将此Cloudflare MCP服务器与Claude Desktop集成,您需要配置Claude Desktop以运行您的MCP服务器实例。这通常涉及在(相关配置或设置中)添加一个新的条目 mcpServers 在你的(某部分/区域) claude_desktop_config.json 文件。
以下是一个基于所提供信息的示例配置: claude_desktop_config.json:
{
"mcpServers": {
"CLOUDFLAREMCP": {
"command": "python3", // Or "python" depending on your system
"args": [
"C:\\Users\\User\\Desktop\\MCP\\cloudflare-mcp\\mcp_server_cloudflare.py",
"--config",
"C:\\Users\\User\\Desktop\\MCP\\cloudflare-mcp\\config.yaml"
],
"type": "local",
"approvalPolicy": "always"
}
// ... other MCP server configurations
}
}
字段解释:
"CLOUDFLAREMCP"这是您在 Claude Desktop 中用于标识 Cloudflare MCP 服务器的唯一标识符。"command"这指定了用于运行服务器的可执行文件。默认情况下,它设置为"python3"用于在Windows、macOS或Linux上直接执行。- 对于WSL用户: 如果你是在 Windows 子系统 for Linux (WSL) 中运行服务器,请更改
"command": "python3"到"command": "wsl"您还需要调整路径中的设置args使用WSL风格的路径(例如。,/mnt/c/Users/User/Desktop/MCP/cloudflare-mcp/venv/bin/python对于口译员来说,以及/mnt/c/Users/User/Desktop/MCP/cloudflare-mcp/mcp_server_cloudflare.py并且/mnt/c/Users/User/Desktop/MCP/cloudflare-mcp/config.yaml(用于脚本和配置)。
- 对于WSL用户: 如果你是在 Windows 子系统 for Linux (WSL) 中运行服务器,请更改
"args"这个数组包含了执行您的服务器脚本所需的命令行参数。您需要根据您的虚拟环境,调整Python解释器的路径,mcp_server_cloudflare.py,以及config.yaml以匹配它们在系统中的实际位置。- 对于Windows用户: 确保路径使用反斜杠(
\\) 作为分隔符,并指向正确的位置(例如。,C:\\Users\\YourUser\\...)。 Python解释器路径应指向python.exe或者python在你的虚拟环境里Scripts目录(例如。,C:\\Path\\To\\Your\\Project\\venv\\Scripts\\python)。 - 对于WSL用户: 确保路径使用正斜杠(/)
/) 并正确映射到您的Windows驱动器(例如。,/mnt/c/Users/YourUser/...)。 Python 解释器路径应指向python在你的虚拟环境中的bin目录(例如。,/mnt/c/Path/To/Your/Project/venv/bin/python)。 - 第一个参数是您在虚拟环境中的Python解释器的路径。
- 第二个参数是你的路径
mcp_server_cloudflare.py脚本。 "--config"并且后续的路径指定了要使用的配置文件。
- 对于Windows用户: 确保路径使用反斜杠(
"type": "local"指定这是一个本地运行的MCP服务器。"approvalPolicy": "always"为这台服务器设置审批策略。
配置步骤:
- 定位
claude_desktop_config.json: 这个文件通常位于Claude Desktop的应用程序数据目录中。确切位置可能因操作系统而异。 - 编辑文件: 开放
claude_desktop_config.json使用文本编辑器。 - 添加/更新
CLOUDFLAREMCP条目: 加上CLOUDFLAREMCP如上例所示输入条目,或如果条目已存在则进行修改。 - 调整路径: 关键的是,更新路径内的(内容/设置/信息等,具体根据上下文确定)
args数组以反映您实际的位置venv/bin/python,mcp_server_cloudflare.py,和config.yaml系统上的文件。 - 保存并重启Claude桌面版: 拯救
claude_desktop_config.json保存文件并重启 Claude Desktop 以使更改生效。
配置完成后,Claude Desktop 应该能够自动启动并与您的 Cloudflare MCP 服务器进行交互,从而允许您调用其暴露的工具。