我们自己的访问统计默认开启。Google Analytics 只在你同意后启用,用来了解公开页面是否有用,不统计登录后的工作台。详见 隐私政策。

Claude Artifacts MCP 做实时竞品看板

Claude Artifact 每次打开都用查看者自己的连接器现取数据;我们接 EveryInfra MCP 实测 9 个品牌三个平台,算清缓存和月费。

示意插图:一张浮在空中的看板页面,上面是空白的表格格子和几列小柱形,其中一行是青绿色;页面下方伸出几根细线,分别连到三个小底座上的空白卡片:竖版视频卡、横版视频卡、方形图片卡;页面右上角一个小时钟和一个小圆盘,表示页面打开时现取数据、存一份共享副本。

Claude 在 2026 年 7 月给发布出去的 Artifact 加了一项能力:页面每次被打开,都可以经查看者自己在 claude.ai 里连好的 MCP 连接器现取数据(Claude Code 第 29 周更新)。这正好能做一张「谁打开都是最新数据」的竞品看板。我们在 2026-11-05 00:18 到 01:05(新加坡时间)之间,用 EveryInfra 远程 MCP 给 9 个品牌各拉了 TikTok、YouTube、Instagram 的近期内容,一共 39 次数据调用(38 次计费,1 次空结果自动退款)、花了 $0.021128。其中 GoPro、Insta360、DJI 三个品牌做看板,另外 6 个品牌(Zara、Bershka、Mango、Garmin、Whoop、Oura)在第二轮里用来多看几种账号,耗时统计和「数据里的坑」用到了它们。Claude 一侧全文都是配置示例:我们写了看板页面的代码,在本机用这些真实返回回放核对过,没有在 claude.ai 里发布。

最值得先知道的一条,和我们自己的工具标注有关:EveryInfra 的取数工具 everyinfra_call_api 目前在工具声明里把自己标成 readOnlyHint: false、destructiveHint: true。这是我们这个工具当前自己的标注,不是 Claude 平台对数据接口的规定。它带来的实际后果是:Claude 的页面运行时不替这个工具缓存结果,也不能用自动刷新的监听方式调用它,缓存要由页面自己存。所以如果页面什么都不做,10 个人每天各打开 3 次,就是一个月 900 次打开、8,100 次计费调用、$4.50;把结果存进看板自己的共享存储、6 小时刷新一次,同样的用法一个月是 $0.60。钱不多,真正要算的是等待时间和每分钟次数:最慢的一次同步调用等了 69 秒,而一把共享 Key 在早会前的同一分钟里会被 10 个人打出 90 次调用。

示意插图:五张小书桌围成半圈,每张桌上一块空白屏幕,各自拉出一根细线连到中间一个圆形的数据枢纽,其中一根线是青绿色;枢纽旁边是一个小书架,架上竖着几张空白的卡片,表示存下来的共享副本。
每个查看者都走自己的连接;把取回来的结果放进一个共享的「书架」,后打开的人就不用再取一次。

claude artifacts mcp 是什么:页面打开时现取数据

Artifact 是 Claude 做出来、可以直接给别人看的东西:文档、幻灯片、设计稿、看板、小工具都算。Claude 帮助中心把它描述成一个可以分享、可以存数据、可以连你的应用的页面,旧版在 2026-09-16 之前做的那种只在对话里显示的预览,现在叫「旧版 Artifact」(《What are artifacts and how do I use them?》,2026-11-05 读取)。我们这篇关心的是其中「连接你的应用」这一项:页面可以在被打开的那一刻,经 claude.ai 的连接器去调用一个 MCP 服务器上的工具,把返回的数据画出来。

code.claude.com 的 Artifacts 文档写得最具体:页面每次被查看都可以调用 MCP 连接器,所以页面显示的是当前数据,而不是做页面那一轮对话里拿到的快照;页面在加载时取数,可以按时间间隔刷新,也可以放一个让查看者手动刷新的按钮(Artifacts 文档,2026-11-05 读取)。发布时 Claude 会声明这一页能调用哪些连接器,页面调用不了声明以外的东西;只有 claude.ai 账户里的连接器才算数,你在 Claude Code 本地 .mcp.json 里配的服务器,做页面时可以拿来取数,发布后的页面却调用不了。

这项能力在 Claude Code 一侧的上线时间是 2026 年 7 月 13–17 日这一周(v2.1.207 到 v2.1.212),更新说明的原话是页面「each time someone views it」都可以调用连接器,而且每次调用走的是查看者账户自己的连接(第 29 周更新)。更早的 2025-10-21,claude.ai 对话里的 Artifact 已经能接 MCP 和持久存储(《Turn ideas into interactive AI-powered apps》 的更新说明);帮助中心把 2026-09-16 之前做的叫旧版 Artifact,版本说明里这一天记的是设计、幻灯片和文档可以在任何对话里做(版本说明)。

功能事实原文怎么写来源与读取日期
哪些套餐能让 Artifact 调连接器Pro、Max、Ultra、Team、Enterprise,网页和桌面端support.claude.com 17153992,2026-11-05
Claude Code 发布连接器页面的最低版本v2.1.209code.claude.com/docs/en/artifacts,2026-11-05
查看者用谁的连接每个查看者用自己的连接器;页面看不到任何人的凭据code.claude.com/docs/en/artifacts,2026-11-05
首次调用每个查看者在页面第一次调用连接器前要先同意同上
需要逐次批准的工具这类工具在 Artifact 里用不了support.claude.com 17153992,2026-11-05
页面存储每个 Artifact 最多 20 MB,只能存文本;分个人存储和共享存储support.claude.com 17153992,2026-11-05
公开链接帮助中心:连了应用的 Artifact 不能用「Anyone with the link」;Claude Code 文档:可以公开分享,但未登录或组织外的人看不到实时部分support.claude.com 9547008;code.claude.com/docs/en/artifacts,2026-11-05
组织级开关Organization settings 里的「Enable artifact connectors」code.claude.com/docs/en/artifacts;support.claude.com 16994751,2026-11-05

谁能用:套餐、客户端和管理员开关

帮助中心在「Connect your apps to an artifact」一节写的是:这项能力在 Pro、Max、Ultra、Team、Enterprise 套餐上可用,客户端是网页版和桌面版的 Claude;同一篇文章还写明,Artifact 依赖「Cloud code execution and file creation」这项设置,关掉它就做不了新的 Artifact(support 17153992)。免费版不在名单里。自定义连接器本身倒是所有套餐都能加,免费版限 1 个(《Get started with custom connectors using remote MCP》),但免费版账户做不了能调连接器的 Artifact,所以对这张看板来说,至少要一个付费套餐。

价格按 claude.com 的定价页(2026-11-05 读取):Pro 年付每月 $17、月付 $20;Max 从 $100 起;Ultra $200;Team 标准席位年付每人每月 $20、月付 $25,高级席位 $100 或 $125;Enterprise 每席 $20 再加按 API 价计的用量(claude.com/pricing)。10 个人的团队用 Team 标准席位月付,席位费一个月是 $250。和下面要算的数据接口费放在一起看,席位费是大头,接口费是零头。

Team 和 Enterprise 上还有两层开关。第一层是 Artifacts 本身,Owner 可以在管理后台关掉;第二层是 Artifact 能不能调连接器,Claude Code 文档写的是 Organization settings > Capabilities 里的「Enable artifact connectors」,这个开关同时管 Claude Code 发布的页面和 claude.ai 对话里做的页面(Artifacts 文档)。管理员指南还有一句容易被忽略:管理员不能限制 Artifact 能连哪些应用,开关是整体的;Artifact 的用量计入每个人自己的用量额度(《Artifacts admin guide for Team and Enterprise plans》)。

