让 Claude 分析 LLM 日志:OAuth MCP 连接器,无需 API Key
将 LLM 网关添加到 Claude,作为自定义连接器使用;完成登录后,授予请求日志的只读访问权限,再在聊天中直接提问。此流程涉及网关接入、登录授权、读取请求日志和聊天提问,权限范围限定为读取日志。核对记录涵盖三个问题、14 次工具调用,调用结果已逐一检查。
我们的推荐
实时价格| 模型 | 结论 | 价格 |
|---|---|---|
| Claude Fable 5.1 通过 14 次工具调用回答了关于请求日志的三个问题。所有费用、token 数、请求数和状态均与计费记录一致,对费用最高的会话的解释也与记录一致。 | 聊天中的模型 | 低至 $10/百万 |
目录
“今天上午哪个会话花费最高,为什么?”这个问题可以在控制台里逐条查看记录来回答,也可以直接问能读取同一份记录的 Claude。本指南将 Synthorai 网关通过 MCP(为模型提供工具的协议)添加为 Claude 连接器,用登录代替粘贴 API Key,只授予请求日志的读取权限,不开放其他数据。随后,我们针对本系列前几篇指南中的会话提出三个问题。回答中的每个数字都与计费记录一致。
TL;DR
- Claude 通过 OAuth 登录,将 Synthorai 网关的 MCP 服务器作为自定义连接器接入,无需粘贴 API Key。
- 只批准请求日志访问后,Claude 获得四个只读工具,以及一个权限范围为
logs.read、7 天后过期的密钥。 - Claude Fable 5.1 用 14 次工具调用回答了三个日志问题,所有数字都与计费记录一致。
- 日志工具返回费用、token 数和状态,不返回任何提示词或回复文本。
连接使用 MCP(Model Context Protocol)。这是为助手提供工具的标准方式:服务器列出可用工具,助手按需调用。网关在 https://synthorai.io/v1/mcp 提供这样的服务器。Claude 将添加到账户中的 MCP 服务器称为连接器。本文不涉及代码,也不需要安装任何东西。
我们于 2026 年 10 月 10 日配置连接,第二天在浏览器中的 claude.ai 上提问,聊天模型使用 Claude Fable 5.1。Claude Desktop 添加自定义连接器的方式相同。
如何将网关添加到 Claude?
添加自定义连接器时,只需填写名称和服务器 URL。在 Claude 中打开“自定义”,进入“连接器”,点击“添加”,再选择“添加自定义连接器”:

点击“继续”,Claude 会检查服务器,然后显示连接方式。它会根据服务器返回的信息,自动识别以下两项设置:
- 身份验证:“立即登录”。每个人都必须先登录服务器,才能使用工具。这里使用 OAuth:服务器在浏览器中请求你批准连接,然后向 Claude 发放访问 token,无需输入 API Key,也无需将其保存在文件中。
- OAuth 客户端:“自动注册”。连接时,Claude 会向服务器注册自己。你不需要在任何地方创建客户端 ID。
保持这两项自动识别的设置,点击“添加”。Claude 会跳转到 Synthorai,让你批准连接。如果连接器页面显示连接已过期,则点击“重新连接”:我们就是通过这一步进入授权页面的。
登录时需要批准哪些权限?
你需要选择工作区、连接用途、可访问的数据,以及访问有效期。这个页面由网关提供。如果尚未登录网关控制台,页面会先要求你登录:

- 工作区。连接只能访问一个工作区。选择包含待查询请求的工作区。
- 此连接的用途。“运行模型”允许 Claude 通过网关调用模型,费用计入工作区。“读取和管理工作区”是本指南使用的选项,它只授予下方勾选的权限。
- Claude 可使用的数据。共五组:用量和余额、请求日志、提示词库、API Key(只读),以及成员、审计日志和设置。我们只勾选了请求日志。
- 访问权限。只读。我们的工作区设置不允许通过 MCP 修改数据,因此页面没有提供其他选项。
- 访问有效期。可选 1、7、30 或 90 天。我们保留了 7 天。
点击“允许”,浏览器会返回 Claude。Claude 会显示连接器已连接,并列出可用工具:

连接器包含四个工具,全部为只读:search_requests、get_request、list_sessions 和 list_traces。它们返回调用对象和执行结果,包括模型、状态、token 数、费用、耗时、会话、trace 和标签,不返回提示词或回复。你也可以在这个页面将每个工具设为始终允许、先询问或禁止使用。
在网关侧,在哪里能看到这个连接?
它会以独立密钥的形式,出现在“API Key”下的“管理密钥”选项卡中:

密钥名为 MCP: Claude,只包含你勾选的权限范围(logs.read),并在你选择的日期过期。权限范围就是附加在密钥上的权限。你不需要查看或操作密钥本身,但可以在这里禁用或删除它。无论 Claude 保存了什么,这都会立即终止连接。
我们问了什么,回答是否正确?
我们针对本系列演示刚产生的请求提出了三个问题。回答中的每个数字,都与演示脚本打印的计费记录一致。每个问题都明确指定时间范围和标签,限定查询范围。标签是应用通过 X-Synthorai-Metadata 请求头随每个请求发送的键值对。演示为每个请求添加了 feature、case(复现的问题)和 variant 标签,其中 before 表示有问题的运行,after 表示对应的修复后运行。回答中提到的提示词缓存,会对重复的提示词前缀按更低的费率计费:首次发送计为缓存写入,之后计为缓存读取。
使用 Synthorai 连接器。只查看 2026-10-11T11:24:00Z 到 2026-10-11T11:32:00Z 之间、标签为 feature = support-agent 的请求。在标签为 case = cache-miss、case = context-growth 或 case = replay-mismatch 的会话中,哪个会话费用最高?它的 token 数如何解释这笔费用?

| 问题 | Claude 的回答 | 工具调用 | 计费记录 |
|---|---|---|---|
哪个 cache-miss、context-growth 或 replay-mismatch 会话费用最高,为什么? | replay-mismatch-a14896679e70,6 个请求共 $0.003831:24,557 个输入 token 中,缓存读取为 0。对应的修复后会话在 24,702 个输入 token 中读取了 18,844 个缓存 token,费用为 $0.001522 | 3 × list_sessions,1 × search_requests | $0.003831,24,557 个输入 token,0 个缓存 token;$0.001522,24,702 个输入 token,18,844 个缓存 token |
比较修复前后的两个 cache-miss 会话 | 修复前:5,579 个输入 token,0 个缓存 token,$0.001497。修复后:5,729 个输入 token,4,157 个缓存 token(73%),$0.001113,降低了 25.6% | 2 × list_sessions,1 × search_requests | 5,579、0 和 $0.001497;5,729、4,157 和 $0.001113 |
u_1001 是否有请求失败?u_1002 呢? | u_1001 的 11 个请求中有一个因模型不存在而返回 404,一秒后重试成功。u_1002 的 10 个请求全部成功 | 7 × search_requests | 两段对话共 21 次调用,其中一次返回 404 |
回答中有三点不只是复述数字:
- 无需指导就会使用标签。在聊天中展开工具调用,可以查看参数:第一次
list_sessions调用的labels包含case = cache-miss和feature = support-agent,同时指定了时间范围和 50 条的上限。每个 case 都有一次这样的调用。第三个问题中,它先搜索哪个字段存放用户信息,找到_user标签后,再按该标签筛选。 - 找到了工程师会做的对照。第一个回答对应为什么我的 LLM 智能体费用这么高?中的会话:一条消息保存时的形式与发送时不同。Claude 通过
variant = after标签找到了修复后的对应会话,指出两者的提示词总量几乎相同,并将 2.5x 的费用差异归因于缓存写入与缓存读取的差别。它还逐轮列出了高费用会话,显示随着提示词增长,第六轮的费用约为第一轮的两倍。 - 说明了数字能证明什么、不能证明什么。第二个回答指出,修复后的会话输出更多,分别为 1,750 和 1,599 个 token,因此仅输入部分的节省幅度,大于总费用净降幅 25.6%。第一个回答则说明,连接器不返回提示词内容,因此无法看到究竟是什么破坏了缓存匹配。

