关于 Arcmira: YouTube Transcript Search
Arcmira 是面向 Agent 的 YouTube 与播客转录搜索服务,适用于媒体研究和监测。它可返回带时间戳的引文、提及与赞助信息,并支持跟踪新提及。
主要功能
- 01搜索 YouTube 与播客转录
- 02检索带时间戳的引文
- 03查找人物与品牌提及
- 04分析自然推荐和广告口播
- 05创建提及监测
适用场景
- 01研究某主题近期的媒体讨论
- 02核查发言及其上下文
- 03统计人物的媒体出镜情况
- 04追踪频道赞助商与新提及
MCP 相关
通过 https://mcp.arcmira.com/mcp 提供远程 MCP 服务,客户端可调用搜索、转录、提及分析、监测及反馈工具。支持主机授权登录或 Bearer key。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://mcp.arcmira.com/mcpclaude mcp add --transport http arcmira-arcmira https://mcp.arcmira.com/mcp{"mcpServers":{"arcmira-arcmira":{"type":"http","url":"https://mcp.arcmira.com/mcp"}}}在 Cursor 中打开{"servers":{"arcmira-arcmira":{"type":"http","url":"https://mcp.arcmira.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"arcmira-arcmira":{"type":"http","url":"https://mcp.arcmira.com/mcp"}}}{"mcpServers":{"arcmira-arcmira":{"serverUrl":"https://mcp.arcmira.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
https://mcp.arcmira.com/mcp需要授权工具
详细介绍
用于 YouTube 和播客文字稿搜索的 Arcmira MCP
搜索 YouTube 视频和播客文字稿,检索带时间戳的引述,查找实体提及和媒体亮相,查看自然推荐和广告口播,并通过你的 Agent 监控新提及。
连接 Arcmira
添加远程 MCP 服务 https://mcp.arcmira.com/mcp,并通过你的宿主登录。设置说明请参阅连接你的 Agent。
对于编码 Agent,请粘贴:
Fetch and execute the appropriate instructions to set me up for Arcmira from https://arcmira.com/agent-setup/prompt.md
执行首次搜索
向你的 Agent 提问:
搜索过去 60 天关于 GPU 融资的 YouTube 和播客文字稿。返回相关引述(如有,请注明发言者)、发布日期、文字稿来源和带时间戳的链接。总结来源所表达的含义前,请先阅读相关对话的上下文。
Agent 会调用一次 arcmira_describe 来加载客户端参考,然后通过 arcmira_execute_read 运行程序。返回结构化字段以供进一步分析,并为读者提供简洁且有来源依据的回答。
const query = "GPU financing";
const hits = await arcmira.search({
query, after: arcmira.daysAgo(60), before: arcmira.today(), limit: 5,
});
return { query, window: hits.window, passages: hits.chunks };
搜索最多支持 20 段内容,但完整段落可能超出执行工具的输出限制。如果结果被截断,请减少段落数量,或仅返回下一步所需的字段。保留选中的原文,并留存其来源链接。
根据任务选择方法
| 任务 | 客户端方法 | 需保留的内容 |
|---|---|---|
| 搜索 YouTube 和播客文字稿中的引述 | arcmira.search | 段落文本、如有则注明出处、发布日期、观看 URL |
| 阅读相关文字稿的上下文 | arcmira.transcript | 状态、带时间戳的行、来源、发言者映射 |
| 查找人物、公司、产品或主题的提及 | arcmira.mentions | 实体、描述、来源视频、位置、亮相标记 |
| 统计某人的媒体亮相次数 | 使用 mode: "appearances" 的 arcmira.occurrences | 统计时间范围、按频道划分的单集数量 |
| 比较提及热度变化 | arcmira.momentum | 当前/此前数量、变化、判定、返回的时间范围 |
| 查找自然推荐或广告口播 | arcmira.recommendations | 分类、逐字引述、来源和位置 |
| 查找经常出现的频道赞助商 | arcmira.sponsors | 赞助商、广告口播次数、视频数量、最早/最近日期 |
| 设置 YouTube 监控 | 通过 arcmira_execute_write 调用 arcmira.monitors | 监控项、跟踪的实体、投递设置 |
应用实体或频道 ID 筛选条件前,先解析名称。纯关键词搜索无需调用解析器。MCP 客户端的参数名称与 HTTP 和 SDK 中的名称不同;请使用 arcmira_describe 返回的参考信息。
继续研究
继续投资研究工作流。你将了解如何从搜索结果追踪相互竞争的解释、查看相关对话上下文、根据披露信息核实说法,并撰写一份列出尚未解决问题的简报。
发言者识别和商业分类可能不完整。请检查链接来源。是否缺少来源或工作流所需的功能?请使用 arcmira_feedback 说明缺少的内容、其重要性,以及更好的支持能带来什么价值。帮助完善索引。
认证选项
有两种接入方式。支持 MCP 授权规范的宿主会为你登录;其他宿主则发送密钥。
通过宿主登录。 添加 https://mcp.arcmira.com/mcp,不带密钥。服务会返回带有 OAuth 挑战的 401 响应,宿主会向 api.arcmira.com 注册自身,打开 arcmira.com 供你登录并授权,然后使用包含你已允许权限的令牌连接。令牌会自动刷新;你可以在“设置”中的“已连接的应用”下撤销宿主的访问权限。
claude mcp add --transport http --scope user arcmira https://mcp.arcmira.com/mcp
codex mcp add arcmira --url https://mcp.arcmira.com/mcp
Claude Desktop、claude.ai、ChatGPT 和 Cursor:将此 URL 添加为自定义连接器或 MCP 服务,不添加标头,然后按提示登录。各宿主的设置步骤见 https://arcmira.com/agent-setup。
发送密钥。 无法通过登录接入的客户端改为发送 bearer 令牌,服务会跳过 OAuth。
账户密钥(arc_sk_...)可从 https://arcmira.com 获取。套餐和范围决定每个工具返回的内容。没有账户且无法使用浏览器时,可通过 API 注册。先提交电子邮件地址,再将收到邮件中的六位数验证码发回。
curl -X POST "https://api.arcmira.com/v1/signups?src=mcp-tool" \
-H 'Content-Type: application/json' \
-d '{"email":"[email protected]"}'
curl -X POST "https://api.arcmira.com/v1/signups/verify" \
-H 'Content-Type: application/json' \
-d '{"email":"[email protected]","code":"482913"}'
claude mcp add --transport http --scope user arcmira https://mcp.arcmira.com/mcp --header "Authorization: Bearer $ARCMIRA_API_KEY"
{
"mcpServers": {
"arcmira": {
"url": "https://mcp.arcmira.com/mcp",
"headers": { "Authorization": "Bearer arc_sk_..." }
}
}
}
401 响应正文会在 error.data.unlock.action 中包含注册调用,因此无法登录的 Agent 可以创建账户并重新连接。发现机制:https://mcp.arcmira.com/.well-known/oauth-protected-resource 指定授权服务器;https://api.arcmira.com/.well-known/oauth-authorization-server 列出其端点。
工具
| 工具 | 输入 | 返回内容 |
|---|---|---|
arcmira_describe | topic? | arcmira 客户端参考文档:ID 规则、每种方法回答哪类问题、每种方法的参数和返回字段、可运行的示例程序、可能导致无法获取答案的注意事项、用量和监控规则、错误代码及文档链接。约 25,000 个字符;topic 可将内容限定为一种方法及其示例。不会产生费用。 |
arcmira_execute_read | code | 程序输出的内容及其返回值。代码是异步函数的函数体,arcmira 和 ArcmiraError 已在作用域内。可读取数据,包括 Premium 转录文本和用户的监控项。限制:执行时间 30 秒、40 次 API 调用、总输出 12,000 个字符、每个字符串 3,000 个字符、每个数组 100 个条目。 |
arcmira_execute_write | code | 与 arcmira_execute_read 相同,另可写入账户:arcmira.monitors.create、arcmira.monitors.update(包括 paused)、arcmira.monitors.addEntities、arcmira.monitors.addName 和 arcmira.monitors.attachTrackers。不会删除任何内容。 |
arcmira_feedback | category、note、request_id?、call_id? | 一次类型为 experience 的 POST /v1/feedback 调用。category 可以是 wrong_entity、bad_data、missing、slow、confusing 或 other;note 描述发生的情况。返回反馈 ID。 |
每个工具还接受可选的 intent,最多 300 个字符:用几个词概述用户的请求。宿主不提供此参数也不会丢失任何内容。参见我们记录的内容。
只有 arcmira_describe 标注为只读。两个程序工具都可以启动 Premium 转录,这会消耗套餐额度,再使用按需预算,因此二者都不是只读工具。只有 arcmira_execute_write 具有破坏性,因为它可以覆盖监控设置并暂停监控;Premium 读取只会添加内容。两者都可以请求任意公开视频,并带有开放世界标注。反馈会新增一条已存储记录,属于追加写入。这些标签描述的是可能产生的影响;execute_read 这个名称表示客户端访问级别,并不保证没有副作用。
按用量计费的读取会先使用套餐额度,然后使用你在控制面板中设置的按需预算。Arcmira 会对每次读取执行预算限制,且没有任何工具会接收支出金额。搜索在返回超过前 5 条结果后,每多返回一条内容会使用 4 个额度;字幕读取在其时间窗口内每开始 15 分钟使用 4 个额度;Premium 转录在整段视频中每开始 15 分钟使用 300 个额度。启动转录的 Premium 读取会报告其 charge(额度,以及额度来自套餐、按需用量还是两者兼有)。arcmira.quote(video) 会提前返回该价格,且不使用额度;这是价格查询,不是口头报价。当套餐或预算阻止读取时,工具结果会返回错误(isError: true),其中包含 API 的 code(paid_plan_required、quota_exceeded、spend_limit_exceeded、member_limit、fair_use_cap 或 on_demand_paused)、说明已达到的限制以及如何解除限制的 message,并在更改套餐或设置即可解除限制时提供 unlock。服务会向 Agent 提供这些信息,而不是告知它该怎么说。
Premium 转录在 arcmira_execute_read 中算作一次读取:
const t = await arcmira.transcript("cdLeJU_1UH8", { quality: "premium" });
return t.state === "ready" ? t.lines : { state: t.state, eta_seconds: t.eta_seconds, note: t.note };
如果视频尚未转录,GET /v1/transcripts/{video_id}?quality=premium 会启动转录,并以 202 响应作业信息和 Retry-After。客户端会在 Retry-After 指定的时间再次读取,直到进入本次程序的第 22 秒;同一程序中的所有 Premium 读取共用这段等待时间。再次读取不会重复使用额度。如果此后仍为 pending,结果会带有 eta_seconds;在之后的程序中再次发起同一读取即可获取文本行。转录失败时,结果会以 state failed 或 refunded 返回,并附带原因;除非通过 retry: true,否则读取不会再次启动转录,而 Agent 只有在用户提出要求时才会发送此参数。没有 Premium 的套餐会抛出 paid_plan_required;阻止读取的预算会抛出 spend_limit_exceeded 或 quota_exceeded,价格会作为 quote 附在错误中。start 和 end 不会降低 Premium 费用。
结果为空、出错、被截断或 resolve ask 时,都会附带 call_id(mcpc_...),arcmira_feedback 会使用它来标识调用。
客户端涵盖与 CLI 和 SDK 相同的任务。参数名称有所不同;请使用以下 MCP 签名:
| 方法 | 请求端点 | 用途 |
|---|---|---|
arcmira.resolve(q, { type?, context?, limit? }) | GET /v1/entities/resolve | 将名称、@handle、URL 或 UC id 解析为以下三种结果之一:best、suggested(附带 reason 和 evidence),或带选项的 ask |
arcmira.search({ query, channelIds?, about?, speakerIds?, kind?, entityIds?, after?, before?, source?, limit? }) | GET /v1/search | 搜索某个主题、某个实体相关内容或某人发言的片段,并提供观看链接和日期 |
arcmira.mentions({ entityId, channelId?, mode?, after?, before?, limit?, cursor? }) | GET /v1/mentions | 查询 X 是否提及 Y,以及首次和最近一次出现的时间。mode:both(默认)、mentions 或 appearances(仅限人物)。 |
arcmira.momentum(entityId, { days? }) | GET /v1/entities/{id}/momentum | 对比最近 days 天(7 至 365,默认 30 天)与之前的 days 天,提供结论和该时间段内的热门节目。每次调用消耗 10 个额度。 |
arcmira.sponsors(channelId, { minAdReads?, status?, limit? }) | GET /v1/channels/{id}/sponsors | 查询某档节目反复出现的赞助商 |
arcmira.recommendations(entityId, { kind?, channelId?, after?, before?, limit?, cursor? }) | GET /v1/recommendations?entity_id= | 查询推荐某个实体的人,并提供推荐内容是赞助还是自然推荐,以及相关引述 |
arcmira.episodes(channelId, { limit?, after?, before? }) | GET /v1/channels/{id}/videos | 获取最新索引的剧集,以及其他方法所需的 video_id |
arcmira.transcript(videoIdOrUrl, { quality?, language?, timestamps?, start?, end? }) | GET /v1/transcripts/{video_id},Premium 转录尚在处理中时,可在 Retry-After 指定的时间后再次读取 | 获取一段视频的字幕或 Premium 转录,可读取全文或指定时间段 |
arcmira.occurrences({ channelIds?, entityIds?, videoIds?, types?, mode?, after?, before?, limit? }) | GET /v1/mentions/counts | 查询节目讨论的内容、分享的内容,以及某集提及的内容。mode:mentions、appearances 或 both;limit:1 至 40。 |
arcmira.quote(videoIdOrUrl) | GET /v1/transcripts/{video_id}/quote | 查询价格,而非口头引述:读取整段视频的 Premium 转录所需的额度,以及任何按需费用(美分)。不消耗额度 |
arcmira.status({ channelId? }) | GET /v1/channels/{id}/coverage、GET /v1/me | 查询覆盖情况和索引日期,或查看该密钥消耗额度的账户(account、role)、套餐、额度及按需预算 |
arcmira.monitors.list() | GET /v1/monitors | 查看用户的监控项,以及发送设置和跟踪器数量 |
arcmira.monitors.trackers(monitorId) | GET /v1/monitors/{id}/trackers | 查看某个监控项当前跟踪的内容 |
arcmira.monitors.create({ name, notify_frequency, notify_emails?, notify_slack?, ... }) | POST /v1/monitors | 创建监控项。仅写入工具 |
arcmira.monitors.update(monitorId, { ..., paused? }) | PATCH /v1/monitors/{id} | 修改发送设置或暂停监控项。仅写入工具 |
arcmira.monitors.addEntities(monitorId, entityIds, { personMatchMode? }) | POST /v1/monitors/{id}/entities | 一次跟踪最多 90 个实体 id:按 id 复用或创建每个跟踪器,并将其附加到监控项。无法附加的 id 会说明原因(entity_not_found、entity_type_not_trackable、tracker_limit_reached、tracked_in_another_monitor)。仅写入工具 |
arcmira.monitors.addName(monitorId, [{ name, type, personMatchMode? }]) | 使用 names 的 POST /v1/monitors/{id}/entities | 在名称建立索引之前跟踪最多 90 个精确名称(节目使用其 UC id),每个名称都会返回一个结果,与 addEntities 相同。仅写入工具 |
arcmira.monitors.attachTrackers(monitorId, trackerIds) | POST /v1/monitors/{id}/trackers | 在用户同意后,迁移其他监控项持有的跟踪器。仅写入工具 |
arcmira.integrations.slack() | GET /v1/integrations/slack | 查看已连接的 Slack 工作区,以及监控项发送通知所用的 id 和默认频道 |
arcmira.today() 和 arcmira.daysAgo(n) 会根据服务端时钟提供用于日期范围的 ISO 日期。日期范围采用与 API 相同的左闭右开规则:after 是计入范围的第一天,before 是排除在范围外的第一天,因此 8 月的范围是 { after: "2026-08-01", before: "2026-09-01" }。每个带日期的结果都会回显 window: { after, before }。选项名称使用客户端的名称;请求和响应字段使用 API 的名称,因此监控项会使用 notify_frequency,因为 monitors.list() 会返回该字段。 |
筛选条件只接受原样的 ID。如果在应填 ID 的位置提供名称,系统会在发起任何网络请求前抛出 id_required,并在消息中说明如何修正。先解析,再查询。resolve 会返回 best(名称对应一行)、suggested(有一行明显更符合;说明你据此作出了假设以及原因),或 ask(有多项符合;让用户选择):
const r = await arcmira.resolve("Linear");
const e = r.best ?? r.suggested;
if (!e) return { ask: r.ask };
const m = await arcmira.momentum(e.id);
return { entity: e.name, id: e.id, assumed: Boolean(r.suggested), why: r.suggested?.evidence ?? null, verdict: m.verdict, last30: m.volume.mentions_30d, prior30: m.volume.mentions_prior_30d, as_of: m.as_of };
连接服务器后,可以使用以下提示词示例:
- 哪些品牌同时赞助了 TBPN 和 All-In Podcast?
- 现在 Linear(这款项目管理工具)在口语网络上的热度如何?
- 找出过去 90 天内 TBPN 上有人谈到稳定币的一段内容,并引用原话。
- 根据 Premium 转录文本,最新一期 TBPN 的第一分钟是谁在说话?
- TBPN 在 7 月和 8 月分别有多少期节目提到了 Cursor?
推荐的首选 ID:TBPN 的频道 ID 是 UC-DRzaGnL_vtBUpCFH5M0tg,All-In Podcast 的频道 ID 是 UCESLZhusAkFfsNsApnjF_Cg,Ramp 的 ID 是 ent_14。
沙箱
arcmira_execute_read 和 arcmira_execute_write 会在全新的 Dynamic Worker 隔离环境中运行程序。该隔离环境唯一可用的网络是父级的出站代理。代理会将调用者的凭据添加到转发内容中,因此程序本身不会持有密钥;对于工具允许列表之外的请求,代理会拒绝并返回 outbound_refused:
arcmira_execute_read:GET https://api.arcmira.com/v1/*。Premium 转录会在转录文本GET请求中启动。arcmira_execute_write:包含读取允许的请求,以及/v1/monitors下的POST和PATCH,以及/v1/trackers下的PATCH。绝不允许DELETE,也不允许轮换 webhook 密钥。追踪器在监控项内创建,因此不会向/v1/trackers发送POST请求。
代理会在 Worker 中强制执行这些限制,因此原始 fetch() 与客户端方法得到相同结果。从 arcmira_execute_read 调用写入方法会在发起任何请求前抛出 write_tool_required。隔离环境的 CPU 时间上限为 5 秒;工具最多等待 30 秒的墙钟时间;客户端最多发起 40 次 API 调用,超出后返回 call_budget。渲染后的总输出上限为 12,000 个字符,每个字符串最多 3,000 个字符,每个数组最多 100 项;truncated_arrays 会列出每个被截断的数组,并附带一行 recovery,说明如何获取全部行。语法错误会作为 syntax_error 返回,并附上函数体规则;抛出的错误会作为 program_error 返回,并附上错误消息。
结果是有效且有界的 JSON,首先包含 ok 和 value 或 error,随后是实际的 calls、rate_limit、api_build、截断信息以及限制长度的日志。大型结果会保留续传和恢复字段。执行元数据使用相同的计量规则。超时报告 calls: null 和 outcome_uncertain: true;正在进行的读取仍可能完成并消耗行数。对于身份验证导致的 429/503,客户端应使用相同凭据重试;只有凭据无效时才会触发重新连接。
访问门槛
程序中的访问门槛会抛出一个带有 API 错误字段的 ArcmiraError,执行工具会将其作为 ERROR 返回,并设置 isError: true:
{"ok":false,"error":{"code":"recommendations_not_enabled","message":"Sponsor recommendations require Pro.","gate":"plan"},"calls":1,"outcome_uncertain":false}
根据 code 进行分支处理。unlock.url 指明解除访问门槛所需的方案或设置,rate_limited 则包含 retry_after_seconds。如果 200 响应中有内容被限制提供(Premium 字幕文本、付费流量与自然流量的细分数据、免费部分以外的赞助商),这属于正常结果,相同内容会放在 access 中。完整目录请见 https://arcmira.com/docs/errors。
每个结果(包括访问门槛错误)都会在调用后通过 _meta["arcmira.com/rate_limit"] 携带该密钥的剩余额度,例如 { "limit": 20, "remaining": 17, "reset": 1788819360 }。这些数据取自 API 的 RateLimit 标头。_meta["arcmira.com/build"] 则包含:server、deploy、api(响应请求的 API 构建版本)以及 client(主机在握手时提供的名称,并作为 x-arcmira-client 转发给 API)。
我们记录的内容
每次工具调用都会记录到 Arcmira 的产品分析平台(PostHog),并关联到发起调用的账户,以便我们了解工具的使用情况并修复故障。每条记录包含:
- 工具名称、主机名称和版本、服务版本,以及调用耗时;
- 输入:任一执行工具的程序文本(前 4,000 个字符)、
arcmira_describe的主题,或arcmira_feedback的类别和备注; intent,如果 Agent 提供了该字段;- 调用结果,而非返回内容:成功或错误代码、结果大小、是否已截断,以及调用过的 API 路由(
GET /v1/search,不包含其查询字符串)。
记录存储前,API 会将所有看起来像凭据或电子邮件地址的内容(arc_ 密钥、Bearer 令牌、sk- 密钥、地址)替换为 [redacted]。程序的返回结果、字幕文本和输出日志绝不会被记录。没有有效凭据的调用不会被记录。记录会在结果返回后发送,因此日志记录不会延迟或更改响应;发送失败的记录将被丢弃。
升级
每个版本的升级说明,包括 0.7 中的工具重命名和 0.10 中的字段变更,请参见 CHANGELOG.md。
插件
plugins/arcmira 为 Claude Code、Codex、Cursor、Agent Plugins 主机和 Gemini CLI 打包了 MCP URL 和六个技能:
| 技能 | 用途 |
|---|---|
arcmira | 通用流程和 ID 规则、各任务技能适用的请求,以及指向 arcmira_describe 的方法参考 |
sponsor-research | 谁赞助了某个节目,或某个品牌赞助了哪些节目、频率如何、从何时开始 |
company-watch | 设置监控:要跟踪的实体和主题名称写法、优先展示用户的监控项目,然后询问他们希望如何接收通知 |
find-quotes | 精确的口述引文,包含说话者、日期、带时间戳的链接,以及片段起止位置 |
person-research | 访谈或会议准备:出镜记录、某人说过的话、讨论过此人的人 |
compare-shows | 并排比较两个节目:规模、主题、重合情况、共同赞助商 |
每个技能都从名称开始,而非 ID:每个程序都会解析名称;当有多个实体符合且无法明确选出一个时,会返回 ask 选项;程序会说明何时自行假定了某个实体,并指出实际使用的实体。每个技能都以监控说明(监控可跟踪发现的内容以及警报所依据的内容)和反馈说明结尾。这些技能由 scripts/build-skill.ts 根据 src/reference.ts 和 src/skills.ts 生成;文件不一致或程序调用了参考文档中未说明的方法时,CI 会失败,而 pnpm examples:check 会针对生产环境运行每个程序。
claude plugin marketplace add arcmira/mcp
claude plugin install arcmira@arcmira
保持最新
Arcmira 每周都会发布更新。请开启自动更新。
-
MCP 服务无需任何操作。 它是远程服务:客户端连接时会获取其工具和说明,且
arcmira_describe每次调用都会从服务端返回参考内容,并以版本行开头。MCP 服务本身始终保持最新。 -
Claude Code 插件。 第三方市场默认关闭自动更新。请开启:运行
/plugin,打开 Marketplaces,选择arcmira,然后选择 Enable auto-update。或者在~/.claude/settings.json中设置:{ "extraKnownMarketplaces": { "arcmira": { "source": { "source": "github", "repo": "arcmira/mcp" }, "autoUpdate": true } } }立即更新:
claude plugin update arcmira@arcmira。 -
Codex 插件。 运行
codex plugin marketplace upgrade arcmira,然后重启 Codex。 -
使用
npx skills add arcmira/mcp安装的技能。 运行npx skills update。
每次发布都会更新每个插件清单中的版本(测试会强制执行此要求),因为 Claude Code 只会更新版本号发生变化的插件。
Gemini CLI
从此仓库安装远程连接和 Arcmira 核心参考内容:
gemini extensions install https://github.com/arcmira/mcp
根目录中的 gemini-extension.json 指向同一个远程 MCP,并将 arcmira 技能作为上下文文件加载,与插件包的方式相同。通过 MCP 授权流程登录。根扩展不会另外安装五个可选任务技能。
开发
pnpm install
pnpm dev # wrangler dev on :8790 with a local Worker Loader
pnpm test # node:test, sandbox programs run under a fake loader
pnpm typecheck
pnpm manifest:check # every client call matches the live OpenAPI document
pnpm skill:check # every plugins/arcmira/skills/*/SKILL.md matches src/reference.ts and src/skills.ts
ARCMIRA_KEY=arc_sk_... pnpm examples:check # every worked program and read task-skill program runs against production
pnpm sandbox:check # src/sandbox/client-source.ts matches src/sandbox/client.js
ARCMIRA_KEY=arc_sk_... node --experimental-strip-types scripts/smoke.ts http://localhost:8790/mcp
src/reference.ts 是指导内容的来源:arcmira_describe 文本、服务说明和 arcmira 技能均由此生成。
Arcmira 版权所有。服务版权保留(参见 LICENSE);plugins/arcmira 采用 Apache-2.0 许可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。