发布以后,别人打开用的是谁的连接

这是整件事里最要紧的一条,原文写得很清楚:页面调用连接器时,用的是正在看页面的那个人的账户,不是发布者的账户;两个人打开同一个看板,可能因为各自能访问的东西不同而看到不同数据;页面看不到任何人的凭据,调用由 claude.ai 代页面发出;每个查看者在页面第一次调用连接器之前要先同意,拒绝了或者没连这个连接器的人,仍然能看到页面,只是没有实时部分(Artifacts 文档「How connector calls work for viewers」,2026-11-05 读取)。帮助中心的说法一致:即使是分享或公开的 Artifact,每个人也是连自己的应用(support 17153992)。

Claude Code 文档的截图:code.claude.com 的 Artifacts 页面,「How connector calls work for viewers」一节。青绿框标出三条原文:每个查看者用自己的连接器,两个人打开同一个看板可能看到不同数据,页面看不到任何人的凭据;查看者在第一次连接器调用前要先同意,拒绝或没连的人看到的是没有实时部分的页面;页面上的操作按钮也走点按钮那个人的账户。底部一条说明写着 code.claude.com/docs/en/artifacts,2026-11-05 新加坡时间读取。
截图:Claude Code 文档原文,2026-11-05 00:29(新加坡时间)截取,青绿框为我们所加 code.claude.com《Artifacts》

落到这张看板上,「查看者自己的连接」分两种情况,钱和次数落在谁头上完全不同。第一种,连接器用 OAuth 登录:每个人加连接器时登录自己的 EveryInfra 账户,看板的每一次调用从这个人的余额里扣、算这个人的每分钟次数。第二种,连接器用一把共享的 API Key:Team 或 Enterprise 的 Owner 加连接器时在请求头里填一把 Key,帮助中心原话是这样会让每个使用者都拿到这把 Key 的权限(support 11175166)。这时「每个人用自己的连接」在形式上仍然成立,钱和次数却都落在同一个 EveryInfra 账户上。

还有两类人看不到数据。帮助中心的分享文章写的是:按链接分享时,连了应用或用到 Claude 的 Artifact 不能选「Anyone with the link」;邀请组织外的人时,页面里用到 Claude 或连接器的部分对他们不工作;每个 Artifact 最多邀请 50 位组织外的人(《Share artifacts》,2026-11-05 读取)。Claude Code 文档则写可以公开分享连接器页面,但未登录 claude.ai 或来自组织外的查看者不会触发连接器调用,看到的是没有实时部分的页面。两份原文在「能不能开公开链接」上说法不同,结论倒是一样:组织外的人看不到实时数据。本文按帮助中心更严的那一条写:竞品看板只在组织内分享。

Reddit 上最近有几帖都在问同一件事。一位用户在 Claude Code 里做了一张连数据库的招聘看板,问能不能给没有 Claude 账号的经理看,回帖指出组织内分享要求查看者登录、公开链接上连接器调用根本不跑,建议改成公司内网的小网页(r/ClaudeCode 讨论)。另一帖说自己的看板分享给团队后,人人都是空的,原因正是每个人都要自己连好页面用到的每个连接器并点同意(r/ClaudeAI 讨论)。所以发布前要在每个实时区块里写好「需要先连哪个连接器」的提示,Claude Code 文档也是这么建议的。

调用限额:原文写了什么,没写什么

我们把 claude.com、support.claude.com、code.claude.com 和 docs.claude.com 上和 Artifact 连接器有关的页面都读了一遍(读取日期都是 2026-11-05),没有一处给出「页面每分钟、每天最多调用连接器多少次」这样的数字。管理员指南只写了 Artifact 的用量计入每个人的用量额度;我们在本机 Claude Code 安装包自带的运行时类型定义里看到一个 rate_limited 错误码,注释写的是「保留,目前不会返回」。所以这个问题的诚实回答是:Claude 一侧没有公开的次数上限,真正会卡住你的,是下面几条写明了的硬限制和连接器服务器自己的限速。

限制数值出处对看板的影响
单次工具结果大小(claude.ai 和桌面端)约 150,000 字符claude.com/docs/connectors/building,2026-11-05TikTok 一次 20 条约 5 万字节,50 条要实测
单次工具调用超时(claude.ai 和桌面端)240 秒同上我们最慢的同步调用 69 秒,在限内
页面运行时等待回复约 130 秒,超过按 upstream_error 处理本机 Claude Code 2.1.309 安装包里的运行时类型定义(版本 0.2.96,不是公开文档,可能变化)慢的平台要用异步加轮询
Artifact 存储每个 20 MB,只存文本support.claude.com 17153992共享缓存只存裁剪后的字段
组织外邀请每个 Artifact 最多 50 人,实时部分对他们不工作support.claude.com 9547008只在组织内用
EveryInfra 每分钟次数默认每个账户 60 次,名下所有 Key 合计everyinfra.com/pricing「提速包」,2026-11-05共享 Key 时全组共用这 60 次
EveryInfra 单把 Key 自设上限可以设得比账户低,我们这把测试 Key 是每分钟 10 次2026-11-05 00:19:51 新加坡时间的 429 原文给看板单开一把 Key,限住它

表里第三行要多说一句。Claude Code 在本机带了一份 Artifact 页面运行时的类型定义(我们读的是 2.1.309 版自带的运行时版本 0.2.96),它写明页面通过 claude.use("mcp") 拿到调用函数,等待回复的预算约 130 秒,超时按可重试的错误处理。这份定义不是公开网页,版本会变,我们只把它当成「目前的行为」来写;凡是能在公开文档里找到的规则,都以公开文档为准。

看板要什么数据:三个平台、三项能力

我们给看板定了一个很小的范围:每个品牌三行,分别是 TikTok、YouTube、Instagram;每行算「每天发几条」「中位播放或中位点赞」「TikTok 互动率」「粉丝数」「最新一条是多久以前」,下面再画每个品牌 TikTok 最近 30 天每条视频的播放量。数据来自 EveryInfra 的三项能力,价格取 2026-11-05 00:15(新加坡时间)读到的目录 price_usd(目录接口)。

平台能力我们传的参数每次价格同步/异步看板用到的字段
TikToktiktok/user_videosusername,limit 20(最多 50)$0.000556同步发布时间、播放、点赞、评论、分享、是否置顶、粉丝数、是否认证
YouTubeyoutube/user_posts频道 url,limit 20(最多 50)$0.000556同步标题、相对发布时间、播放、频道订阅数
Instagraminstagram/user_postsusername,limit 20(默认 30,最多 200)$0.000556异步,提交时扣费,轮询免费发布时间、类型、点赞、评论

三项能力都按次计费,不按条数:一次回 1 条和回 50 条价格一样,空结果自动退回。三个平台的介绍页分别在 TikTok 数据接口、YouTube 数据接口 和 Instagram 数据接口。这里也说清楚为什么不直接用三家平台自己的开放接口:YouTube Data API 默认每天 10,000 个配额单位(YouTube 配额说明,页面写明 2026-11-03 更新),读别人的频道可以,但要自己建 Google Cloud 项目;Instagram 的 Business Discovery 能读其他专业账号的粉丝数、帖子点赞数和评论数,前提是你自己有专业账号和访问令牌(Meta 开发者文档);TikTok 的 /v2/video/list/ 只能列出授权用户自己的公开视频,每页最多 20 条(TikTok 开发者文档),读不了竞品。三家各要一套账号和令牌,放进一个所有同事都能打开的页面里,维护起来比一个连接器麻烦得多。