我们不仅核对了第一个回答的数字,也验证了它的解释。这些会话使用的模型是 GPT-6 Luna,每百万 token 的价格为:输入 $0.10、缓存读取 $0.01、缓存写入 $0.125、输出 $0.50。按这个价格计算,高费用会话的 24,539 个缓存写入 token、18 个其他输入 token 和 1,523 个输出 token,合计 $0.003831。对应会话的 5,840 个写入 token、18,844 个读取 token、18 个其他输入 token 和 1,204 个输出 token,合计 $0.001522。两者都与实际计费金额一致,因此缓存写入与读取的解释成立。
应该核查回答中的哪些内容?
先检查工具调用的查询范围,再检查依赖价格或环境配置的解释。我们的三个回答中,数字都正确。直接从工具结果复制的数字最可靠;百分比和比值是模型自己计算的,需要复核。以下四点仍可能造成误判:
- 回答的覆盖范围取决于工具调用。每次调用都有时间范围、标签和条数上限。聊天会列出每次调用及其参数,因此你可以确认“费用最高的会话”是从所有会话中选出的,还是只从前 50 个中选出的。
- 解释来自通用知识。记录说明发生了什么;为什么发生,则是模型的推理,未必符合你使用的模型或价格。在根据解释采取行动前,像上面那样重新计算一个数值。
- 时间按你的时区显示。日志使用 UTC,我们提问时也使用 UTC。回答却给出了太平洋时间,这是 Claude 为我们账户设置的时区,因此需要与问题中的 UTC 范围对照。
- 工具不返回内容。Claude 可以告诉你某个请求返回了 404,以及错误信息是什么。它无法告诉你用户问了什么;问题需要这些内容时,它也会明确说明。
在问题中指定标签和较窄的时间范围,既能提高准确性,也能控制回答规模,因为工具返回的每一行都会进入对话。
费用是多少,如何控制安全风险?
日志工具免费调用,模型的工作计入 Claude 套餐,因此提问不会增加网关账单。长时间排查会消耗套餐额度,因为工具结果也计入对话。
连接权限仅限于你批准的内容:
- 一组数据。只勾选了请求日志,因此连接中没有余额、提示词、密钥或成员相关工具。
- 只读。没有工具能修改数据或调用模型。
- 到期时间。密钥会在选定期限后过期,也可以提前删除。
- 不包含提示词或回复文本。工具只返回元数据。
- Claude 中的工具权限。每个工具都可以设置为运行前询问,这也是连接器页面的默认设置。我们的聊天使用 Claude 的 Auto 权限模式。在这个模式下,Claude 会自行使用连接器,只有发现潜在风险时才暂停,因此这些只读调用没有弹出确认提示。
分享这类聊天时要谨慎。回答可能引用会话 ID、_user 标签中的用户 ID,以及模型名称。
常见问题
Claude 能读取我的 LLM 请求日志吗?
可以,前提是通过连接器接入一个提供日志工具的 MCP 服务器。将 Synthorai 网关添加为自定义连接器,并在登录时批准请求日志权限后,Claude 就可以搜索请求、列出会话和 trace,以及读取费用、token 数、状态和标签。它无法读取提示词或回复,因为工具不返回这些内容。
将 Claude 连接到 MCP 服务器需要 API Key 吗?
如果服务器支持 OAuth 登录,就不需要。将 https://synthorai.io/v1/mcp 添加为自定义连接器后,浏览器会跳转到授权页面。网关会自行创建连接密钥,只包含你勾选的权限范围,有效期为 1 到 90 天。这个密钥会列在“API Key”中,你可以在那里删除它。
Claude 分析日志有多准确?
我们使用 Claude Fable 5.1 测试时,三个回答中的所有数字都与计费记录一致,包括费用、token 数、请求数和状态码。按模型价格重新计算账单后,费用最高会话的解释也成立。仍需检查回答依据了哪些工具调用。
向 Claude 询问网关日志需要多少费用?
不会增加网关账单:日志工具免费,本文的三个问题共调用工具 14 次。模型的工作消耗 Claude 套餐额度。如果程序通过 API 提问,则需要支付所用模型的 token 费用,为智能体接入日志工具对这部分费用做了测量。
将 Claude 连接到请求日志安全吗?
安全范围取决于你批准的权限。本次连接只开放一组数据(请求日志),权限为只读,7 天后过期,且无法访问提示词或回复文本。它不能修改工作区或调用模型;在“API Key”中删除密钥即可终止连接。
相关阅读
- 追踪 LLM 智能体:请求如何获得这些问题用来筛选的会话 ID 和标签。
- 为什么我的 LLM 智能体费用这么高?:前两个问题涉及的会话。
- 为什么我的 LLM 智能体这么慢?和调试 LLM 智能体:在控制台中手动完成同类排查。
- 按子智能体统计 Claude Code 费用:Claude Code 自身的会话在同一份日志中是什么样。
- 为智能体接入日志工具:程序如何使用 API Key 调用相同工具,以及模型 token 的费用。
- MCP 服务器参考文档:所有工具、密钥权限范围,以及限制连接权限的方法。