MFlare

接入 Agent

让 Claude Code、Codex、Cursor 这类 agent 通过 MCP 读取 MFlare 里的用量和部署。

MFlare 在你的 Mac 上提供一个本地的 MCP Server。接入之后,agent 可以直接问到每项用量还剩多少、什么时候重置,以及 Worker 最近的构建和部署,不用自己去猜 Cloudflare 套餐的额度。

需要 Pro

MCP Server 是 Pro 功能。免费版里 MCP 设置页的控件都不可用。

什么是 MCP?

MCP(Model Context Protocol)是一个开放协议,让 AI 助手可以调用外部工具、读取外部数据。MFlare 的 MCP Server 会把你在菜单栏里看到的用量、额度和构建记录,以结构化数据的形式交给 agent。

开启 MCP Server

  1. 打开 MFlare 的「设置 › MCP」。
  2. 打开「MCP Server」开关,状态变成「正在运行」。第一次打开时会生成一个 token。
  3. 端口默认是 47823。被占用时可以换成 1024 到 65535 之间的其他端口,改之前要先关掉 MCP Server。

下面所有客户端需要的都是这两项:

  • 地址:http://127.0.0.1:47823/mcp(换过端口的话用你的端口)
  • 请求头:Authorization: Bearer <token>,token 在「Token」一栏点「复制」

示例里的 <token> 换成你的 token;换过端口的话,47823 也换成你的端口。

可用的工具

所有工具都是只读的,数据来自 MFlare 已经拿到的状态,调用时不会额外请求 Cloudflare(get_build_log 除外)。不传 account_id 时,读的是 MFlare 当前显示的账户。

工具参数用途
list_accounts—MFlare 监控的 Cloudflare 账户,以及每个账户的 Workers 套餐
get_usageaccount_id(或 "all")、service、metric一个或所有账户在当前计费周期内的用量:用了多少、额度、还剩多少、什么时候重置
get_usage_alerts—所有账户里快到或已经超出额度的用量,从 80% 开始提醒,最严重的排在前面
list_workersaccount_id账户里的 Worker,以及各自最近一次构建或部署
list_deploymentsworker、account_id某个 Worker 最近的部署和构建,按时间排列,最多 10 条
get_build_logworker、build_id、level、cursor、account_id某次构建的 Build Log,比如查它为什么失败;level 可以只看错误或警告

MCP Server 还会告诉 agent 这些规则,让它的回答更准确:

  • Workers 免费套餐的额度是硬上限;Workers Paid 的额度是包含在内的用量,超出部分另外计费,所以 get_usage 会附上超额单价和预估费用。
  • Workers 套餐不是从 Cloudflare 读的,而是你在 MFlare 里设置的。没设置时,agent 会被告知额度按免费套餐计算。
  • 计费周期在 UTC 00:00 重置,所有时间都是 UTC。用量大约每 5 分钟刷新一次。
  • 日志很长或构建还在进行时,get_build_log 会分页读取:agent 带上返回的 cursor 再调用一次就能接着读。

配置

MFlare 的 MCP Server 使用 Streamable HTTP 传输,只监听你的 Mac,所以只能接入运行在这台 Mac 上的客户端,ChatGPT 连接器这类云端客户端连不上。

别把 token 提交到仓库

有些客户端会读取项目目录里的配置文件。建议把 MFlare 写进客户端的全局配置,或者把那个文件排除在 Git 之外,免得 token 被提交上去。

Claude Code

在「设置 › MCP」的「Agent 接入」里点「Claude Code」,MFlare 会把接入命令复制到剪贴板,地址和 token 都已经填好。粘贴到终端里运行一次:

claude mcp add --scope user --transport http MFlare http://127.0.0.1:47823/mcp --header "Authorization: Bearer <token>"

--scope user 让 MFlare 在所有项目里都能用。运行 claude mcp list 可以确认是否已连上。

Codex

在「Agent 接入」里点「Codex」,把复制的命令粘贴到终端运行。这条命令会先移除之前接入的 MFlare,再把 token 写进 Codex 的 config.toml,所以重新复制运行一次就能更新。

想手动配置的话,把下面的内容加到 ~/.codex/config.toml:

~/.codex/config.toml
[mcp_servers.MFlare]
url = "http://127.0.0.1:47823/mcp"

[mcp_servers.MFlare.http_headers]
Authorization = "Bearer <token>"

Claude Desktop

Claude Desktop 的配置文件只能启动本地进程,所以要借助 mcp-remote 接入,需要先装好 Node.js。

  1. 打开 Claude Desktop,进入「Settings › Developer」。
  2. 点「Edit Config」,打开 claude_desktop_config.json。
  3. 加上 MFlare:
claude_desktop_config.json
{
  "mcpServers": {
    "MFlare": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "http://127.0.0.1:47823/mcp",
        "--header",
        "Authorization:${MFLARE_AUTH}"
      ],
      "env": {
        "MFLARE_AUTH": "Bearer <token>"
      }
    }
  }
}
  1. 重启 Claude Desktop。

请求头放在 env 里,是因为 Claude Desktop 处理 args 里的空格不太可靠。

Cursor

  1. 打开 Cursor,进入「Settings › Tools & MCP」。
  2. 点「New MCP Server」,会打开 ~/.cursor/mcp.json,加上 MFlare:
~/.cursor/mcp.json
{
  "mcpServers": {
    "MFlare": {
      "url": "http://127.0.0.1:47823/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}

Visual Studio Code

需要先装好 GitHub Copilot Chat 扩展。

  1. 打开命令面板(Cmd + Shift + P),运行「MCP: Open User Configuration」。
  2. 加上 MFlare。第一次启动这个 server 时,VS Code 会让你输入 token,并存进它的密钥存储:
mcp.json
{
  "inputs": [
    {
      "type": "promptString",
      "id": "mflare-token",
      "description": "MFlare MCP token",
      "password": true
    }
  ],
  "servers": {
    "MFlare": {
      "type": "http",
      "url": "http://127.0.0.1:47823/mcp",
      "headers": {
        "Authorization": "Bearer ${input:mflare-token}"
      }
    }
  }
}

Windsurf

  1. 打开「Windsurf Settings › Cascade」。
  2. 点「Manage MCPs」,再点「View raw config」。
  3. 加上 MFlare:
~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "MFlare": {
      "serverUrl": "http://127.0.0.1:47823/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}

Gemini CLI

在 ~/.gemini/settings.json 的 mcpServers 里加上 MFlare,然后重启 Gemini CLI:

~/.gemini/settings.json
{
  "mcpServers": {
    "MFlare": {
      "httpUrl": "http://127.0.0.1:47823/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}

GitHub Copilot CLI

把 MFlare 加到 ~/.copilot/mcp-config.json,或者在 Copilot CLI 里运行 /mcp add 填入同样的内容:

~/.copilot/mcp-config.json
{
  "mcpServers": {
    "MFlare": {
      "type": "http",
      "url": "http://127.0.0.1:47823/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      },
      "tools": ["*"]
    }
  }
}

运行 /mcp show 可以确认是否可用。

OpenCode

把 MFlare 加到 ~/.config/opencode/opencode.json:

~/.config/opencode/opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "MFlare": {
      "type": "remote",
      "url": "http://127.0.0.1:47823/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      },
      "enabled": true
    }
  }
}

Zed

打开 Zed 的设置文件(Cmd + ,),在 context_servers 里加上 MFlare:

~/.config/zed/settings.json
{
  "context_servers": {
    "MFlare": {
      "url": "http://127.0.0.1:47823/mcp",
      "headers": {
        "Authorization": "Bearer <token>"
      }
    }
  }
}

使用示例

接入后可以试着这样问:

  • 「看一下我现在的 Cloudflare 用量」
  • 「有没有快用完额度的?」
  • 「今天 KV 写入还剩多少,什么时候重置?」
  • 「我要批量写入 KV,今天的写入额度还够吗?」
  • 「按 Workers Paid 算,这个月超额大概要付多少钱?」
  • 「我的 Worker 里哪个最近部署过?」
  • 「api-gateway 最近一次构建为什么失败了?」
  • 「只看 api-gateway 最新构建日志里的错误」

小提示

构建日志很长时,可以让 agent 只看错误或警告。它会给 get_build_log 传 level,读的行数会少很多。

常见问题

  • agent 连不上。 确认「MCP Server」已经打开并显示「正在运行」,配置里的端口和 MFlare 里的一致,并且 MFlare 正在运行。
  • 请求被拒绝,提示未授权。 token 被重新生成过,或者退回免费版后 token 已作废。重新复制 token 或接入命令,更新配置即可。
  • 额度看起来不对。 检查你在 MFlare 里给这个账户设置的 Workers 套餐。MFlare 不会从 Cloudflare 读取套餐,没设置的账户按免费套餐计算。

安全

  • MCP Server 只监听 127.0.0.1,同一台 Mac 以外的设备连不上;来自其他来源的网页请求也会被拒绝。
  • 每个请求都要带 token。接入命令和配置文件里也包含 token,请勿分享。
  • 担心 token 泄露时,在「Token」一栏点「重新生成…」。旧 token 立即失效,已经接入的 agent 需要换上新 token,或重新复制命令再接入一次。
  • 退回免费版时,MCP Server 会关闭,token 也会作废。重新激活 Pro 后要再打开一次,并重新复制命令。