每一格怎么算:发帖频率、中位数和互动率

看板上的数都在页面里现算,不另外存一份算好的结果,这样缓存里只放原始字段,换算法不用重取。「每天发几条」是去掉置顶以后的条数,除以最早那一条到取数时刻之间的天数;YouTube 的发布时间是「3 周前」「2 个月前」这样的相对时间,换算成天以后精度只到周或月,所以 YouTube 这一格只适合看量级,不适合比小数点。我们没有用「近 30 天发了几条」,原因在后面的实测二:一次取 20 条,对发得勤的账号根本盖不住 30 天。

「中位播放」和「中位点赞」用中位数而不用平均数,是因为社媒内容的播放分布极不均匀:GoPro 的 YouTube 最新 20 个视频里,最高一条 440 万播放,最低的正常视频 2.1 万,平均数会被一两条爆款拉到很高,换一天取数就跳一大截。TikTok 的「互动率」是每条视频的点赞、评论、分享之和除以播放数,再取中位数;YouTube 这项能力不返回点赞,Instagram 不返回播放量,这两格就留空,不拿别的数去凑。「粉丝数」取返回里第一条带的作者粉丝数,Instagram 这项能力不返回粉丝数,所以 Instagram 一行的粉丝格也是空的,要看 Instagram 粉丝要另调资料类的能力。

这些空格是有意留的。一张给 10 个人天天看的看板,最怕的不是数据少,而是某一格的含义悄悄变了没人发现:比如某天 Instagram 这项能力开始返回播放量,互动率一下子从空变成有值,大家会以为是对方运营有了变化。所以页面在每一列的表头下面写清这一列来自哪个字段、哪个平台没有,取不到就显示一条横线。

第一步:把 EveryInfra 加成 Claude 连接器(配置示例)

EveryInfra 有两个远程 MCP 地址,适合两种付费方式。下面是配置示例,我们没有在网页版 Claude 上实际登录操作,界面名称取自 Claude 帮助中心 2026-11-05 的原文,以你看到的界面为准。

第一种,每个人用自己的 EveryInfra 账户:地址填 https://api.everyinfra.com/mcp/all。不带凭据去请求它,会收到 401 和一个指向授权说明的 WWW-Authenticate 头,授权说明里的 authorization_servers 指向 EveryInfra 的登录服务(我们在 2026-11-05 00:12 新加坡时间实测,授权说明原文)。这是 MCP 授权规范要求的标准做法:服务器按 RFC 9728 发布受保护资源的说明,客户端据此找到授权服务器(MCP 授权规范 2025-11-25,RFC 9728)。Claude 的连接器文档写明它的 OAuth 客户端遵循 2025-03-26、2025-06-18 和 2025-11-25 三版授权规范,回调地址是 https://claude.ai/api/mcp/auth_callback(《Build an MCP server for Claude》)。这个地址列出 24 个工具。

第二种,全组共用一把 Key:地址填 https://api.everyinfra.com/mcp,在加连接器时的「Request headers」里填 Authorization: Bearer <EVERYINFRA_API_KEY>。这个地址列出 12 个工具,只认 Key。要注意,Claude 的连接器认证文档把这种「静态凭据放请求头」标为测试版,只对一部分组织开放,没开放的组织在加连接器时根本看不到「Request headers」这一栏;文档还提醒,这把 Key 是组织的凭据,不是个人的,每个成员的请求都带着同一把(《Authentication for connectors》,2026-11-05 读取)。

OAuth,`/mcp/all`共享 Key,`/mcp`
谁付钱每个查看者自己的 EveryInfra 账户这把 Key 所在的那一个账户
每分钟次数每个查看者的账户各 60 次全组共用 60 次,或这把 Key 自设的更低上限
列出的工具24 个12 个
谁能配置任何付费 Claude 用户Team 或 Enterprise 的 Owner,且组织要开放了「Request headers」测试版
主要风险每个人都要有 EveryInfra 账户和余额所有成员的调用都带着同一把 Key
text
配置示例(Claude 网页版或桌面版,Pro / Max 个人账户)
1. Customize > Connectors > + Add > Add custom connector
2. Name:  EveryInfra                     ← 页面代码里的 server 名要和这里一字不差
3. URL:   https://api.everyinfra.com/mcp/all
4. Authentication: Sign in when needed   ← 每个人第一次用时登录自己的 EveryInfra 账户
5. Add,然后在连接器的工具权限里,把 everyinfra_call_api 设为 Always allow
   (设成 Needs approval 的话,帮助中心写明这类工具在 Artifact 里用不了)

配置示例(Team / Enterprise,Owner 统一加,共用一把 Key)
1. Organization settings > Connectors > Add custom connector
2. URL:   https://api.everyinfra.com/mcp
3. Request headers:  Authorization: Bearer <EVERYINFRA_API_KEY>
   (测试版,只有部分组织能看到这一栏;这把 Key 给看板单独开一把,设好每分钟上限)
4. Organization settings > Capabilities > Enable artifact connectors 打开
5. 成员各自在 Customize > Connectors 里点 Connect

第 5 步是最容易出问题的地方。Claude 的连接器权限把每个连接器的工具分成「只读」和「写入/删除」两组,每组可以设成总是允许、需要批准或禁止(《Use connectors to extend Claude's capabilities》)。EveryInfra 的 everyinfra_call_api 在工具声明里写的是 readOnlyHint: false、destructiveHint: true、openWorldHint: true(我们在 2026-11-05 00:12 新加坡时间读 tools/list 原文),这是我们这个工具当前自己的标注。按 MCP 规范,这几个字段由工具自己声明,是对自身行为的提示(MCP 规范 2026-07-28 Schema)。它在你的权限页里落在哪一组,以你账户里看到的为准,本文的配置示例没有在 claude.ai 里打开过这一页。处理办法是:加好连接器以后打开它的工具权限,找到 everyinfra_call_api 所在的那一组,设成「总是允许」。帮助中心写明需要逐次批准的连接器工具在 Artifact 里用不了,所以只要它停在「需要批准」,看板就空着。轮询用的 everyinfra_get_job 标的是只读,不受影响。

第二步:claude code artifacts mcp 页面骨架

页面代码的核心只有三件事:声明要调哪个连接器的哪些工具,取数时先看共享缓存,缓存过期才付钱调一次。下面是我们看板里取数的那一段,完整页面约 110 行,表格和小图的渲染代码省略。claude.use("mcp") 和 claude.use("db") 是页面运行时给的两个入口,取不到时返回 null,页面要能在没有它们的情况下照常显示。

js
// 发布时的能力声明(由 Claude 在发布时提交,页面不能调用声明以外的工具)
// capabilities: { mcp: { servers: [{ server: "EveryInfra",
//                 tools: ["everyinfra_call_api", "everyinfra_get_job"] }] },
//                 db: {} }
const SERVER = "EveryInfra", CALL = "everyinfra_call_api", JOB = "everyinfra_get_job";
const TTL_MS = 6 * 3600 * 1000;                       // 共享缓存 6 小时
const req = (b, p) => ({
  tiktok:    { platform: "tiktok",    action: "user_videos", params: { username: b.tiktok, limit: 50 } },
  youtube:   { platform: "youtube",   action: "user_posts",  params: { url: b.youtube, limit: 50 } },
  instagram: { platform: "instagram", action: "user_posts",  params: { username: b.instagram, limit: 50 } },
}[p]);
const KEEP = ["id", "post_id", "posted_at", "view_count", "like_count", "comment_count",
              "share_count", "is_pinned", "author_follower_count", "author_is_verified"];
const trim = (rows) => rows.map((r) => Object.fromEntries(KEEP.filter((k) => k in r).map((k) => [k, r[k]])));

let mcp = null, db = null;
async function fetchRows(b, p, force) {
  const key = `cache/${b.name}-${p}`.toLowerCase();
  if (db && !force) {                                   // 1. 先看共享缓存
    const snap = await db.doc(key).get().catch(() => null);
    if (snap?.exists && Date.now() - snap.data().fetchedAt < TTL_MS) return snap.data();
  }
  if (!mcp) throw { code: "no_mcp" };
  let out = (await mcp.callTool(SERVER, CALL, req(b, p))).payload;   // 2. 付钱取一次
  for (let i = 0; out.job_id && out.status !== "succeeded" && i < 20; i++) {
    if (["failed", "cancelled"].includes(out.status)) throw { code: "job_" + out.status };
    await new Promise((r) => setTimeout(r, 15000));                  // Instagram 异步,轮询免费
    out = (await mcp.callTool(SERVER, JOB, { job_id: out.job_id })).payload;
  }
  const doc = { fetchedAt: Date.now(), rows: trim(out.results || []) }; // 3. 只存要用的字段
  if (db) db.doc(key).set(doc).catch(() => {});        // 只读成员写不进去,不影响他自己看
  return doc;
}
(async () => { [mcp, db] = await Promise.all([claude.use("mcp"), claude.use("db")]); load(false); })();

代码里有几处是按真实返回定下来的。第一,payload 是运行时替你把工具返回的第一段文字按 JSON 解析好的结果,EveryInfra 的返回是 JSON 文本,所以直接读 payload.results。第二,返回里除了数据,还有 billing 和 quota 两段,里面是这次扣了多少钱和账户余额;如果连接器用的是共享 Key,页面代码就能读到这个组织账户的余额,所以 trim 只留看板要用的十个字段,不把余额写进共享存储,更不显示出来。第三,失败不自动重试:本机类型定义写明,非只读工具超时或断线时结果不确定,只能等查看者再点一次才重发;EveryInfra 的 429 是不扣费的,页面可以在错误提示旁边放一个「再试一次」按钮。

页面运行时会返回不同的错误码,每一种要给查看者不同的提示。下表是我们按运行时类型定义里的错误码写的处理方式。

错误码含义页面显示什么
server_not_connected查看者没有这个名字的连接器「请先添加 EveryInfra 连接器」
approval_required这次调用需要查看者批准一个按钮,点一下用同样的参数调一次
needs_reauth连接器登录过期「请在设置 > 连接器里重新连接 EveryInfra」
tool_error工具运行了但报告失败,比如 429错误原文和「再试一次」按钮
server_unavailable超时或服务器错误「暂时取不到」,这个计费工具不自动重试
看板页面的本地预览截图,浅色。标题 Competitor Pulse,下面一行写着数据时间 2026 年 11 月 5 日 12:24 am SGT,这次打开调用了 9 次。表格九行:GoPro、Insta360、DJI 各三行,分别是 TikTok、YouTube、Instagram,列为每天发帖数、中位播放、中位点赞、互动率、粉丝数、最新一条多久以前。GoPro 的 TikTok 是每天 0.22 条、中位播放 85.1K、互动率 3.5%、粉丝 3.5M;DJI 的 Instagram 每天 2.52 条、中位点赞 4.5K。表格下方三张小卡片,各画一个品牌 TikTok 最近 30 天每条视频的播放量散点。右上角一个 Refresh now 按钮。
截图:本地预览,用模拟的 claude.use 回放 2026-11-05 00:18–00:24(新加坡时间)的真实返回;页面里现算的每个数和我们另用 Python 复算的结果逐格一致 本文看板页面本地预览截图(数据为 EveryInfra MCP 真实返回)

这张截图不是在 claude.ai 里拍的:Claude 一侧本文只给配置示例,我们没有在 claude.ai 里发布这张看板,而是在本机用一段模拟的 claude.use() 把当天保存下来的真实返回喂给同一份页面代码。它能证明的是页面代码和返回结构对得上,算出来的数也对:页面里 JavaScript 算的每一格,和我们另写的 Python 复算脚本得出的结果一致。它证明不了的是 claude.ai 里的权限弹窗、首次同意和缓存行为,这几样只能等你在自己的账户里发布后看。

一次真实往返:三个平台各调一次

先看一次 TikTok 的原始往返。2026-11-05 00:18:50(新加坡时间),我们向 https://api.everyinfra.com/mcp 发了一个 tools/call,工具是 everyinfra_call_api,参数是 GoPro 的 TikTok 用户名和 limit 20。22.22 秒后回来 49,956 字节的 JSON:20 条视频,其中 1 条是 2025 年的置顶广告,其余 19 条按时间倒序,最新一条是 2026-11-04 发的,取数时已经过了 2.3 小时;每条 35 个字段;billing.charged_usd 是 0.000556。

我们接口的一次真实返回截图,深色代码卡片。顶部写着 POST https://api.everyinfra.com/mcp,tools/call,00:18:50 SGT,22.22 秒,49,956 字节。上半部分是请求:everyinfra_call_api,平台 tiktok,能力 user_videos,用户名 gopro,limit 20。下半部分是返回摘录:count 20,前两条视频的发布时间、播放、点赞、评论、分享数,文字截短;后面注明还有 18 条、其中 1 条置顶、每条 35 个字段;最后 billing 里 charged_usd 0.000556 被青绿框标出。底部说明封面、音乐、作者和账户字段在这张图里去掉了。
截图:一次真实的 MCP 返回,GoPro 的 TikTok 最新 20 条,扣费 $0.000556 EveryInfra MCP 真实返回

YouTube 那一次在 00:19:16 发出,11.66 秒回来 13,047 字节:20 个视频,有标题、播放数和频道订阅数(GoPro 是 1,130 万),没有点赞数;发布时间是「4d ago」「3w ago」「1mo ago」这样的相对时间,播放数也是取整过的(125,000、300,000)。20 行里有 2 行比较特别:发布时间字段变成了「and NASA」这样的「and + 合作方名字」,播放数是 0。这是两条合作发布的视频,页面要把这类行单独拿出来,不参与中位数,否则会把中位播放拉低。

Instagram 是异步的。00:19:28 提交 GoPro 的请求,8.48 秒后回来的是一个任务号、status: running 和一句下一步提示:用 everyinfra_get_job 读结果。扣费发生在提交时,轮询免费。第一轮我们是在三个品牌都提交完以后才回头去读的,GoPro 那个任务在提交后 23 秒时还在跑,223 秒时读到已经完成,回来 20 条帖子、34,031 字节;DJI 那个我们每 15 秒读一次,00:23:27 是 running,00:23:43 是 finalizing,00:23:58 读到 succeeded,前后约 56 秒。Instagram 的返回有点赞和评论数,没有播放量和粉丝数,目录里的字段说明也写了这项能力不返回这两项、一次最多 48 条。

实测一:等多久

一次打开要调 9 次,每次等多久直接决定看板首屏空多久。下图是第一、二、三轮全部 36 次调用的耗时,每个点一次。TikTok 同步调用的中位数是 21.23 秒,YouTube 是 14.00 秒,但两边都有 50 到 70 秒的长尾:Insta360 的 YouTube 一次等了 66.58 秒,Oura 的 YouTube 等了 69.16 秒、最后回了 0 条并自动退款。Instagram 提交很快,中位 2.12 秒,等结果要再加一到几分钟。

调用次数中位(秒)最快(秒)最慢(秒)
TikTok 同步1221.238.6252.78
YouTube 同步1214.008.7169.16
Instagram 提交122.121.9012.19
Instagram 完成(上限)1214347510
散点图,对数横轴,四行:TikTok 同步、YouTube 同步、Instagram 提交、Instagram 完成(上限)。每个点是一次真调的耗时,青绿色粗竖线是中位数。TikTok 中位约 21.23 秒,点散布在 8 到 53 秒;YouTube 中位约 14.00 秒,最慢 69 秒;Instagram 提交中位约 2.12 秒;Instagram 完成的上限中位约 143 秒,分布在 47 秒到 8 分半。

这组数字对页面设计有三个直接影响。第一,9 次调用不能排队一个个等,要并行发出去,否则最坏情况下首屏要等五六分钟;即使并行,最慢的那一格也要等一分多钟,所以每一格都要有自己的「正在取数」状态。第二,Instagram 必须走「提交、拿任务号、轮询」,不能指望一次同步调用拿到结果:页面运行时等回复的预算约 130 秒,Claude 托管端单次工具调用的上限是 240 秒,而我们第二轮里最慢的 Instagram 任务从提交到读到完成用了 510 秒(其中一部分是我们晚去读造成的;第三轮每 15 秒读一次,三个任务在 47 到 59 秒内完成)。第三,有缓存时这些等待都没有了:从共享存储读一份 9 格的数据,是毫秒级的事。

实测二:20 条能看多远

我们第一、二轮都用了 limit 20。结果发现,对发得勤的账号,20 条根本撑不起「最近 30 天」这个窗口:Insta360 的 TikTok 去掉 3 条置顶以后,17 条只覆盖了 7.2 天,DJI 的 17 条覆盖 6.2 天,Instagram 上 DJI 的 20 条只覆盖 7.9 天。看板上「近 30 天发了几条」这一格,如果直接数 20 条里落在 30 天内的,DJI 会被算成 17 条,实际按每天 2.75 条的速度,30 天应该是 80 条上下。所以我们把看板的指标改成「每天发几条」:用去掉置顶以后的条数除以这些条覆盖的天数,和取多少条无关。

横向分组条形图,对数横轴,三个品牌各三根条,表示最新 20 条覆盖了多少天。GoPro:TikTok 87 天(青绿),YouTube 150 天,Instagram 17 天。Insta360:TikTok 7.2 天,YouTube 60 天,Instagram 14 天。DJI:TikTok 6.2 天,YouTube 60 天,Instagram 7.9 天。一条虚线标在 30 天。副标题说明发得勤的账号 20 条只覆盖一两周,按次计费,limit 调到 50 不加钱。

更好的办法是把 limit 调大。三项能力都按次计费,TikTok 和 YouTube 最多 50 条,Instagram 最多 200 条,条数多不加钱。我们在 01:03 到 01:05(新加坡时间)用 limit 50 补了 3 次调用:Insta360 的 TikTok 从 20 条覆盖 7.2 天变成 50 条覆盖 24.0 天,Mango 的 TikTok 从 14.1 天变成 56.1 天,GoPro 的 YouTube 从约 150 天变成约 365 天,三次都还是每次 $0.000556。代价在体积上:TikTok 每条 35 个字段,20 条约 5 万字节,50 条约 137,072 字节,离 Claude 托管端单次工具结果约 150,000 字符的上限只剩约 13,900 个字符(Insta360 这次返回 136,062 个字符)。这是我们在这次实测里最想提醒的一点:看板页面不能无脑把 limit 拉满,TikTok 50 条已经贴近上限,再多就要分页或者换异步。

调用(2026-11-05,新加坡时间)20 条覆盖天数50 条覆盖天数返回字符数离 150,000 还剩耗时(秒)
Insta360 TikTok,01:03:597.224.0136,06213,93819.75
Mango TikTok,01:04:2714.156.1121,79428,20630.70
GoPro YouTube,01:05:0615036531,212118,78811.52

下表是第一轮三个品牌九格的完整结果,看板截图里的数就是这些。

品牌与平台每天发几条中位播放中位点赞互动率粉丝或订阅
GoPro,TikTok0.2285,100—3.53%350 万
GoPro,YouTube0.12141,500——1,130 万
GoPro,Instagram1.17—9,392——
Insta360,TikTok2.376,903—2.96%240 万
Insta360,YouTube0.27225,500——231 万
Insta360,Instagram1.39—1,654.5——
DJI,TikTok2.7512,200—5.17%440 万
DJI,YouTube0.2764,500——666 万
DJI,Instagram2.52—4,514.5——

实测三:TikTok 播放量的趋势

看板下半部分画的是每个品牌 TikTok 最近 30 天每条视频的播放量。下图用的是第一轮三个品牌的真实返回,纵轴是对数刻度。GoPro 发得少、单条播放高:2026-10-06 和 2026-10-07 发布的两条分别累计到 280 万和 570 万播放,其余几条在 1,500 到 15.7 万之间;Insta360 和 DJI 发得勤,单条多在 1 万上下,偶尔冲到 10 万以上。三家的中位互动率(点赞加评论加分享,除以播放)分别是 3.53%、2.96% 和 5.17%。

散点图,横轴是发布日期,从 10 月 6 日到 11 月 4 日,纵轴是播放量,对数刻度,从 1K 到 10M。GoPro 的点是青绿色圆点,10 月 6 日和 7 日两条分别是 280 万和 570 万,10 月 9 日到 13 日三条在 1.1 万到 15.7 万之间,11 月 3 日、4 日两条是 15,800 和 1,532。Insta360 是深灰方块,DJI 是浅灰三角,都集中在 10 月 28 日以后;DJI 大多在 5,000 到 4.4 万之间,Insta360 多数在 1,400 到 1.2 万之间,有 4 条在 8.6 万到 35.7 万。副标题提醒新发的视频还在涨,右边的点会被低估。

读这张图要注意一件事:每个点是「取数那一刻」的累计播放,不是同一时间段内的播放。昨天发的视频和三周前发的视频放在一起比,前者天然吃亏。看板如果要比「谁这周更火」,更公平的做法是比「发布后 48 小时内的播放」,这需要把每条视频第一次被看到时的播放存下来,过 48 小时再取一次。这正好是共享存储能做、Claude 自带缓存做不了的事:共享存储可以留历史,浏览器缓存只留最近一次。

实测四:41 分钟后数据变了多少

缓存多长合适,要看数据本身变得多快。我们在 01:00 到 01:03(新加坡时间)对第一轮的三个品牌、三个平台原样再调了一次,和第一轮相隔约 41 分钟(0.7 小时),逐条对比同一条内容的播放或点赞。

横向条形图,9 行,每行是一个品牌加一个平台,两根条:青绿色是中位变化,灰色是最大变化,横轴 0 到 25%。所有中位变化都在 0.4% 以下。最大变化:Insta360 Instagram 23.4%,DJI Instagram 12.2%,GoPro TikTok 6.14%,DJI TikTok 5.37%,Insta360 TikTok 5.05%,三个 YouTube 都在 1.2% 以下。每行标着 20 条里变了几条。

两轮之间,9 格里没有出现一条新内容。变化几乎都落在最近一两天新发的那几条上。TikTok 上 Insta360 有 15 条播放变了,但中位只涨 0.18%,涨得最多的是 11-03 发的一条,从 247,300 到 259,800(+5.05%);DJI 涨得最多的是 11-04 新发的一条(+5.37%);GoPro 只动了 5 条,最大的是 11-04 那条,从 1,532 到 1,626。Instagram 变的条数多(12 到 17 条),中位只涨约 0.1%,最大的两条都是 11-04 新发的:Insta360 一条点赞从 742 到 916(+23.4%),DJI 一条从 2,406 到 2,700(+12.2%)。YouTube 三个频道 20 条里最多只有 1 条变了,因为播放数是取整后的约数(比如 125,000),小幅上涨看不出来。

品牌与平台比较字段20 条里变了几条中位变化最大变化
GoPro TikTok播放50.00%6.14%
GoPro YouTube播放10.00%0.26%
GoPro Instagram点赞160.06%0.46%
Insta360 TikTok播放150.18%5.05%
Insta360 YouTube播放00.00%0.00%
Insta360 Instagram点赞120.10%23.45%
DJI TikTok播放140.36%5.37%
DJI YouTube播放10.00%1.20%
DJI Instagram点赞170.10%12.22%

结论很直接:对「谁发得勤、一般多少播放」这类格子,6 小时的共享缓存几乎不丢信息,旧内容 41 分钟里的变化不到 1%;真正在变的是最近一天新发的几条。如果看板要盯新内容起量的速度,就给「最近 48 小时」单独做一行,缓存设短一点(比如 1 小时),其他格子仍然 6 到 24 小时刷新一次。

实测五:返回有多大,共享存储装得下吗

Artifact 的存储是每个 20 MB、只存文本(support 17153992)。我们的 9 格原始返回加起来约 326 KB,按 trim 只留十个字段以后是 27.6 KB,压到原来的 8.5%。就算保留每 6 小时一份的历史,一个月 120 份也才 3.3 MB,在 20 MB 以内。原始返回不要整份存:除了体积,里面还有账户余额,共享存储是所有成员都能读的。

数据里的坑:占位账号、合作视频、空结果

这次 27 格数据里,有三格不能直接上看板,三种情况各不相同,页面都要能认出来。

情况真实例子(2026-11-05 新加坡时间)扣费页面怎么处理
用户名对上的是别人的账号Garmin 的 TikTok,我们按品牌名猜的用户名只回 1 条,账号未认证、21 个粉丝$0.000556粉丝数过低或 author_is_verified 为 false 时标「核对账号」,不进对比
合作视频的行GoPro、Insta360、DJI 的 YouTube 各有 2 到 4 行,发布时间是「and + 合作方名字」,播放为 0正常计费发布时间认不出的行不进中位数,单列为「合作发布」
空结果Oura 的 YouTube 频道地址回 0 条,等了 69.16 秒自动退回,$0显示「这个地址没有取到内容」,提示核对频道地址
置顶9 个 TikTok 账号里 5 个有置顶,Insta360 和 DJI 各 3 条正常计费去掉置顶再算发帖频率和中位数
每分钟次数用完第一轮共 4 次 429,其中 3 次在 00:19:51,原文写这把 Key 自己的上限是每分钟 10 次不扣费按 retry_after 秒数提示,放「再试一次」按钮

第一行最容易被忽略。品牌在 TikTok 上的用户名不一定就是品牌名,我们试的那一个对上的是一个普通人的小号;它照常扣费,因为接口确实取到了内容。看板第一次加品牌时,最好让做看板的人在 Claude 对话里先用 tiktok/profile 这类资料接口核一遍认证状态和粉丝量,确认了再写进页面。

每次打开多少钱:10 人每天 3 次

按 2026-11-05 的目录价,三项能力都是每次 $0.000556。看板 3 个品牌、每个品牌 3 个平台,一次打开要 9 次调用,$0.005004。轮询 Instagram 结果用的 everyinfra_get_job 免费,空结果退款,429 不扣费。

横向条形图,四根条表示 10 人每天各打开 3 次时一个月的接口费。不缓存 $4.50(灰色);每人缓存 24 小时 $1.50;共享缓存 6 小时 $0.60;共享缓存 24 小时 $0.15,三根是青绿色。副标题写一次打开 9 次调用 $0.005004。
方案一个月要取几次计费调用一个月接口费说明
不缓存900 次打开都取8,100$4.5010 人 × 3 次 × 30 天 × $0.005004
每人缓存 24 小时每人每天 1 次,300 次2,700$1.50Claude 自带缓存做不到(我们的工具目前标为非只读),要自己存进个人存储
共享缓存 6 小时每天 4 次,120 次1,080$0.60存进 Artifact 共享存储,谁先打开谁取
共享缓存 24 小时每天 1 次,30 次270$0.15适合周会看的看板
参照:Team 标准席位 10 人月付——$250claude.com/pricing,2026-11-05

钱的绝对数都很小,最贵的方案一个月也不到 5 美元,和 10 个 Team 席位的 $250 比只是零头。但有两个细节要先想清楚。第一,OAuth 方式下,「谁先打开谁取」意味着每次缓存过期后第一个打开页面的人付这次的钱,早上最早来的同事会一直替大家付;金额小到可以不在乎,但最好在页面上写一句。第二,共享 Key 方式下,钱都从组织那一个账户里扣,余额用完全组的看板一起空,要在 EveryInfra 控制台给这个账户设好余额提醒。

怎么缓存才不会每次打开都扣费

Claude 的页面运行时自带一层调用缓存:对声明为只读(readOnlyHint: true)的工具,默认存 5 分钟,可以调到最长 7 天;Artifacts 文档也写了「响应缓存在查看者的浏览器里,重新打开页面时先用缓存画出来,再用新结果更新」。但我们在本机 Claude Code 2.1.309 安装包里读到的运行时类型定义(版本 0.2.96,不是公开文档)同时写明,工具声明里明确写了 readOnlyHint: false 的,缓存参数一律忽略,调用不缓存,也不能用自动刷新的 watchTool 来调。everyinfra_call_api 当前的标注正是这种情况,所以运行时不会替你复用它的结果,每次调用都扣一次费。读者要做的是让页面自己存缓存,下面是我们的做法。

流程动画,8 秒一圈。左边是查看者打开页面;第一步判断共享缓存里的数据是否还新鲜;是,就直接画表,这次 $0;否,就经 claude.ai 用查看者自己的连接,调 EveryInfra MCP 的 everyinfra_call_api,拿到数据后画表,同时沿一条虚线把裁剪后的结果写回共享缓存,下一个人打开就走「是」那条路。

我们推荐的做法是用 Artifact 的共享存储(db 能力)存每一格的裁剪结果和取数时间,打开时先读,过了 6 小时才重取。这样做有三个好处:一是钱,从每月 $4.50 降到 $0.60;二是等待,缓存命中时首屏是毫秒级,不用等一分钟;三是每分钟次数,见下图。共享存储的读写权限默认是「参与者及以上可以写、只读成员只能读」,所以只读成员打开过期的看板时,会自己付钱取一次、看到最新数据,但写不回缓存,下一个人还会再取一次,这一点代码里要容忍。

横向条形图,假设 10 人在同一分钟打开看板。每人用自己的账户登录时,最忙的账户这一分钟接 9 次(青绿);共用一把 Key、不缓存时,同一个账户这一分钟接 90 次(深灰),超过虚线标出的每分钟 60 次;共用一把 Key、有共享缓存时只有 9 次(青绿)。

每分钟次数这一点只在共享 Key 方式下要紧。EveryInfra 默认每个账户每分钟 60 次,名下所有 Key 合计(价格页「提速包」)。10 个人在早会前同一分钟打开一张不缓存的看板,就是 90 次调用落在一个账户上,后面的 30 次会收到 429:不扣费,但这几格是空的。我们这次测试用的 Key 自己设了每分钟 10 次的上限,第一轮共撞了 4 次,其中 3 次在 00:19:51,原文是 Key 自己的上限用完、按 9 秒后重试。给看板单开一把 Key、设一个比账户低的每分钟上限,能保证看板再怎么被打开,也不会吃掉同一账户里其他程序的次数。

共享缓存也有代价,Reddit 上一位做 HaloPSA 服务台看板的作者和评论区已经讨论得很清楚(r/halopsa 讨论)。一是权限:缓存里的数据是第一个取数的人用他的权限取的,后来的人看到的不一定是自己权限内的数据;竞品的公开社媒数据人人能看,这一点对我们不是问题,对内部数据就是问题。二是可信度:默认规则下任何「参与者」都能改共享存储里的缓存文档,有人写进假数字,所有人的看板都会显示。要防这一点,可以把缓存路径的写权限收紧到编辑者,代价是普通成员打开过期页面时每次都要自己取。

最近的变化

2026-10-28,Anthropic 给 Claude for Legal 上了一组现成的法律 Artifact,说明里把 Artifact 定位为「可以在 Claude 里使用和分享的交互工具,比如跟踪表和看板」,并写到用连接器把团队已有的资料接进来(《Introducing artifacts for legal work with Claude》);首发合作方之一 Harvey 当天发文说明它的 Intake Artifact 经 Harvey 的 MCP 服务器连到 Harvey(Harvey 博客)。2026-10-21,帮助中心版本说明记了 Claude Duet 等更新(版本说明)。2026-10-15,Enterprise 套餐上的 Artifact 模板改为默认开启(同一份版本说明)。

2026-10-08,Claude Dashboards 和 Claude Motion 进入测试,Dashboards 在付费套餐上可用,能连 BigQuery、Snowflake 这类数据平台,也能用其他连接器,每张图都标出数据上次刷新的时间(Claude 博客,帮助中心《Get started with Claude dashboards》)。The New Stack 当天的报道引用 Anthropic 发言人的话说,分享出去的看板默认由每个查看者自己的连接去跑查询(The New Stack)。Dashboards 偏向用 SQL 查数据仓库;本文这种调社媒数据接口的看板,用通用的 Artifact 加 MCP 连接器更直接。

Claude Code 一侧,v2.1.209 修了「发布时接受了连接器并不提供的工具名」的问题,v2.1.265 起发布时会核对页面声明的工具名,一个都对不上就拒绝发布(Claude Code 更新记录,Artifacts 文档)。截至 2026-11-05 我们读到的最新版本是 v2.1.318。另有一个仍然开着的 GitHub 问题:2026-08-06 有人报告,从云端会话更新 Artifact 会清掉它的连接器授权,界面里也没有地方重新授权(claude-ai-mcp #787),Reddit 上也有人遇到同样的「工具不在这个 Artifact 的允许列表里」报错(r/ClaudeAI 讨论)。

claude artifacts 常见问题

Claude Artifacts 能调用已连接的 MCP 连接器吗?

能。来源:Google 联想词「claude code artifacts can now call mcp connectors」。发布出去的 Artifact 每次被打开,都可以经查看者在 claude.ai 里连好的连接器调用 MCP 工具;要 Pro、Max、Ultra、Team 或 Enterprise 套餐,Claude Code 发布要 v2.1.209 或更高。只有 claude.ai 账户里的连接器算数,本地 .mcp.json 里的服务器,发布后的页面调用不了(Artifacts 文档)。

claude artifacts mcp 有调用次数限制吗?

来源:Google 联想词「claude artifacts mcp limits」。截至 2026-11-05,Claude 的公开文档没有给出页面调用连接器的次数上限,只写了用量计入每个人的额度。写明的硬限制是 claude.ai 和桌面端单次工具结果约 150,000 字符、单次调用 240 秒(《Build an MCP server for Claude》)。连接器服务器自己的限速另算,EveryInfra 默认每个账户每分钟 60 次。

没有 Claude 账号的人能看到看板里的实时数据吗?

不能。来源:r/ClaudeCode 一帖问能否把连数据库的看板给没有 Claude 账号的经理看。组织外的人和没登录的公开链接访问者,页面里连接器那部分不会运行;帮助中心还写明连了应用的 Artifact 不能用「Anyone with the link」(《Share artifacts》)。要给外部的人看,只能导出静态快照,或者另做一个有登录的内部网页。

为什么我分享出去的看板,同事打开是空的?

来源:r/ClaudeAI 一帖,作者的看板分享给团队后人人都是空的。连接器是按账户的,每个查看者都要自己连好页面用到的每个连接器,并在第一次调用时点同意;Team 和 Enterprise 还要看「Enable artifact connectors」有没有开,以及这个工具在连接器权限里是不是「需要批准」。页面调用的工具名对不上,所有人都会是空的(Artifacts 文档排错一节)。

重新发布以后报「不在这个 Artifact 的允许列表里」怎么办?

来源:r/ClaudeAI 一帖和 GitHub claude-ai-mcp 第 787 号问题。页面能调哪些工具,是发布时那份能力声明决定的,不是页面代码里写了什么;从云端会话更新时,声明可能被清空。在本机会话里重新发布,并在发布时把连接器和工具名列全,是目前讨论里唯一有效的办法。

共享缓存会不会让别人看到不该看的数据,或者被人改掉?

来源:r/halopsa 服务台看板一帖的评论区。会有这两种风险:缓存里的数据是第一个取数的人按他的权限取的;默认规则下参与者都能写缓存文档。竞品的公开社媒数据不涉及权限差异;要防改动,就把缓存路径的写权限收紧到编辑者,代价是普通成员每次打开过期页面都自己取一次。

claude artifacts 要额外付钱吗?

来源:Google 联想词「do claude artifacts cost money」。Artifact 本身在付费套餐里,没有单独的价格;用量计入每个人的额度。看板调用的数据接口另算,本文的例子一次打开 $0.005004,10 人每天 3 次、不缓存一个月 $4.50,共享缓存 6 小时 $0.60。

上手步骤

  1. 在 EveryInfra 注册并充值,按 快速开始 拿到 Key 或准备好 OAuth 登录;远程 MCP 的说明在 MCP 服务器 和 远程 MCP 接入。
  2. 在 Claude 里按上面的配置示例加连接器,名字写 EveryInfra,把 everyinfra_call_api 设为总是允许。
  3. 先在 Claude 对话里让它用这个连接器对每个品牌调一次,核对用户名、频道地址和返回字段。
  4. 让 Claude 按本文的骨架做看板页面,声明 mcp 和 db 两项能力,发布后只在组织内分享。
  5. 每个同事自己连一次连接器,第一次打开时点同意;看板页面上写清缓存多久、过期后谁打开谁付这次的钱。

相关阅读

EveryInfra 博客已经有两篇做竞品的文章。《一份 SKILL.md 通用四个 AI 工具:竞品评论实测》讲的是把「读竞品评论、出分析」写成一份 Agent Skill,在 Claude Code、Codex 这些工具里跑一次、出一份报告,数据在跑的那一刻取、结果是静态的文档。《ChatGPT Spaces 做竞品社媒追踪页》讲的是 ChatGPT Space 里的共享页面,页面本身不会自己更新,要靠每周一次的定时任务去改,查看者看到的永远是上一次任务写进去的数。

这一篇的不同在于取数的时刻和付钱的人:Claude Artifact 是在每个人打开页面的那一刻,用这个人自己的连接器去取,所以「多久取一次」不再由一个定时任务决定,而是由「多少人、多常打开」决定;「谁付钱」也不再是建任务的那个人,而是每个打开页面的人(OAuth)或者加连接器时填 Key 的那个组织(共享 Key)。这两个变量决定了缓存怎么做,也是本文所有实测围绕的问题。如果你只要每周一份静态报告,前两篇的做法更省事。

参考资料

  1. Claude 帮助中心《What are artifacts and how do I use them?》,2026-11-05 读取:https://support.claude.com/en/articles/17153992-what-are-artifacts-and-how-do-i-use-them
  2. Claude 帮助中心《Share artifacts》,2026-11-05 读取:https://support.claude.com/en/articles/9547008-share-artifacts
  3. Claude 帮助中心《Artifacts admin guide for Team and Enterprise plans》,2026-11-05 读取:https://support.claude.com/en/articles/16994751-artifacts-admin-guide-for-team-and-enterprise-plans
  4. Claude 帮助中心《Get started with custom connectors using remote MCP》,2026-11-05 读取:https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp
  5. Claude 帮助中心《Use connectors to extend Claude's capabilities》,2026-11-05 读取:https://support.claude.com/en/articles/11176164-use-connectors-to-extend-claude-s-capabilities
  6. Claude 帮助中心《Get started with Claude dashboards》,2026-11-05 读取:https://support.claude.com/en/articles/17454700-get-started-with-claude-dashboards
  7. Claude 帮助中心《Release notes》,2026-11-05 读取:https://support.claude.com/en/articles/12138966-release-notes
  8. Claude Code 文档《Artifacts》,2026-11-05 读取:https://code.claude.com/docs/en/artifacts
  9. Claude Code 第 29 周更新(2026 年 7 月 13–17 日),2026-11-05 读取:https://code.claude.com/docs/en/whats-new/2026-w29
  10. Claude Code 每周更新索引,2026-11-05 读取:https://code.claude.com/docs/en/whats-new
  11. Claude Code 文档《Connect Claude Code to tools via MCP》,2026-11-05 读取:https://code.claude.com/docs/en/mcp
  12. Claude Code 更新记录(CHANGELOG),2026-11-05 读取:https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md
  13. Claude Code 更新记录(文档版),2026-11-05 读取:https://code.claude.com/docs/en/changelog
  14. claude.com 开发者文档《Build an MCP server for Claude》,2026-11-05 读取:https://claude.com/docs/connectors/building
  15. claude.com 开发者文档《Authentication for connectors》,2026-11-05 读取:https://claude.com/docs/connectors/building/authentication
  16. Claude API 文档《MCP connector》,2026-11-05 读取:https://docs.claude.com/en/docs/agents-and-tools/mcp-connector
  17. Claude 定价页,2026-11-05 读取:https://claude.com/pricing
  18. Claude 博客《Build live dashboards and animate explainers with Claude》(2026-10-08),2026-11-05 读取:https://claude.com/blog/dashboards-and-motion
  19. Claude《Introducing artifacts for legal work with Claude》(2026-10-28),2026-11-05 读取:https://claude.com/resources/articles/introducing-artifacts-for-legal-work
  20. GitHub anthropics/claude-ai-mcp 第 787 号问题(2026-08-06 提出),2026-11-05 读取:https://github.com/anthropics/claude-ai-mcp/issues/787
  21. MCP 规范 2025-06-18《Tools》,2026-11-05 读取:https://modelcontextprotocol.io/specification/2025-06-18/server/tools
  22. MCP 规范 2025-06-18《Authorization》,2026-11-05 读取:https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization
  23. MCP 规范 2025-11-25《Authorization》,2026-11-05 读取:https://modelcontextprotocol.io/specification/2025-11-25/basic/authorization
  24. MCP 规范 2026-07-28《Schema Reference》,2026-11-05 读取:https://modelcontextprotocol.io/specification/2026-07-28/schema
  25. IETF RFC 9728《OAuth 2.0 Protected Resource Metadata》,2026-11-05 读取:https://datatracker.ietf.org/doc/html/rfc9728
  26. IETF RFC 6750《The OAuth 2.0 Authorization Framework: Bearer Token Usage》,2026-11-05 读取:https://datatracker.ietf.org/doc/html/rfc6750
  27. MDN《429 Too Many Requests》,2026-11-05 读取:https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Status/429
  28. Google for Developers《YouTube Data API (v3) - Quota Calculator》(2026-11-03 更新),2026-11-05 读取:https://developers.google.com/youtube/v3/determine_quota_cost
  29. Meta 开发者文档《IG User Business Discovery》,2026-11-05 读取:https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/business_discovery
  30. Meta 开发者文档《Rate Limits - Graph API》,2026-11-05 读取:https://developers.facebook.com/docs/graph-api/overview/rate-limiting
  31. TikTok 开发者文档《List Videos》,2026-11-05 读取:https://developers.tiktok.com/doc/tiktok-api-v2-video-list
  32. TikTok 开发者文档《Understanding TikTok API Rate Limits》,2026-11-05 读取:https://developers.tiktok.com/doc/tiktok-api-v2-rate-limit
  33. EveryInfra 远程 MCP(tools/list、tools/call 真调),2026-11-05:https://api.everyinfra.com/mcp
  34. EveryInfra 受保护资源说明(/mcp/all),2026-11-05 00:12 新加坡时间读取:https://api.everyinfra.com/.well-known/oauth-protected-resource/mcp/all
  35. EveryInfra 数据能力目录,2026-11-05 00:15 新加坡时间读取:https://api.everyinfra.com/api/v1/social/catalog
  36. EveryInfra OpenAPI 说明,2026-11-05 读取:https://api.everyinfra.com/openapi.json
  37. Reddit r/ClaudeCode《Share an artifact with a database to users without a Claude License》,2026-11-05 读取:https://www.reddit.com/r/ClaudeCode/comments/1xhwscj/help_needed_share_an_artifact_with_a_database_to/
  38. Reddit r/ClaudeAI《Has anyone gotten a Claude artifact with connectors to work for their whole team?》,2026-11-05 读取:https://www.reddit.com/r/ClaudeAI/comments/1wb1ep7/has_anyone_gotten_a_claude_artifact_with/
  39. Reddit r/ClaudeAI《Problem with Artifact MCP permissions》,2026-11-05 读取:https://www.reddit.com/r/ClaudeAI/comments/1vr1k8q/problem_with_artifact_mcp_permissions_how_can_i/
  40. Reddit r/halopsa《The mother of all HaloPSA dashboards, built in Claude artifacts》,2026-11-05 读取:https://www.reddit.com/r/halopsa/comments/1wfttq0/the_mother_of_all_halopsa_dashboards_built_in/
  41. Reddit r/ClaudeAI《Artifacts cannot invoke custom MCP connectors》,2026-11-05 读取:https://www.reddit.com/r/ClaudeAI/comments/1q8gp3l/artifacts_cannot_invoke_custom_mcp_connectors/
  42. The New Stack《Claude can now build your dashboards》(2026-10-08),2026-11-05 读取:https://thenewstack.io/claude-dashboards-data-motion/
  43. Harvey《Harvey Brings Intake to Claude for Legal Artifacts Launch》(2026-10-28),2026-11-05 读取:https://www.harvey.ai/blog/harvey-intake-claude-for-legal-artifact
  44. Claude《Turn ideas into interactive AI-powered apps》(含 2025-10-21 更新说明),2026-11-05 读取:https://claude.com/resources/articles/build-artifacts

引用编号 BL-87