Skip to main content
Glama

Growovo 面向独立开发者与一人公司,提供 GTM/User Growth 的需求发现、价值内容、授权执行和真实结果回流。输入产品事实、目标用户与授权边界,先识别值得服务的需求,再生成可复现的价值资产和增长动作;每个动作记录成功、失败或待人工核实,不把发送、曝光或 Star 当成业务结果。

先选目标(声量 / 使用 / 商业),再选渠道(具体的地方,不是平台),然后按阶段做转化。同一个产品换目标就换打法。产品由 Demand / Execution / Learning 三层能力与 Operator Engine + Playbooks 组成:Signal Interpretation 先校验宿主语义候选,Opportunity Discovery 再判断需求与产品匹配;Value Artifact 经本地复现、授权交付和用户读回形成完整价值链,Journey 诊断真实使用断点并保留多触点非因果边界。GitHub Inbox 只是其中一个 Playbook,而不是产品总定义。CLI、MCP、Skill 共用审批、预算、回读和账本。发送成功只代表操作完成,激活、持续使用和付费分别核验。

v0.8 新增 GTM Work OS:18 个能力域、40 个岗位族和 32 个模板进入可校验注册表;不可变上下文、运营目标、WorkOrder、专业 SOP、交付物验收、跨岗位 Handoff 和 KPI 形成业务主链。work-action 只把 accepted 交付物物化为既有 plan/queue,不新增发送旁路。当前有一条完整开发者 SOP 运行链,不把注册覆盖说成 40 个专业自动化全部完成。详见实现说明。

v0.9 新增按需编排与常驻营销授权:mkt orchestrate 根据产品、目标和任务只选择必要岗位,并逐份决定交付物的内容与表达;日常发帖、回复、私信和邮件可在工作区已有明确 routine-policy 时直接执行,不再一律逐次人审。付款、合同、折扣等仍需人工,dry-run、暂停、DNC、配额、回读和未知结果保护不降级。详见编排与授权。

v0.10 新增 GTM 设计层:mkt gtm design 把增长任务拆成对象×目标×机制×渠道,先用约束(授权渠道/素材/预算/地区/数据源)筛可行性,再按目标生成结果契约与验证等级。Agent 可以提交候选机制与理由,规则只负责兼容性与边界,并保留拒绝理由;没有数据渠道时只承认平台回执,不把播放量、Star、预售订单或注册数当业务结果。详见对象×目标×机制×渠道。

v0.11 合并执行完整性修复并修正设计层:P0 集成分支进入正式版——MCP 不能自行提高未验证渠道权限,外部发送的未知结果必须人工裁决,账本追加原子化且损坏即拒绝,DNC 抑制数据损坏时停发而不是静默跳过。设计层修正用户目标被 Agent 覆盖、部分 Proposal 误判 blocked、单一 Motion 限制、ready 语义混杂和验证等级过宽;交接现在按已选机制生成执行计划并带设计指纹。详见 执行完整性 与 设计层。

tests

先试一个结果: python3 mkt.py demo 在本地完成计划校验、审批、dry-run 和账本演示;python3 mkt.py work-demo 继续演示 WorkOrder→SOP→交付验收→交接→KPI→已审批 plan/queue,全程无需账号或网络且不执行队列。实际平台命令的验证等级见下表。能力进度与技术取舍。

为什么不自己写个脚本,或者用通用自动化平台?对比页(英文)逐项写了 Growovo 在哪输、在哪赢,并给出每条主张对应的仓库文件。

  • Askovo 负责业务研究与验证,为任务提供依据。

  • Growovo 执行授权运营任务,记录操作结果。

  • Verovo 关联费用与业务结果,计算单任务经济性。

三者可独立使用。mkt.py 与 growovo-gtm 标识保持兼容,GTM 是首批应用场景。

合规与纪律(先读这个)

  • 仅用于本人拥有或明确授权运营的账号;无授权不碰他人账号,账号归属、权限和人工接管全程留痕

  • CDP 通道零凭据:不保存任何密码/token/Cookie;SMTP 凭据只走环境变量

  • 一切写操作默认 dry-run,--go 才实跑;实跑须绑定已人审 plan,或显式 --routine 且工作区常驻策略覆盖该账号/渠道/动作——无授权默认拒跑,仅 CLI 人工通道 --adhoc 显式放行(账本记 adhoc=true;MCP 不开放授权管理)

  • 日预算在发送前原子预留;indeterminate(未知结果)不可自动重发,必须人工 ledger resolve;contacts 的 DNC/bounced 身份与 suppress.txt 合并为同一发送抑制源

  • 失败即停(不重试轰炸);回读校验不一致绝不发送(449 空正文事故的固化)

  • 人类节奏:随机间隔 + 单次硬上限 + 日预算(core/throttle.py 的表)

  • 不群发:千人千面内容为前提;占位符残留会被门禁直接拒绝

  • 不做对抗:不绕验证码、不伪造指纹、不用代理池绕过平台限制;代理仅可在合法网络需求明确、账号授权一致时绑定使用,且不能提高配额或绕封禁

Related MCP server: enterprise-agent-mcp

安装与启动

先拿一个结果,再装环境。 克隆后不需要任何依赖、任何账号:

git clone https://github.com/roy-tong/Growovo.git && cd Growovo
python3 mkt.py demo               # 零网络零账号,不到 1 秒过内核四步:lint→人审→写路径→账本

要连真实渠道(X / Gmail / GitHub 写)再装运行时,并初始化工作区:

pip install -r requirements.txt   # 仅 playwright;CDP 走系统 Chrome,无需下载浏览器
python3 mkt.py init               # 建目录 + 报凭据缺口 + 打印下一步
python3 mkt.py doctor             # 环境体检(--selftest 连跑全部离线单测)
./launch.command                  # 双击亦可:首次复制登录 profile,启动 CDP 9222
python3 mkt.py check              # 确认 CDP 会话与 X/Gmail 登录态

命令矩阵与验证等级

命令

说明

等级

python3 mkt.py status

全局账本聚合

—

python3 mkt.py check

CDP 会话检查(X/Gmail/Reddit/LinkedIn)

—

python3 mkt.py demo

零网络零账号演示(计划校验→人审闸门→写路径 dry-run→账本,沙盒可删)

—

python3 mkt.py doctor [--selftest]

环境体检:内核导入/数据契约/凭据/CDP/暂停态

—

python3 mkt.py report [--hours 24] [--format md]

一页纸运营报告(异常/暂停态/抑制名单)

—

python3 mkt.py init

工作区初始化:建目录/报凭据缺口/给下一步(--workspace 或 MKT_HOME 隔离多产品)

—

python3 mkt.py next

状态机:现在该做什么、为什么

—

mkt plan new/lint/show/list/approve/revoke

计划与审批:脚手架、校验、带署名的审批事件(署名 + 计划指纹 + 有效期)

—

mkt queue lint <file> / mkt queue build

编辑期门禁:占位符/重复/长度在写队列时拦;模板 + CSV 生成千人千面队列

—

mkt campaign show/report/next

Campaign 视图:计划/人审/队列预检/账本/事件/实验/下一步 → 一页 Markdown

—

mkt review <campaign>

人审预览:队列逐条过门禁 + 已有留证 + 批准与执行命令

—

mkt ledger resolve <ref> --result … --by … --note …

indeterminate 人工裁决(append-only 覆盖,原账本行不改)

—

mkt link create/list

追踪链接:生成带 utm_campaign 的链接并落盘,供事件归位

—

mkt outcome import <csv> / mkt outcome sync

记账自动化:CSV 导入(幂等)+ 账本聚合成 count 快照

—

mkt queue run <file> [--go]

全渠道队列执行(email/hn/github/reddit/linkedin/x-reply),逐条走同一管道

—

mkt action <channel> <action> …

单条写动作(与队列同一套门禁/审批/账本);x message/engage 透传 vendor

—

mkt collect serve/event/import

本地 collector:/t/<link> 点击归因、/events webhook、Plausible/PostHog CSV

—

mkt experiment obs --id X --from-outcomes

实验观察从事件台账自动聚合(不再手抄)

—

python3 mkt.py pause --on '原因' / --off

全局暂停总闸(一切写操作拒跑且留痕)

—

python3 mkt.py contacts add/find/dnc/mark/import

线索库操作(幂等去重/DNC 隐藏/er-batch 导入)

—

mkt followup add/due/touch/stats/close

跟进台账:说过话的人单独记;首触 + 第 3/14/45 天,最多三次跟进,无实质回应自动判弃;mkt next 会把到期的跟进顶到最前面

—

mkt intent start/log/show/verdict

意图信号学习实验:可配置周期与可选观察目标,保留样本不足与安全异常,输出学习观察而非渠道生死判决

—

mkt gtm design "任务" [--constraints …] [--proposal …] [--save …]

GTM 设计:对象×目标×机制×渠道,约束检查、结果契约、未知项与验证等级

本地实现,只设计不执行

mkt gtm handoff <design.json> [--product facts.json]

设计交接:目标契约映射 + 候选岗位 Workstream(复用 orchestrate)

候选编排,非发布批准

mkt orchestrate --product P --goal G --task T [--format md]

按需编排:只选必要岗位,逐份确定交付物、内容结构、表达和交接

本地实现,候选方案非发布批准

mkt policy show/enable/disable/check + --routine

常驻营销授权:授权账号/动作内日常触达可直接执行;默认 30 天有效;付款等不可加入;其他安全门不变

默认仅 email:message;本地实现,无真实发送验证

mkt capability list/show/lint / mkt template list/show/lint

GTM 注册表:18 能力域、40 岗位族、32 模板及交叉引用校验

本地实现

mkt context / mkt objective / mkt work

业务工作:不可变上下文、目标、WorkOrder 创建/lint/ready/依赖/状态/下一步

本地实现

mkt sop / mkt deliverable / mkt handoff

专业闭环:SOP 版本与证据门运行、交付物 QA、指定接收人签收/拒收

一条完整 SOP;其余为注册摘要

mkt metric list/show/measure

KPI:版本化计数/比率、去重、scope、成熟度;分母 0 和未成熟返回 null

本地实现,非通用 BI

mkt work-action materialize / mkt work-demo

accepted 交付物→既有 plan/queue;完整零网络 Work OS 演示,不发送

本地实现

mkt goal list/plan/select

目标选择:声量/使用/商业三类共 9 个目标;按产品类型、阶段与已有账号给适配、平台分工、前两周动作与止损线;可选 1 个辅目标(如声量+使用),两个都达成才算成功;选择写成契约,供 strategy / cadence 按目标执行

—

mkt strategy build/cadence

策略与落地:按目标选择给 1 主渠道 + 1 发射点 + 最多 2 个辅助;再给冷启动五阶段、放大条件与四周动作表(--selection 时直接用目标方案的动作,不套通用模板)

—

mkt sprint plan

冲刺:把目标方案压成 N 天并行工作流 + 小时级排期;含每日目标、加速杠杆、到点就换、平台容量校验与红线(--days 3 为默认)

—

mkt channel venues/plan/score

渠道:具体地方(subreddit/Slack/newsletter/会议),不是平台;带人群、能否发、信号密度、竞争、风险;给主/发射/辅助/旁听组合、经济学区间、容量与预注册实验

—

mkt deal add/advance/qualify/next/funnel/quote/objections

转化:14 阶段管道(sourced→paid→repeat),五项资格、下一个动作、九个异议、四档 offer、一页 SOW、漏斗与卡住对象

—

mkt execute --strategy-file --targets --campaign

执行桥:有写通道的平台出计划+队列(过 lint 才写盘);没有写通道的平台出人工作业单,不假装能自动;计划/队列/作业单不等于已执行

—

mkt signal-interpret --candidates <json>

信号语义校验(只读):校验宿主结构化来源、主体、问题/技术讨论、替代方案、接触资格与商业证据并去重;工具寻求和自报购买意图不自动升级

—

mkt opportunity --facts <json> --signals <json>

需求发现:semantic_candidates 先过语义校验再匹配产品事实;旧原始信号只标 unverified_signal,不把抱怨当购买意愿

—

mkt artifact lint/render --file <json>

价值资产:校验/渲染教程、样例、可复现测试、模板、对比与真实案例;必须有直接价值、复现步骤与边界

—

mkt value-chain run --file <json>

价值交付链:研究→方案→授权本地复现→资产→授权交付→用户完成读回;记录真实退出码/输出,未授权命令不执行,不发送平台消息

—

mkt journey --events <json> --campaign C --since D1 --until D2 [--identity-map <json>]

用户旅程:按真实时间诊断六阶段,区分首次/重复激活并披露乱序、身份别名和多触点;历史 campaign 与 last event 不补进展或因果

—

mkt evaluate compare/evolution/external

能力/竞争/进化评估:同条件逐项对照、外部未见任务契约与版本回归,不输出综合优胜分

—

mkt playbook-model compose --platform P --motion M --vertical V

三维 Playbook:平台规则×增长方法×行业承接组合,不为每个平台×行业复制一套流程

—

mkt account add/list/check/warm/eligible/takeover

授权账号资产:归属/授权证据、养号生命周期、健康度、冷却与人工接管;无登录或发送

—

mkt network bind/list/export

代理引用:只存环境变量名与账号绑定,不读凭据、不提高配额、不绕封禁

—

mkt exp show/coverage/stale/assess

用户经验与资格:正式策略要求权利依据、确认人/时间/记录和覆盖来源域的可追溯复核;内部自报只进实验,旧布尔字段不自动合资格

—

mkt voice show/draft/lint <平台>

平台语气:37 个平台各自的语气、句式、三条开头、禁忌与黑话;lint 查出会被当成广告的句子

—

mkt result / mkt revise

结果与回流:按 campaign/subject/time_window 统一过滤动作/任务/业务结果,真实 OutcomeLedger 与动态价值事件可核验;候选解释与已验证机制分开,不做自动渠道生死判决

—

mkt progress daily/weekly

进度:日报问「今天有什么该动没动」,周报问「这周比上周好还是差」;没有动作就写停摆,不编数字

—

mkt retro scan/analyze/report

复盘引擎:扫本地日志→带出处的事实→渠道账→业务结论。比率只从人工钉定的 --facts 算,机器不替你选口径;每条结论必须带数字、出处、因果机制和可执行动作,缺一项拒绝出报告

—

mkt billing --actions N --outcomes M

报价实验:保留按动作/按结果,也支持显式订阅/混合实验与接受度记录;接受报价不等于付款

—

mkt x publish/reply/message/engage/search/inbox …

X 全动作(vendor x-ops-automation)

PROVEN

mkt email message --queue data/queues/w1.json [--go]

SMTP 发信队列

PORTED

mkt email inbox / mkt email bounces

CDP 只读扫 Gmail / 退信

PORTED(模式 PROVEN)

mkt reddit search --query "…"

只读搜索

UNVERIFIED

mkt reddit reply --url <帖> --text "…" [--go]

评论(回读校验管道)

UNVERIFIED

mkt reddit publish --sub <版块> --title … --body-file … [--go]

发帖(日 ≤3)

UNVERIFIED

mkt linkedin search --keywords "…"

只读搜人

UNVERIFIED

mkt linkedin message --url <profile> --note-file … [--go]

半自动连接请求(终端确认)

UNVERIFIED

mkt github audit --repo owner/repo

仓库体检(基础/社区健康/releases/贡献者集中度/AI-readiness/Scorecard)

PROVEN

mkt github inbox --repo owner/repo

open issues/PR 清单 + 零回复标记(48h 首响巡检)

PROVEN

mkt github search --query "…"

仓库搜索(客群/对标发现)

PROVEN

mkt github reply --repo o/r --number N --text "…" [--go]

issue/PR 评论(api 通道写路径首例;需 MKT_GITHUB_TOKEN)

UNVERIFIED

mkt playbook github-inbox --repo o/r --drafts drafts.json

收件箱分流→候选回复→标准队列(不发送;仍需审批/dry-run)

PORTED

mkt hn search --query "…"

HN 讨论/客群发现(Algolia 公共 API,匿名只读)

PROVEN(只读)

mkt hn publish --title "Show HN: …" --url … [--go]

submit 表单提交(CDP;日≤1,标题≤80;Show HN 限自有项目)

UNVERIFIED

mkt hn reply --item item:N --text "…" [--go]

条目评论(首用=Show HN 首条作者评论,提交后 1h 内)

UNVERIFIED

python3 mkt.py memory …

只读运营记忆:从已核验回执提取重复模式(见文末)

—

python3 mkt.py workflow …

可复用配方:learn / approve / replay(默认 dry-run)/ runs / reconcile

—

python3 mkt.py scorecard

记分卡:确认/未知/失败/证据率与业务结果计数(只读)

—

python3 mkt.py optimize

优化建议(requires_human,不自动执行)

—

python3 mkt.py gtm diagnose --facts <json>

GTM 诊断:产品事实包→平台优先级+冷启动+放量判据(每条推荐挂证据标签;schema 见 core/gtm.py;风控口径见 docs/risk/)

—

python3 mkt.py schedule …

持久化排期:add / tick / status / resume

—

等级含义:PROVEN=真实账号跑通;PORTED=模式已验证、本封装未整跑;UNVERIFIED=选择器未实测,首跑必须人工盯跑(首跑清单见 03 渠道文档 §5)。

规划层:计划是数据,人审是闸门(05 产品方案 §2)

# 1. 生成计划脚手架(也可直接按 data/schemas.md 手写)
mkt plan new --id askovo-p0 --goal '拿到 20 个激活' --beachhead '独立 UX 研究者' \
  --hypothesis '证据分级是购买动机' --channel email --wave-action message --size 10

# 2. 校验(schema/能力矩阵/size≤内核日预算)
mkt plan lint --id askovo-p0

# 3. 人审:必须署名;写审批事件 + 计划指纹(批准后再改计划会被指纹识别并拒跑)
mkt plan approve askovo-p0 --by roy --days 7

# 4. 队列:模板 + 目标 CSV 生成,或手写后用 lint 过门禁
mkt queue build --campaign askovo-p0-w1 --channel email --wave-action message \
  --template assets/outreach.md --targets data/targets.csv
mkt queue lint data/queues/askovo-p0-w1.json

# 5. 人审预览 → 干跑 → 实跑
mkt review askovo-p0-w1
mkt email message --queue data/queues/askovo-p0-w1.json          # dry-run
mkt email message --queue data/queues/askovo-p0-w1.json --go     # 须已批准

# 6. 记账与复盘
mkt link create --campaign askovo-p0-w1 --channel hn --url https://example.com
mkt outcome import data/events.csv --campaign askovo-p0-w1
mkt outcome sync --campaign askovo-p0-w1
mkt campaign report askovo-p0-w1

计划指纹 = 计划内容(不含 review 块)的规范化 sha256;旧计划只有 human_approved=true 时仍按 legacy 放行,新审批一律带指纹与有效期。

上限是内核属性:计划里的 size 超过 core/throttle.py 日预算会被 lint 拒收。

MCP 服务(mcp_server.py,stdio,零依赖)

{"mkt": {"command": "python3", "args": ["/绝对路径/Growovo/mcp_server.py"]}}

10 个工具,全渠道读写:

  • 读:mkt_status / mkt_channels / mkt_plan_lint / mkt_search(x/reddit/linkedin/hn/github)/ mkt_ledger_query / mkt_campaign / mkt_inbox(hn/github/email/x)/ mkt_audit(github)

  • 写:mkt_run_queue(全渠道队列,默认 dry-run)/ mkt_action(单条动作,同一套门禁/审批/账本)

写操作实跑一律要求已人审 plan;UNVERIFIED 渠道需 allow_unverified=true(人工首跑校准);adhoc 仅 CLI 人工通道,MCP 不开放。MCP 进程同样读 MKT_HOME,可与 CLI 用不同工作区。

Skill(skills/)

  • skills/growovo-gtm/SKILL.md:GTM 操作协议——入口是增长目标(注册/激活/付费)而非单个渠道动作,按四引擎(定位→资产→投放→结果)拆解为七步:目标→plan→客群→人审→执行→复盘。装入 ~/.agents/skills/ 即可在 ZCode 等宿主触发(内容协作走 warm-email-outreach / expert-review-outreach / b2b-account-mapping)。

  • skills/github-project-ops/:GitHub 项目经营协议(开源与闭源通用)——定位诊断(四象限+七阶段)→ 仓库体检清单 → 增长 playbook → 闭源经营模式库;含独立体检脚本 scripts/repo_audit.py(零依赖发行版)。与 CLI 的关系:skill 是协议与判断,mkt github * 是采数与执行。

案例(docs/cases/)

第一波案例来自 ovo 家族自身,每个案例都区分「平台动作」与「业务结果」,不为获客改写状态:

  • Askovo:首位 dogfood 客户——operator 275 分钟 / human 5 分钟跑完定造跑;2026-11-03 起不设判决日,按迭代节奏推进

  • Verovo:前置案例——一轮完整 GTM 的代价→默认值映射;Growovo 每条纪律都有出处

  • Growovo:自举——改名、双语 README、dogfood 回路,每次自我运营走自己的管道

通道层(core/transports.py)

ACTIVE×4:api(OAuth,Reddit 二期)|browser-cdp(PROVEN)|os-input(macOS 键鼠/AX 模拟,UNVERIFIED,transports/os_input.py)|protocol(SMTP/IMAP,PROVEN)。 RESERVE×6(通道储备库):webdriver|rss-public(只读)|esp-api(事务邮件)|mobile-appium|integration(平台原生)|semi-auto-ui(人工确认兜底)。 每渠道×动作声明首选+降级链;降级用于"路不通",不用于"绕风控"——风控信号的响应是降节奏或 mkt pause,不是换马甲。风控阈值与账号限额见项目 06 文档(官方口径亲核;代码预算一律低于官方上限,见 throttle.INTERVALS/OFFICIAL_LIMITS)。

环境变量

变量

用途

MKT_CDP_URL

CDP 端点(默认 http://127.0.0.1:9222)

MKT_EMAIL_USER / MKT_EMAIL_APP_PASSWORD

Gmail SMTP(App Password,绝不入库)

MKT_LINKEDIN_AUTO=1

解锁 LinkedIn 全自动(不建议;默认半自动需终端确认)

MKT_GITHUB_TOKEN

GitHub PAT(仅写操作 reply 需要;读原语匿名可用,限额 60 次/时)

数据三件套(data/,gitignore)

  • queues/<campaign>.json 队列;ledger.jsonl 全局账本;contacts.jsonl 线索库

  • suppress.txt 抑制名单(每行一个目标);shots/ 留证;state/ 日预算状态

  • schema 详见 data/schemas.md

结构

core/      ledger 账本(含人工裁决覆盖)· gates 门禁(含 DNC 合并)· throttle 原子日预算 · pipeline 写路径事务 · evidence 留证 · cdp 会话 · transports 通道注册表 · planlint 计划校验 · approval 执行级审批(计划+队列+账号+工作区指纹)· queue 编辑期门禁 · campaign 视图/人审预览/下一步 · followups 跟进台账 · intent 可配置学习实验 · logscan 日志扫描 · retro 渠道账/冲突/规则 · narrative 四件套叙述 · platforms 平台单一数据源(37 个)· voice 平台语气画像(37 个)· experience 五类经验资格(当前 129 条原始记录,不自动合资格)· strategy 主渠道/冷启动/放大 · cadence 四周动作表 · execute 策略→计划队列 · result 同范围三层结果 · revise 参数回流 · progress 日报周报 · signal_interpretation 语义候选校验 · opportunity 需求发现 · value_artifact 价值资产 · value_delivery 价值交付状态机 · journey 时序/身份/多触点旅程 · playbook_model 三维组合 · accounts 授权账号生命周期 · network 代理引用 · billing 报价实验 · links 追踪链接 · outcome_io CSV 导入与账本聚合 · collector 本地 webhook/跳转 · action_runner 单条动作 · queue_runner 全渠道队列 · playbooks GitHub Inbox 分流/草稿队列 · workflows 配方学习/审批/重放 · locators 定位器阶梯 · scorecard 记分卡 · optimization 优化建议 · scheduler 持久化排期 · workspace 多产品隔离 · experiments 可选学习实验 · attribution 事件/漏斗/归因 · demo 零账号演示 · doctor 环境体检
channels/  x/(vendor+adapter) · email_smtp · email_cdp · reddit · linkedin · github(api 通道首发) · hn(CDP 写 + Algolia 读)
transports/  os_input(macOS 键鼠/AX 模拟,UNVERIFIED)
skills/    growovo-gtm(GTM 操作协议)· github-project-ops(GitHub 项目经营协议+体检脚本)
tests/     离线单测(599 项,含 449 事故回归、全渠道人审门禁/adhoc 放行、执行级审批指纹/队列篡改/账号与工作区绑定、预算原子预留、DNC/indeterminate 阻断、真实 CLI 端到端、37 平台策略/节奏/人工单契约、语义对抗/真实复现交付链/时序身份多触点旅程/经验可追溯复核、账号与报价实验、demo 闭环与 doctor 分级):python3 -m unittest discover -s tests
mcp_server.py  MCP 外壳(stdio JSON-RPC,零依赖)

X 渠道 vendor 引入 x-ops-automation(上游 github: roy-tong/x-ops-automation), 不改写已验证代码(见 channels/x/vendor/PROVENANCE.md);上游修选择器时同步。

License

MIT(见 LICENSE)。channels/x/vendor/ 引入自同作者仓库 x-ops-automation(MIT)。

可复用工作流:一次学习,稳定重放

同一类操作不必每次让模型重新探索页面。workflow 把步骤、定位器阶梯与回读条件固化成带指纹的配方;批准后才可 --go,每次运行都有逐步日志:

python3 mkt.py workflow learn hn-reply --trace trace.json      # 观察一次 → 草稿(不自动批准)
python3 mkt.py workflow approve hn-reply --by "operator" --days 30
python3 mkt.py workflow replay hn-reply --var item=123 --var text="…"          # dry-run:只解析定位器
python3 mkt.py workflow replay hn-reply --cdp-url http://127.0.0.1:9222 … --go  # 实跑
python3 mkt.py workflow runs
python3 mkt.py workflow reconcile --run <id> --outcome not_sent --note "已核对平台后台" --by "operator"

页面变化时按 css → placeholder → label → role → text 逐级恢复;视觉恢复需要操作者提供 provider,没有就停在 visual_unavailable,不猜点击位置。写入仍走统一门禁:action 步骤复用 action_runner,commit 点击检查暂停与日预算并写账本。详见工作流。

运营记分卡、排期与优化建议

执行之后要看得见结果,也要能停下来。scorecard 把账本与业务事件分开统计:确认率、未知率、失败数与证据覆盖率,不把「发出去了」算成转化。

python3 mkt.py scorecard --campaign my-campaign
python3 mkt.py optimize --campaign my-campaign          # 人工决策建议,不自动执行
python3 mkt.py schedule add --id daily --queue data/queues/q1.json --interval 1440
python3 mkt.py schedule tick                            # 由 cron/launchd 或人手动触发
python3 mkt.py schedule resume --id daily --note "已核对未知回执"
  • 排期只跑「到点的一波」;全局暂停、未知结果、失败队列都会让它停下并标 needs_review;

  • 进程中断后的 running 波次不会被自动重跑;

  • optimize 的比较是描述性的:高确认率不等于渠道效果,建议全部 requires_human: true。

运营记忆:从已核验的平台回执中学习

在不暴露联系人明细、也不自动重放任何历史动作的前提下,检视重复出现的渠道/动作模式:

python3 mkt.py memory --campaign my-campaign
python3 mkt.py memory --channel github --output data/operations-memory.json

摘要报告已确认的平台操作、未知/失败回执与人审候选;有意排除目标对象与消息正文。平台动作成功不等于客户激活,模式也永远不是重放许可:新的执行仍需新的授权、当期平台政策检查与标准执行门禁。这是工作流学习的只读输入:它给出模式与风险,真正可重放的配方在批准后由 mkt workflow 执行。见能力进度与技术取舍。

参与

  • 改动前先读 CONTRIBUTING.md:里面是不能破坏的执行不变量(人审、dry-run、暂停、预算、抑制名单、回读校验、未知结果不重试)与 AI 贡献政策。

  • 安全问题走 SECURITY.md 的私密通道,不要开公开 issue。

  • issue/PR 首次响应目标 48 小时内;能力边界与验证等级以 docs/feature-status.md 为准。

  • 案例(含失败与判死)在 docs/cases/,不删改状态。

Available Tools

43 tools
mkt_actionA

单条写动作(与队列同一套门禁/暂停/审批/账本)。channel ∈ x|reddit|linkedin|github|hn;action ∈ publish|reply|message|engage。默认 dry-run;go=true 需已人审 plan 或有效 routine policy 且 routine=true;UNVERIFIED 渠道实跑首跑校准仅限人工 CLI 通道,MCP 不提供绕过。email 只支持队列。

NameRequiredDescriptionDefault
goNo
urlNo
textNo
extraNo
titleNo
actionYes
numberNo
targetNo
accountNoroutine policy 精确匹配的执行账号
channelYes
routineNo仅在工作区已有有效日常营销授权时使用;不能自我授权
campaignNo
subredditNo

TDQS

A3.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and delivers: dry-run default, gating/pause/approval/ledger inheritance, the human-review prerequisite for go=true, and an explicit statement that no MCP bypass exists for UNVERIFIED channels. The main gap is the return/response behavior of a write action, which is left unstated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: scope, then valid values, then the dry-run/gating rule, then the CLI-only carve-out, then the email exclusion. Every clause carries information, though the sentence is tightly packed and could be split for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 13-parameter mutation tool with no annotations and no output schema, the safety and gating model is covered thoroughly, but the parameter-to-action mapping is largely absent. An agent knows whether it may call the tool but not how to fill most of its inputs correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 15% across 13 parameters, so the description must compensate, yet it only explains channel, action, go, and routine. Nine parameters (url, text, title, extra, number, target, account, campaign, subreddit) are left with no semantic guidance in either the schema or the description, leaving an agent unsure how to supply them per action type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening '单条写动作' states a specific verb (write) and scope (single action), and the phrase '与队列同一套门禁/暂停/审批/账本' distinguishes it from the batch/queue sibling. The channel/action enumerations reinforce the resource, though they merely restate what the schema already constrains. It is clear what the tool does but does not name mkt_run_queue explicitly as the batch alternative.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the default is dry-run and that go=true requires a human-reviewed plan or valid routine policy with routine=true, plus that UNVERIFIED channels cannot be run live via MCP. It also notes 'email only supports queue,' steering the agent away from this tool for that channel. Strong when/when-not guidance, though it does not name the specific sibling tool to use for the queue case.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_auditB

GitHub 仓库体检(基础/社区健康/releases/贡献者集中度/AI-readiness/Scorecard)。只读。

NameRequiredDescriptionDefault
repoYes

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full disclosure burden, and it does deliver the single most decision-relevant fact: 只读 (read-only), so the agent knows this will not mutate the repo. Beyond that it says nothing about access requirements, rate limits, or how long a multi-dimension audit takes, leaving real gaps for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact line: the resource and scope come first, the read-only guarantee last. Nothing is padded, though the parenthetical list is dense enough that the sentence is slightly hard to parse at a glance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter audit tool with no output schema and no annotations, listing the six check dimensions is genuinely useful and gives a sense of what comes back. What is missing is the input format for 'repo' and any indication of whether the result is a score, a report, or per-dimension verdicts.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the sole parameter 'repo' is a bare string with no format hint; the description never clarifies whether it expects 'owner/name', a URL, or a bare name. With one undocumented param the description should compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb+resource (GitHub 仓库体检 / repo audit) and enumerates the six check areas it covers (基础/社区健康/releases/贡献者集中度/AI-readiness/Scorecard), so an agent knows exactly what it produces. It does not, however, differentiate from the sibling mkt_scorecard, which is also named as one of its own sub-checks and creates mild ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to run this versus mkt_scorecard or mkt_retro_scan, and no prerequisites (public vs private repo access, token needs) are stated. The agent must infer usage entirely from the name and the enumerated check areas.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_cadenceC

只读落地设计:按四周切出动作表,每条带负责人、人工分钟与验收物。

NameRequiredDescriptionDefault
factsYes
startYes
actions_per_weekNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden. It does assert read-only behavior and sketches the output rows, but it never says how `facts` is consumed, what the `start` anchor means, or whether anything is persisted; for a tool with a free-form nested input that is a real gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence with the output artifact front-loaded and no filler. Its brevity is efficient, though it comes at the cost of the specification gaps noted elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a free-form nested object, no output schema, and no annotations, the description should explain the contract of `facts` and the shape of the returned table. It names the output columns but leaves the input side essentially undocumented.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across all three parameters, and `facts` is an unconstrained nested object. The description implies a four-week window (relevant to `start`) but does not explain the expected shape of `facts`, the date format of `start`, or how `actions_per_week` (default 20) interacts with the four-week slicing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description does say what the tool produces: a four-week action table whose rows carry an owner, manual minutes, and an acceptance artifact, and it labels the operation read-only. But the verb is nominal ("只读落地设计") and nothing distinguishes it from planning siblings such as mkt_sprint_plan, mkt_goal_plan, or mkt_action, so an agent cannot confidently pick it over them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no preconditions, and no named alternative among the many planning-related siblings. Only the "只读" tag hints at intended use, which is not enough to route between this and mkt_sprint_plan or mkt_workflow.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_campaignB

Campaign 视图:计划/人审状态/队列预检/账本/事件/实验/下一步。只读。campaign 形如 <plan_id>-w1。

NameRequiredDescriptionDefault
campaignYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description must carry the behavioral burden; it does disclose the read-only nature and the campaign id format, which are useful. It says nothing about permissions, what happens with a malformed or unknown campaign id, or how large/resolved the returned bundle is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Very short and front-loaded: resource type first, then the return sections, then read-only status, then the id format. The middle list of seven slash-separated nouns is dense but each item does carry information; nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only view tool with no output schema and no annotations, the description covers input format and the broad content areas. It still leaves the agent guessing about the response structure and relationship to sibling tools, so it is adequate rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the single required "campaign" parameter is entirely undocumented structurally. The description compensates by giving its expected shape ("<plan_id>-w1"), which is exactly the missing information an agent needs to build a valid call.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a concrete verb and resource ("Campaign 视图") and enumerates the sections the view returns (plan, human-review status, queue precheck, ledger, events, experiments, next steps). However, that enumeration overlaps heavily with several siblings (mkt_status, mkt_progress, mkt_ledger_query, mkt_run_queue), and nothing explains how this aggregate view differs from those single-purpose tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage signal is "只读" (read-only), which is context rather than guidance. There is no statement of when to prefer this composite view over mkt_status or mkt_ledger_query, no prerequisites, and no exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_capabilitiesC

只读 GTM 能力注册表:18 能力域、40 岗位族及其职责/KPI/SOP/交付物/审批映射。

NameRequiredDescriptionDefault
lintNo
role_familyNo
capability_idNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden, and it does deliver the single most important behavioral fact: this is read-only and therefore safe to call without side effects. Beyond that it says nothing about return format, result size, whether lookups are paginated, or what happens when role_family/capability_id are omitted, which for a zero-annotation tool is a meaningful gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that establishes read-only status and scope immediately, with zero filler. It is efficient, but the brevity is partly achieved by omitting parameter and usage information rather than by careful editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Three parameters at 0% schema coverage, no annotations, and no output schema means the description is the only documentation an agent has — and it explains none of the parameters. For a tool with optional filters whose default behavior (no filters) is undefined, this leaves too much to guesswork.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the description adds no parameter meaning. 'role_family' is faintly inferable from '岗位族', but 'capability_id' and especially 'lint' (a boolean that is not a natural filter for a registry lookup) are entirely unexplained — an agent cannot tell whether lint enables validation output or filters lint-flagged entries.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource precisely — a read-only GTM capability registry — and quantifies its scope (18 capability domains, 40 role families) along with the content types it holds (responsibilities, KPIs, SOPs, deliverables, approval mappings). It is clearly a reference/lookup tool, which separates it from action-oriented siblings like mkt_optimize or mkt_workflow, though it never explicitly names which sibling it is the alternative to.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance. The word '只读' implies this is a consult-only lookup, but the description never says when an agent should consult the capability registry versus mkt_playbooks, mkt_experience, or mkt_search, nor does it describe prerequisites or typical follow-up actions after retrieving a capability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_channel_planC

只读渠道方案:目标→主/发射/辅助/旁听 + 经济学区间 + 容量 + 预注册实验。

NameRequiredDescriptionDefault
goalYes
factsYes
platformsNo
secondaryNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden, and it does deliver one important behavioral fact: the tool is read-only (只读). It also discloses the shape of what comes back (economics ranges, capacity, pre-registered experiments), which is useful given there is no output schema. Missing are what `facts` must contain, whether any state is persisted, and error behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence with zero filler, front-loaded with the read-only qualifier and then the output components. The arrow-and-slash compression is terse to the point of being cryptic, but nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a two-required-parameter tool with an undocumented nested object, no annotations, and no output schema, yet the description is one short clause. It should explain what `facts` supplies and how the tool differs from the adjacent channel/planning siblings; as written, an agent lacks enough to call it reliably.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate — and it only implicitly covers `goal` (目标). The three other parameters, including the required nested `facts` object and `platforms`/`secondary` arrays/strings, receive no explanation of expected structure or contents. An agent cannot fill `facts` correctly from this definition.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the artifact (渠道方案 / channel plan) and enumerates its components: primary/launch/auxiliary/observer channels, economics range, capacity, and pre-registered experiments. However, it uses compressed arrow notation (目标→主/发射/辅助/旁听) with heavy domain jargon and no explicit verb, so an agent must infer that it *generates* a plan rather than reads one. It never distinguishes itself from near-siblings like mkt_channels or mkt_goal_plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance at all — no statement of the situation that selects this tool over mkt_channels, mkt_channel_venues, mkt_goal_plan, or mkt_strategy. The '只读' prefix hints it is a non-mutating planning step, but the agent is left to guess the ordering and preconditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_channelsB

渠道注册表:能力(六原语子集)、验证等级(PROVEN/PORTED/UNVERIFIED)、通道矩阵(每个渠道×动作的首选通道与降级链)。只读。

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the burden, and it does disclose the read-only nature plus the exact categories of data returned (capabilities, verification levels, channel matrix). It does not cover response shape, size, freshness/caching, or whether the registry is static versus derived from prior runs, which matters for a tool with no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence that front-loads the resource and then lists its three contents in labeled form, with the read-only qualifier last. Every clause carries information, though the dense jargon (六原语子集, 通道矩阵) assumes familiarity and there is no leading verb to anchor the sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-param read tool the description covers what the tool contains, which is the main thing an agent needs. However, with no annotations and no output schema, nothing describes how the result is structured or how an agent should consume the channel matrix, so the definition is adequate rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema defines zero parameters at 100% coverage, so there is nothing for the description to clarify beyond the call itself. Per the baseline for 0-param tools this lands at 4; the description does not misuse space on parameter explanation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource (a channel registry) and enumerates its three payloads: capability subsets of six primitives, verification tiers (PROVEN/PORTED/UNVERIFIED), and a channel×action matrix with preferred channel and fallback chain. That is specific enough for an agent to know what data it yields. It falls short of 5 because there is no verb (get/list/lookup) and no explicit differentiation from the nearby siblings mkt_channel_venues and mkt_channel_plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"只读" (read-only) hints that this is a safe lookup, but there is no statement of when to call it versus mkt_channel_venues, mkt_channel_plan, mkt_capabilities, or mkt_playbooks — all plausible alternatives in the sibling list. No prerequisites or exclusions are given, leaving routing entirely to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_channel_venuesB

只读渠道库:具体的地方(subreddit/Slack/newsletter/会议),带人群、能否发、信号密度、竞争与风险。

NameRequiredDescriptionDefault
platformNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description does carry the safety profile by declaring the tool read-only, and it discloses the fields each venue record exposes (audience, postability, signal density, competition, risk). It says nothing about pagination, result volume, auth requirements, or rate limits, so the behavioral picture is only partially filled in.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence, front-loaded with the read-only library framing followed by examples and returned attributes. Nothing is redundant, though the parenthetical list of venue kinds is slightly heavy for the space.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read-only lookup with no output schema, the description usefully explains what each entry contains, which is the main thing an agent needs. The unresolved gap is the undocumented 'platform' parameter and the absence of any routing hint toward sibling channel tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the single optional 'platform' parameter is never mentioned in the description. The listed venue types hint that platform may be a filter, but the agent gets no statement that the parameter filters, no accepted values, and no behavior when it is omitted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource and its granularity: a read-only library of concrete venues (subreddit/Slack/newsletter/conferences), plus the attributes each entry carries. It is clearly distinct in wording from generic channel tools, though it never explicitly contrasts itself with the sibling mkt_channels or mkt_channel_plan.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use or when-not-to-use guidance, and no sibling is named as an alternative despite mkt_channels and mkt_channel_plan being close neighbors. The only hint is the word 'read-only' implying a lookup rather than a mutation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_deal_nextB

只读转化:今天该跟谁、下一步动作、为什么、几天内。

NameRequiredDescriptionDefault
onNo

TDQS

B3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden; it does state the operation is read-only and discloses the shape of what comes back (who / action / why / days). It says nothing about how candidates are ranked, whether results are capped, or what happens when there are no due deals — gaps that matter for a prioritization tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single fragment, front-loaded with the read-only safety signal and then the four output fields via parallel '、' clauses. Zero padding and scannable, though the telegraphic style leaves terms like '转化' and '几天内' underspecified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description partially compensates by enumerating the returned fields. However, with no annotations and an unexplained 'on' parameter, an agent still lacks enough to invoke it confidently in every case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one parameter, 'on', with 0% schema coverage, and the description never mentions it — not its format, whether it is a date or an entity scope, nor what the default is when omitted. With a totally undocumented parameter, the description needed to compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies the resource ('转化'/deals) and enumerates the payload the tool returns: who to follow up with today, the next action, the rationale, and the time window. That is more concrete than the sibling mkt_deals (a plain list) and reads as a 'next-best-action' tool, though it never states the object type explicitly nor names a sibling to contrast with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It says '只读' (read-only) which implies a safe inspection call, but gives no conditions for choosing this over mkt_deals, mkt_followup_due, or mkt_opportunity, and no prerequisites. An agent must infer the routing from the phrase '今天该跟谁' alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_dealsC

只读转化:阶段、漏斗、卡住的对象;读 DATA/deals.jsonl。

NameRequiredDescriptionDefault
stageNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It does disclose two useful facts — the operation is read-only ('只读') and the backing source is DATA/deals.jsonl — but it says nothing about filtering behavior, pagination, record volume, or what the 'stuck objects' criterion actually is.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single clause is tightly written and front-loads the 'read-only' framing plus the data source. Brevity here edges into under-specification rather than wasteful verbosity, but nothing is padded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-optional-parameter read tool with no output schema, the description should at minimum convey the shape of what comes back. The phrase '阶段、漏斗、卡住的对象' gestures at the returned content categories, which partially covers that gap, but the response format and the stage filter's effect remain undefined.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for the single optional 'stage' parameter, so the description must compensate. It mentions '阶段' but does not clarify whether stage acts as a filter, whether it matches exact values or substrings, or what happens when it is omitted; the word could equally describe an output dimension.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a resource area ('转化' / conversion) plus the kinds of content involved ('阶段、漏斗、卡住的对象'), and it says the tool is read-only. But it never states a verb such as list, summarize, or report, so it is unclear whether this returns raw deal records, an aggregation, or a filtered list. It also does not distinguish itself from the near-named sibling mkt_deal_next, which an agent would plausibly confuse it with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance, no when-not-to-use guidance, and no mention of alternatives. With siblings like mkt_deal_next, mkt_opportunity, and mkt_ledger_query in the set, the agent has no signal about which one to pick for conversion/funnel questions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_experienceC

用户经验库:别人真跑过的平台做法,带出处与样本量;≥2 篇才算规律,1 篇只能当假设。

NameRequiredDescriptionDefault
platformYes

TDQS

C2.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full disclosure burden, and it does add genuinely useful context: returned entries carry provenance and sample sizes, and single-source entries should be treated as hypotheses rather than norms. It still omits whether reads are safe/side-effect free, whether one-article entries are included in results, and what happens for a platform with no records.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with a colon structure that front-loads the resource and then the caveat; nothing is wasted. It is efficient, though arguably too terse given the missing usage and parameter detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter lookup with no annotations and no output schema, the description covers the nature and trust level of the data but leaves an agent guessing about the platform value format, result shape, and when to prefer sibling tools. Adequate minimum viability, not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the description never mentions the `platform` parameter – no accepted value format, no list of supported platforms, no case or slug conventions. The section on sample sizes does not compensate for this gap, so the only required input is entirely undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource – a library of real-world platform practices with sources and sample sizes – which is more specific than a bare label. But it never states an operation verb (look up, list, query), so an agent must infer from the single `platform` parameter that this retrieves experience entries for a platform.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no routing against close siblings such as mkt_search, mkt_memory or mkt_playbooks, all of which sound like plausible places to look for platform know-how. The '≥2 articles = pattern, 1 article = hypothesis' rule governs how to read results, not when to call this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_followup_dueC

只读跟进:今天该跟谁、哪些已经跟丢超过 7 天。

NameRequiredDescriptionDefault
onNo

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It usefully declares the operation is read-only, but says nothing about permissions, pagination, volume of results, return shape, or whether the 7-day threshold is configurable — a significant gap for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with the read-only constraint front-loaded ahead of the two qualifying conditions. Efficient, though it is so terse that useful detail is omitted rather than trimmed.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read query with no output schema, the description gives a reasonable sense of what comes back (due-today contacts plus stale >7-day contacts). It falls short on the "on" parameter's meaning and on result shape, which an agent still needs to use it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single parameter "on" is never mentioned in the description. The description's emphasis on "today" makes "on" almost certainly a reference-date override, but the agent must infer that entirely — exactly the case where the description should compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The Chinese phrase "只读跟进" (read-only follow-up) plus the two criteria — who is due today and who has gone dark for more than 7 days — convey what the tool yields, but there is no clear verb+resource statement (list? query?) and no differentiation from the 40+ siblings, notably mkt_inbox or mkt_deal_next, which could plausibly serve the same need.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"只读" (read-only) hints at the safety profile and thus implicitly contrasts with write-side tools, but there is no explicit when-to-use, when-not-to-use, or named alternative. An agent cannot tell from this text whether to call this or mkt_inbox to answer "who should I follow up with today?".

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_goal_planB

只读目标方案:目标+平台→平台分工、前两周动作、里程碑、止损线;不写文件、不发消息。

NameRequiredDescriptionDefault
goalYes
factsYes
targetNo
platformsNo
secondaryNo
window_daysNo
secondary_targetNo

TDQS

B3.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden, and it does useful work by explicitly declaring read-only behavior and no file writes or message sends — a meaningful boundary against the many mutation-oriented siblings. It also sketches what the plan contains. It stops short of covering idempotency, permissions, or error behavior, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tightly packed sentence using arrow notation, with the read-only constraint front-loaded after the core purpose. Zero filler, though the compression leaves the parameter surface unexplained rather than deliberately brief.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter tool with a nested object, no annotations, no output schema, and 0% schema description coverage, one line is not enough. The agent knows what the tool produces but not how to populate five of its seven parameters.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across 7 parameters, including a nested 'facts' object, so the description must compensate. It only accounts for two inputs (goal, platforms); target, secondary, window_days, secondary_target, and the entire structure of 'facts' get no explanation anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource — 'read-only goal plan' that takes a goal plus platforms and returns platform division of labor, first-two-week actions, milestones, and stop-loss lines. The input→output arrow makes the transformation concrete. It does not name a sibling to differentiate from (e.g. mkt_sprint_plan, mkt_channel_plan), so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'goal + platforms → plan' tells the agent what inputs trigger it, and 'read-only / does not write files / does not send messages' hints that side-effecting siblings like mkt_action or mkt_work_order are different. There is no explicit when-to-use vs when-not guidance and no named alternative.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_goalsB

只读目标选项:按产品类型/阶段列出声量、使用、商业三类目标,每个带指标、判据、证明/不证明和推荐平台。

NameRequiredDescriptionDefault
factsYes产品事实包(同 mkt gtm diagnose)

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden; it does state read-only and enumerates the fields each goal carries, which is useful. It does not disclose output volume (how many goals are returned), whether the list is static or filtered by the facts package, or any auth/pagination behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One dense sentence, front-loaded with the read-only nature and the three goal classes, with no filler. It is slightly packed but every clause describes returned content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must convey return shape; it does list the per-goal fields, which is the right move. It leaves the input side thin (only a pointer to the facts package) and says nothing about result size or ordering, so a caller still has gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single 'facts' parameter, so baseline 3 applies. The description's mention of 'by product type/stage' implies the facts package drives filtering, but it does not clarify how facts fields map to the listed goals, leaving that to the referenced 'mkt gtm diagnose' package.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a precise verb+resource: a read-only catalog listing three goal categories (volume, usage, commercial), each with metric, criteria, proof/disproof and recommended platforms. That distinguishes it from planning siblings like mkt_goal_plan, though it never names any sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It hints that goals are organized by product type/stage, but gives no explicit when-to-use, when-not-to-use, or prerequisite (e.g., call after diagnosis, before mkt_goal_plan). The agent must infer the workflow position from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_gtm_designB

只读 GTM 设计:把增长任务拆成对象×目标×机制×渠道,做约束检查并给出结果契约;不执行、不发送、不预测。

NameRequiredDescriptionDefault
taskYes
objectNo
proposalNo
objectiveNo
constraintsNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden. It does disclose the key behavioral trait (read-only, non-executing, non-sending, non-predicting) and that constraint checks are performed, but it does not say what happens when constraints fail, what the 'result contract' contains, or how the nested proposal/constraints objects are treated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that opens with the read-only qualifier and uses semicolons to separate capability from exclusions. Dense but efficient, with no filler; only the terse phrasing keeps it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 5 parameters, two nested objects, no output schema, and no annotations, one sentence is too thin. The return value ('result contract') is undefined, constraint-check outcomes are unspecified, and parameter contracts are absent, leaving an agent unable to construct a correct call confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 5 parameters including two nested objects, so the description must compensate. It only loosely maps the decomposition to task, object, and objective (目标); it says nothing about the shape or role of 'proposal' and 'constraints', or the expected string formats. Significant compensation gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource: read-only GTM design that decomposes a growth task into object×objective×mechanism×channel, runs constraint checks, and emits a result contract. The negative scope ('does not execute, send, or predict') implicitly separates it from execution-oriented siblings like mkt_action or mkt_run_queue, though no sibling is named explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The read-only framing and the 'design' verb imply when to use it (planning, not execution), but there is no explicit when-to-use vs when-not, no named alternatives such as mkt_plan_lint or mkt_strategy, and no stated preconditions. Guidance is inferable but not spelled out.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_inboxA

只读收件箱/首响巡检:channel ∈ hn|github|email|x。github 需 repo;hn 读 submitted 新回复;email 扫 Gmail;x 扫 vendor inbox。

NameRequiredDescriptionDefault
repoNogithub:owner/repo
channelYes

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It does state '只读' (read-only), which is the single most important safety fact, and it identifies the data source behind each channel. However, it says nothing about authentication needs, rate limits, or what the inspection returns (messages, findings, flags), which is a real gap for a scan tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with the read-only constraint and channel set front-loaded, followed by the per-channel clauses. Nothing is redundant. The telegraphic style is compact but borders on cryptic for non-Chinese readers, which keeps it slightly below top marks.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description is the only source of behavioral information. It covers the read-only guarantee, channel semantics, and the conditional repo need, but leaves the return shape and output of the '巡检' undefined, so an agent knows how to call it but not what to expect back.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%, with repo documented in the schema but channel's enum values left unexplained. The description compensates well by giving each enum value a source meaning (hn, github, email/Gmail, x/vendor inbox) and by adding a conditional requirement ('github 需 repo') that the schema does not express, since only channel is marked required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a specific verb ('只读...巡检' – read-only inbox/first-response inspection) with a named resource and enumerates the four channels it covers. An agent can tell it is an inbox-scanning tool rather than a search or planning tool. It stops short of naming a sibling it must not be confused with, since none of the listed siblings is an inbox tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied through per-channel conditions: github requires a repo, hn reads new replies on submitted items, email scans Gmail, x scans the vendor inbox. That tells the agent which channel to pick for which source, but there is no explicit when-not guidance or comparison against I/O-oriented siblings such as mkt_retro_scan or mkt_followup_due.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_journeyC

只读用户旅程:同 campaign/subject/time_window 过滤,返回漏斗、断点与修复建议。

NameRequiredDescriptionDefault
eventsYes
subjectNo
campaignYes
time_windowYes
identity_mapNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it usefully discloses that the operation is read-only and that output includes funnel, breakpoints, and repair suggestions. It omits auth/permission needs, how the required events/identity_map inputs are handled, and any behavior on empty or partial data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that opens with the read-only nature and packs filters plus return values without redundant wording. Efficient, though the terse Chinese phrasing packs multiple claims that could be split for clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a nested, 5-parameter tool with no annotations, no output schema, and 0% schema coverage, yet the description never explains the required events or identity_map inputs or the output structure beyond naming three artifacts. Too thin for the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 5 parameters, and the description only names three filters (campaign/subject/time_window). The required events array-of-objects and the identity_map parameter are completely unaddressed, leaving key input semantics undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific resource (user journey) with an explicit read-only qualifier, the filters used, and what it returns (funnel, breakpoints, repair suggestions). This is concrete and distinguishable, though it does not name a specific sibling it is meant to replace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Says the tool is read-only and filtered by campaign/subject/time_window, which implies an inspection/analysis use case, but gives no explicit when-to-use vs when-not guidance and never references alternatives among the many mkt_* siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_ledger_queryC

账本查询:按 channel/campaign/action/target/result 过滤。只读。

NameRequiredDescriptionDefault
limitNo
resultNo
channelNo
campaignNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full behavioral burden, yet it only asserts '只读' (read-only). It says nothing about result ordering, pagination behavior, defaults, volume of records, or what a query against a large ledger returns, which matters for an unfiltered 0-required-param call.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short clauses, front-loaded with the resource and filter scope. Nothing is padded, though the brevity comes at the cost of accuracy rather than being purely efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read tool with four optional parameters and no output schema, the definition is minimally viable but leaves the parameter meanings and the return shape undocumented. The phantom action/target filters make it incomplete in a way that could mislead.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description should compensate, but it names action and target as filters that do not exist in the schema while omitting any explanation of limit or the accepted format of result. This mismatch actively risks the agent passing parameters the tool will reject.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource (账本查询, ledger query) and names the filter dimensions, which distinguishes it reasonably well from siblings like mkt_search or mkt_audit. The lack of a title and the terse phrasing keep it from fully articulating scope, such as which ledger or time window.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus nearby tools such as mkt_audit, mkt_result, mkt_search, or mkt_progress. The agent must infer selection criteria entirely from the name and filter list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_memoryB

只读运营经验:从真实操作回执汇总 channel/action 模式,不暴露目标或内容,不允许自动重放。

NameRequiredDescriptionDefault
channelNo
campaignNo
minimum_confirmedNo

TDQS

B3.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does usefully disclose three behavioral traits beyond the schema: the operation is read-only, it deliberately omits targets and content (privacy sanitization of output), and it forbids automatic replay of learned patterns. It still does not say what the response shape looks like or how results are ranked/windowed, which keeps it from a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence with three clauses, front-loaded on the read-only nature and ending with the no-replay constraint; every clause carries information. It is compact to the point of terseness, but there is no wasted wording.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There are no annotations, no output schema, and 0% parameter coverage, so the description is the only source of truth, yet it omits parameter meanings, return value characteristics, and sibling differentiation against mkt_experience and mkt_retro_analyze. For a tool whose whole value is knowing what it aggregates and what it withholds, this leaves significant gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, so the description must compensate and largely fails. It hints at 'channel' and at patterns derived from 'real operation receipts', but 'campaign' and especially 'minimum_confirmed' (default 3) — clearly a confirmation threshold gating pattern inclusion — are left completely undefined.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: read-only aggregation of channel/action patterns derived from real operation receipts. That is concrete enough to distinguish it from generic tools, but nothing in the text separates it from close siblings such as mkt_experience, mkt_playbooks, or mkt_retro_analyze, so an agent cannot tell which memory-bearing tool to pick.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states constraints (read-only, sanitized, no auto-replay) but never says when to call this tool instead of the many siblings, nor any prerequisite such as needing prior confirmed operations. Usage must be inferred entirely from the phrase '运营经验'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_metric_measureC

只读 KPI 计算:按版本化指标字典对提供的事件确定性测量;分母为 0 返回 null,不伪造业务结果。

NameRequiredDescriptionDefault
as_ofNo
scopeNo
eventsYes
versionNo
metric_idYes
cohort_endNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description at least discloses that the operation is read-only and deterministic, and it states the zero-denominator policy (return null rather than fabricate a result) — genuinely useful behavioral context. It stops short of covering behavior for an unknown metric_id, a version mismatch, or malformed events, which matter for a computation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the read-only qualifier and the computation contract front-loaded, plus a semicolon-delimited edge-case clause. Nothing is redundant, though the density leaves the parameter surface untouched.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a six-parameter tool with a nested object, no annotations, no output schema, and zero schema description coverage, the definition is under-specified. It establishes intent and one edge case but leaves the agent guessing about scope, time windowing, cohort semantics, and the return shape beyond the null case.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across six parameters including a nested events array, so the description carries the full burden — yet it only alludes to events and a versioned metric dictionary. as_of, scope, and cohort_end are never explained, and the element shape of events is entirely undocumented anywhere.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource: deterministic KPI computation against a versioned metric dictionary over supplied events. That is far more precise than the bare tool name, though it never contrasts itself with plausible siblings such as mkt_scorecard or mkt_progress, so an agent must infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It implies the caller must supply events and a metric identity, but there is no stated when-to-use, when-not-to-use, or named alternative among the many mkt_* siblings. An agent choosing between this and mkt_scorecard or mkt_progress gets no routing help.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_opportunityC

只读需求发现:semantic_candidates 先过语义校验再匹配产品事实;不证明购买意愿。

NameRequiredDescriptionDefault
factsYes
signalsYes

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description must carry the full behavioral burden. It does contribute two real claims — the operation is read-only and its output does not constitute proof of purchase intent — which is useful expectation-setting, but it omits ordering/validation failure behavior, side effects, and cost/latency traits for a pipeline that explicitly performs checking.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded clause states the mode of operation, followed by the pipeline order and a scope limitation — no filler. The semicolon-chained structure is dense but every segment carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given nested undocumented parameters, no output schema, and no annotations, the description is too thin: an agent cannot construct valid facts/signals payloads or know what the result looks like. The stated pipeline and the purchase-intent caveat are the minimum, but significant gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and both parameters are required nested structures (facts object, signals object-or-array), so the description must compensate. It only implicitly maps 'semantic_candidates' to signals and 'product facts' to facts, giving no shape, required keys, or accepted formats for either.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a read-only demand-discovery operation and sketches a pipeline (semantic_candidates → semantic validation → matching against product facts), which is more specific than the bare tool name. However, '需求发现' is an abstract verb-resource pairing, and it never states what the tool returns or how an 'opportunity' differs from what mkt_signal_interpretation or mkt_search produce.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no comparison against any of the dozens of sibling tools; the reader has to infer that this runs before scoring/planning steps. The negative scope note ('不证明购买意愿') hints at a boundary but is not framed as an alternative-selection rule.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_optimizeB

只读优化建议:按记分卡与回执模式提出下一步;requires_human=true,不自动改预算或重放。

NameRequiredDescriptionDefault
channelNo
campaignNo
minimum_confirmedNo

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it does so well for safety: it declares read-only behavior, states requires_human=true, and explicitly rules out automatic budget changes and replays. What is missing is any statement about output shape or what '回执模式' (receipt mode) concretely means, so the behavior contract is strong on risk but thin on results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence pair with the safety posture front-loaded and zero filler. It is efficient, though its density and the mixed Chinese/English 'requires_human=true' token make it slightly harder to parse than necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description must cover both behavior and results; it covers safety well but leaves all three parameters unexplained and never says what a suggestion response looks like. For a zero-required-parameter advisory tool it is minimally adequate rather than complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters (channel, campaign, minimum_confirmed), so the description must compensate but largely does not. '按记分卡与回执模式' faintly hints that a confirmation threshold relates to receipts, but channel, campaign, and the default of 3 for minimum_confirmed get no clarification at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description says it produces read-only optimization suggestions and proposes next steps '按记分卡与回执模式' (per scorecard and receipt patterns), which identifies the output type (suggestions) but never states the object being optimized — campaigns, channels, or budgets — beyond saying budgets are not changed automatically. Against 42 siblings including mkt_scorecard, mkt_plan_lint, mkt_revise and mkt_action, no sibling is named or excluded, so the agent cannot cleanly tell it apart.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase '按记分卡与回执模式' implies a usage context (invoke once scorecard results and receipts exist), but this is only implied. There is no explicit when-to-use, no when-not, no prerequisite statement, and no routing to alternatives such as mkt_revise or mkt_action, which is a significant gap in a 42-tool family.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_orchestrateB

只读编排:按产品/目标/任务选择最小岗位组合、交付物、交接和表达方式;不自动组队执行或发布。

NameRequiredDescriptionDefault
goalYes
taskYes
motionNo
channelNo
productYes
audienceNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose the most important trait: this is read-only and will not assemble a team, execute, or publish. It says nothing about the shape of the returned orchestration, whether it is deterministic, or what happens with incomplete product data, leaving real behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with the mode (只读编排) front-loaded followed by the selection scope and the exclusion. No filler, though the density of the clause chain makes it slightly harder to parse than a split into two short sentences.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Six parameters at 0% schema coverage, a nested object, no annotations, and no output schema make this a complex tool, yet the description explains neither the three optional inputs nor what an orchestration result contains. For a selection/planning tool whose value is the chosen role handoff structure, this is significantly under-specified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It maps 产品/目标/任务 to product/goal/task, but gives no meaning for motion, channel, or audience (half the parameters) and no format guidance for the nested product object.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb (编排/选择) and concrete outputs (岗位组合、交付物、交接、表达方式) driven by product/goal/task, which is far more than a title restatement. It does not differentiate itself from the many adjacent siblings such as mkt_workflow, mkt_gtm_design, or mkt_sprint_plan, so an agent cannot fully disambiguate on the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 不自动组队执行或发布 gives an explicit when-not boundary: it is planning/selection only, not execution or publishing. However, it never names an alternative sibling or states the positive trigger condition versus mkt_workflow or mkt_goal_plan, so the routing signal is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_plan_lintA

校验营销计划 plan.json:schema 完整性、渠道能力矩阵、波次规模不超内核日预算、失败判据预注册。返回错误清单,空=通过。只读。

NameRequiredDescriptionDefault
plan_pathYesplan.json 路径

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full load. It does disclose the most valuable behavior: it is read-only and returns an error list where empty means pass, which is genuinely beyond what the schema says. It still omits what an error entry looks like, whether it collects all errors or stops at the first, and how a missing/unreadable path surfaces.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Compact and front-loaded: the verb and resource lead, the check categories are a tight enumeration, and the return semantics plus read-only flag close it out. Every clause carries information, though the colon-chained list is dense enough that a non-Chinese-reading agent may parse slowly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter linter with no output schema, the description does the important work: it names the checks, states that the return is an error list, and defines the pass condition. What remains missing – error record structure and path base – is minor for a read-only validation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage ('plan.json 路径'), so the schema already documents it. The description adds no meaning about path resolution, relative-to-what base directory, or acceptable file naming, so it merely matches the schema rather than extending it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

A concrete verb (校验/validate) applied to a specific resource (营销计划 plan.json), followed by an enumeration of the four check categories it runs. It is clearly a linter, but it never distinguishes itself from nearby siblings such as mkt_channel_plan, mkt_sprint_plan, or mkt_voice_lint, which an agent could mistake for the validation entry point.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer this is a pre-flight check on a plan file. There is no explicit statement of when to call it versus building a plan with a sibling, no prerequisites (does the plan need to exist first?), and no exclusions. '只读' implicitly tells the agent it is a safe inspection step.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_playbooksB

可用 playbook 清单:每个都带证据来源与风险提示,没有证据的会自己承认。

NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral burden. It does add real value by disclosing output characteristics that matter for trust calibration: every entry ships with an evidence source and a risk warning, and entries lacking evidence say so themselves. That is genuinely useful context beyond the schema, but the description is silent on read-only nature, volume, pagination, and whether loading the list has any side effect.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence that front-loads the resource and then the payload characteristics. No filler. It could be marginally tighter, but for a zero-parameter tool the length is appropriate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description must describe returns, and it does name the two things that matter per entry (evidence source, risk flag) plus the honesty caveat for unsupported playbooks. Missing only the shape or count of the list, which is a minor gap for a simple enumerator.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; the description correctly implies no inputs are required.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description identifies the resource ("可用 playbook 清单" – the list of available playbooks), so an agent knows it is an inventory-style retrieval. However, there is no explicit verb and no differentiation from near-siblings such as mkt_templates or mkt_capabilities, which likely also enumerate reusable assets. Purpose is inferable but not sharply distinguished.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Nothing states when to use this versus mkt_search, mkt_templates, or mkt_capabilities, nor any prerequisite or follow-up step. The agent must guess the routing from the name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_progressC

只读进度:日报问「今天有什么该动没动」,周报问「这周比上周好还是差」。

NameRequiredDescriptionDefault
onNo
scopeNoweekly

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It does disclose that the operation is read-only ('只读'), which is valuable, but it says nothing about what data is scanned, what period boundaries are applied, or what the response contains. For a no-annotation tool this leaves most behavioral questions unanswered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence: the read-only constraint comes first, followed by the two mode characterizations. There is no filler, though the metaphorical question phrasing trades some precision for brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, 0% parameter coverage, and roughly 40 sibling tools, the description is too thin. It does not explain the 'on' parameter, does not clarify what a progress report returns, and does not differentiate this tool from adjacent status, scorecard, or retro tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% with two parameters. The description semantically maps to the 'scope' enum by contrasting daily and weekly questions, which is modest added meaning. It says nothing about the 'on' parameter (presumably a date anchor), leaving that parameter entirely undocumented in both schema and description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description labels the tool as read-only progress reporting and hints at two modes (daily vs. weekly) through rhetorical questions, but it never states a concrete verb+resource or what is actually measured. An agent can infer the general purpose but cannot distinguish it from siblings like mkt_status or mkt_scorecard based on this text alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The framing 'daily asks what should have moved today, weekly asks whether this week is better than last' implies when each scope applies, so the choice between daily and weekly is inferable. However, there is no explicit when-to-use statement, no exclusion of alternatives, and no mention of when to prefer other progress/status tools in the large sibling set.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_resultC

只读结果:平台动作/任务结果/业务结果三层分开算,并对照判据。取不到的指标报「未测」,不当 0。

NameRequiredDescriptionDefault
criteriaNo

TDQS

C2.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden, and it does disclose two real behavioral traits: the operation is read-only, and unobtainable metrics are reported as "未测" rather than defaulted to 0 — an important semantic that prevents misreading zeros as measured values. However, it says nothing about return structure, permissions, or scope, so the disclosure is valuable but thin for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the read-only qualifier and then the three-layer semantics, with the null-vs-zero rule as the closing point. Nothing is redundant, though the density of Chinese noun-stacking makes the first clause slightly harder to parse than necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description must explain what comes back — yet it only says three layers are computed and compared to criteria, without describing the response shape or per-layer fields. Combined with the undocumented `criteria` parameter, an agent cannot confidently predict the result structure.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% and the single `criteria` parameter is an array of objects with no field documentation anywhere. The phrase "对照判据" implies criteria is the yardstick used for comparison, but the description never explains its shape, required fields, or effect on output, so it does not compensate for the coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states this is a read-only results tool that computes three separate layers (platform actions / task results / business results) and compares them against criteria — a real structure, but "结果" alone is generic and it never distinguishes itself from close siblings like mkt_scorecard, mkt_metric_measure, or mkt_progress. An agent can grasp the shape of the tool but not precisely what it returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only usage signal is "只读" (read-only), which implies safe inspection but not when this should be chosen over mkt_scorecard, mkt_metric_measure, or mkt_progress. No exclusions or alternative routing are given, leaving the agent to guess among ~30 marketing siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_retro_analyzeC

只读复盘分析:渠道账、浪费、冲突、以及日志里被反复提到的那几句话。口径仍由人钉。

NameRequiredDescriptionDefault
pathYes
factsNo人工钉定的口径:{渠道:{动作,回应,结果}},可省略
max_filesNo

TDQS

C2.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry the behavioral load. It does contribute two real facts — the operation is read-only ("只读") and the metric definitions are human-pinned rather than inferred by the tool — but says nothing about how much it reads from the path, runtime, side effects, or what the analysis returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, front-loaded, with no filler — structurally efficient. But the compression goes too far: "日志里被反复提到的那几句话" is elliptical to the point of being unactionable for an agent that has no idea what log or which phrases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with a nested-object parameter, a required path and no output schema, the description should say what the analysis produces and how the inputs shape it. It never explains what comes back, what path must point at, or what max_files guards against, so an agent would have to guess before calling.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 33%: "path" has no description at all, leaving it ambiguous whether it is a directory, a file, or a glob — a serious gap for the one required parameter. "口径仍由人钉" does usefully explain the role of the optional "facts" object, but "max_files" (default 20000) is never explained, so the description compensates only partially.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

It names a verb+resource ("只读复盘分析") and enumerates the analysis targets (channel ledger, waste, conflicts, recurring log lines), which gives a rough sense of scope. But the enumeration is impressionistic and nothing distinguishes it from the very close sibling mkt_retro_scan, nor from mkt_ledger_query / mkt_audit which cover overlapping ground.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use statement and no named alternative, despite mkt_retro_scan sitting right next to it in the sibling list with a nearly identical name. The only guidance-adjacent content is "口径仍由人钉", which tells the agent the human pins metric definitions but not when to invoke this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_retro_scanA

只读扫描本地目录,统计可读文件与可提取的事实条数;不写盘、不上传。用于复盘前的体量确认。

NameRequiredDescriptionDefault
pathYes要扫描的目录
max_filesNo

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full safety burden and does well: it explicitly declares read-only behavior, no disk writes, and no uploads. It omits what happens when the directory exceeds max_files (silent truncation?) and gives no hint of cost or runtime on large trees.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight clauses with the safety guarantees front-loaded and the usage context trailing; no filler, no repetition of the name.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, no-output-schema scan, the description covers purpose, safety, and workflow position, which is most of what an agent needs. The gap is the undocumented cap behavior on max_files, which matters for a counting tool because a truncated scan yields misleading counts.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%: 'path' is documented in the schema, but max_files (default 20000) is undocumented and the description never mentions a file cap or truncation behavior. The truncation semantics are the one thing the description could have added beyond the schema and it does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource ('只读扫描本地目录') plus an explicit output ('统计可读文件与可提取的事实条数'), so an agent can tell it apart from the heavier mkt_retro_analyze. It stops short of naming the sibling outright, leaving that inference to the '复盘前' phrase.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The clause '用于复盘前的体量确认' places the tool in a workflow and implies it is a pre-check rather than the retro analysis itself. It never states exclusions or names mkt_retro_analyze as the follow-up step, so the routing is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_reviseC

只读回流:给出「改哪个参数、从多少到多少」并标参数级/策略级。样本不足会拒绝下结论。

NameRequiredDescriptionDefault
paramsNo
resultNo

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full disclosure burden. It does usefully establish that the operation is read-only and that it will decline to conclude on small samples, but it says nothing about required permissions, what the returned recommendation looks like structurally, or what happens when the supplied data is malformed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence that front-loads the most decision-relevant fact (read-only) and then the output shape. No wasted wording, though brevity here partly reflects under-specification rather than efficiency.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Two opaque nested-object inputs, no annotations, no output schema, and no param documentation — the description should explain the input contract and does not. For a tool whose entire value is a precisely formatted before/after recommendation, the definition is too thin for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and both parameters are untyped nested objects, so the description must compensate and does not. It never explains that 'params' presumably carries the current parameter set and 'result' the measured outcomes, nor what keys those objects expect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool produces a recommendation of 'which parameter, from what value to what value' and tags it parameter-level or strategy-level, plus that it is read-only feedback. That is a recognizable advisory function, but the object being revised is left abstract ('参数' of what?) and no distinction from siblings such as mkt_optimize or mkt_scorecard is drawn.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to call this versus mkt_optimize, mkt_scorecard, or mkt_result. The only conditional mentioned — refusing to conclude when the sample is insufficient — is a behavior of the tool, not guidance on when an agent should select it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_run_queueA

执行一个队列(全渠道:email/hn/github/reddit/linkedin/x-reply)。默认 dry-run;go=true 实跑;UNVERIFIED 渠道首跑校准仅限人工 CLI 通道;实跑须已人审 plan,或显式 routine=true 且策略匹配(无 plan 的 adhoc 仅 CLI;授权管理不对 MCP 开放)。

NameRequiredDescriptionDefault
goNo
accountNo可选:覆盖队列顶层账号,供 routine policy 精确校验
routineNo仅使用已存在的 routine policy;MCP 不能创建或撤销授权
queue_pathYesdata/queues/<campaign>.json

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the safety burden and does so well: it discloses the dry-run default, that go=true causes real side effects, and that a gated approval/policy path is required before anything is sent. It stops short of describing what a real run does per channel, how partial failures are handled, or whether runs are idempotent or rate-limited.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The purpose is front-loaded and no clause is filler — every segment carries gating or permission information. However, it is delivered as a single dense chain of semicolon-separated clauses with nested parentheses, which makes it harder to scan than a short list of conditions would be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutating execution tool with no annotations and no output schema, the description covers the critical ground: default mode, the live-run switch, approval/policy preconditions, and what MCP is not allowed to do. Only return-value expectations and per-channel execution semantics are unaddressed, which is a modest gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 75%, and the description still adds real meaning: go is framed as dry-run vs. live execution, routine is framed as 'use an existing policy only — MCP cannot create or revoke authorization'. queue_path and account are left to their schema descriptions, which is acceptable given their coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — '执行一个队列' — and enumerates the channels it covers (email/hn/github/reddit/linkedin/x-reply), so the agent knows exactly what the tool operates on. It does not name any sibling tool to distinguish itself from near-neighbors like mkt_action or mkt_orchestrate, which keeps it short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states the default mode (dry-run), the switch for real execution (go=true), and the precise preconditions for real execution: a human-reviewed plan, or explicit routine=true with a matching policy. It also gives hard exclusions — UNVERIFIED-channel calibration and plan-less adhoc runs are manual-CLI-only, and authorization management is not exposed to MCP. This is a full when/when-not specification.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_scorecardC

只读运营记分卡:执行回执的成功/未知/失败与业务结果计数;比率是描述口径,不是渠道效果。

NameRequiredDescriptionDefault
sinceNo
campaignNo

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description has to carry the full burden. It usefully asserts 只读 (read-only) and warns that the ratios are descriptive figures rather than causal channel-effectiveness claims — a genuinely valuable guard against misreading results. It says nothing, however, about permissions, time-window defaults, pagination, or what an empty result looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with the read-only nature front-loaded and the metric scope stated before the interpretation caveat. Nothing is redundant, though the terseness borders on under-specification given two undocumented parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, no annotations, and 0% parameter coverage, the description is the only documentation available — yet it never explains the shape of the returned counts, the default time window when `since` is omitted, or how `campaign` filters. For an aggregation tool of this complexity that is a meaningful shortfall.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% for both `since` and `campaign`, and the description never mentions either. It gives no hint that `since` bounds the reporting window or that `campaign` narrows the aggregation, so an agent must guess at accepted formats (ISO date? epoch?) and scoping semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (运营记分卡, operational scorecard) and enumerates its contents: counts of execution-receipt outcomes (success/unknown/failure) and business-result counts. That is concrete enough to distinguish it from a generic status or search tool, but it never names a sibling such as mkt_metric_measure, mkt_status, mkt_progress, or mkt_result, of which several plausible-looking alternatives exist in the list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use instruction, no prerequisites, and no named alternative. The sentence about ratios being descriptive rather than a measure of channel effect is an interpretive caveat, not guidance on selecting this tool over mkt_metric_measure or mkt_progress, so the agent must infer positioning from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_signal_interpretationC

只读校验宿主结构化语义候选;技术讨论、自报购买意图和不可接触对象不进入可执行机会。

NameRequiredDescriptionDefault
candidatesYes

TDQS

C2.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden; it does add real behavior by declaring the operation read-only and by explaining that certain candidate classes are excluded from executable opportunities. That is meaningful filtering semantics beyond the name. It does not describe what a validation result contains, whether rejected candidates are returned with reasons, or how malformed candidates are handled.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

It is a single dense sentence that front-loads the action before the exclusion list, with no filler. The compression into jargon-heavy Chinese phrasing costs some readability but no words are wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool takes an opaque structured payload and has no output schema and no annotations, so the description is the only source of contract information. It leaves the candidate schema, return value, and failure behavior entirely unspecified, which is insufficient for a validation-style tool whose entire contract is the input shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is one required parameter, 'candidates', typed only as object-or-array with 0% schema description coverage. The description gestures at it via '宿主结构化语义候选' but never explains the candidate object's fields or required structure, so an agent cannot construct a valid value from this text. With a single unstructured parameter, the description should compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a verb and object ('只读校验宿主结构化语义候选' – read-only validation of host structured semantic candidates), so the general action is identifiable. However, '语义候选' (semantic candidates) is undefined jargon, and the tool's relationship to siblings such as mkt_opportunity or mkt_scorecard is never stated. The purpose is inferable but not concrete.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It supplies exclusion criteria — technical discussion, self-reported purchase intent, and unreachable targets do not qualify — which implies when the tool should not be applied. But it never says when to use this tool instead of the many sibling tools, nor does it state who supplies the candidates or in what workflow stage. Guidance is partial and input-oriented rather than tool-choice-oriented.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_sprint_planC

只读冲刺方案:目标方案→N 天并行工作流、小时级排期、每日目标、加速杠杆、容量校验与红线。

NameRequiredDescriptionDefault
daysNo
goalYes
factsYes
startNo
targetNo
platformsNo
secondaryNo
launch_hourNo
hours_per_dayNo

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full burden. It usefully discloses that the operation is read-only and that the result includes capacity validation and red lines, but it says nothing about permission requirements, failure behavior, or how the nested facts input is validated. For a 9-parameter composite planner this is a thin disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single dense sentence that front-loads the read-only guarantee and then enumerates the outputs. Nothing is padded, though the enumeration of output artifacts would read better as a short structured list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has 9 parameters, a nested object, no annotations and no output schema, yet the description is one sentence naming outputs only. An agent can form a rough idea of what it gets back but has almost no basis for constructing a valid call, especially the required facts payload.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 9 parameters, including a nested facts object, so the description must compensate and largely does not. It hints at days ('N 天') and hour-level fields, but never explains what facts should contain, what target or secondary mean, or how platforms interacts with the plan. Required facts and goal get no guidance at all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The definition states a specific resource (a sprint plan) with its key output components: N-day parallel workflows, hourly scheduling, daily targets, acceleration levers, capacity checks and red lines. That is far more informative than the bare name. However, it never distinguishes itself from nearby planning siblings such as mkt_goal_plan, mkt_cadence or mkt_workflow, so an agent cannot tell why it should pick this planner over those.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool, when not to, or which sibling to prefer for adjacent planning tasks. The only usable signal is the implicit 'read-only' framing, which does not tell an agent when sprint planning is the right move versus goal planning or cadence work.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_statusB

全局账本聚合:按 channel/campaign/result 计数。只读。

NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It does disclose two useful traits — that the tool is read-only and that results are counts grouped by three dimensions — but it omits scope (what 'global' covers, any time window or workspace boundary) and says nothing about the shape or size of the returned aggregate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact clauses with no filler, and the core operation is stated first. The telegraphic phrasing borders on under-specification rather than wordiness, so it earns high marks on economy but not the top score for readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only aggregation tool with no output schema, the description should pin down the scope of the aggregation and roughly what the response contains. It names the grouping dimensions, which partially substitutes for the missing output schema, but leaves the ledger's scope and any filtering context unstated.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is no parameter semantics to explain and the input schema is trivially complete. This meets the baseline for a no-argument tool without needing additional description support.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a concrete verb+resource: aggregate the global ledger, counted by channel/campaign/result. That is specific enough for an agent to know the operation, but it does not distinguish this from near-neighbours such as mkt_ledger_query, mkt_scorecard or mkt_progress, so the sibling boundary is left implicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'只读' signals a safe read operation but gives no when-to-use guidance: no indication of when to prefer this aggregation over mkt_ledger_query or mkt_scorecard, and no stated exclusions or prerequisites. Usage must be inferred entirely from the tool name and the word 'aggregate'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_strategyB

只读策略推演:从产品事实包和复盘口径算出主渠道、保留清单、不做清单、冷启动五阶段、放大条件、风控映射。

NameRequiredDescriptionDefault
factsYes产品事实包(同 mkt gtm diagnose)
retro_factsNo

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full load, and '只读' is a genuinely useful disclosure that this performs no writes. However, other behaviors an agent needs are absent: whether derivation is deterministic, whether absent optional input changes results, permission requirements, or failure modes when the facts pack is malformed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence that leads with the read-only modality before enumerating outputs. No filler, though the six-item output list is dense and would read better separated from the modality clause.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The enumeration of six output categories partly compensates for having no output schema, and the modality is stated. But for a nested-object, derivation-style tool with 50% schema coverage, the description omits input field expectations, behavior when optional input is missing, and any indication of output structure beyond a label list.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50%. The description clarifies that `facts` is a product facts pack and that `retro_facts` is the retro '口径' (measurement baseline), which adds meaning beyond the empty schema entry for retro_facts. It still does not explain what fields either nested object expects or what happens if retro_facts is omitted.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific modality and verb ('只读策略推演') plus the exact artifacts computed (main channel, retention list, do-not-do list, cold-start stages, amplification conditions, risk-control mapping). This is far more specific than a name restatement, though it does not name a sibling it differs from (e.g., mkt_gtm_design or mkt_retro_analyze).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance and no routing to alternatives among the many planning siblings (mkt_gtm_design, mkt_gtm_diagnose, mkt_channel_plan). The only usage hint is the parenthetical '同 mkt gtm diagnose' for input shape, which is about format, not invocation conditions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_templatesB

只读 GTM 交付物模板:32 个模板的版本、必填字段与 QA;可校验实例,不写工作区。

NameRequiredDescriptionDefault
fieldsNo
versionNo
template_idNo
lint_registryNo

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description takes on the full disclosure burden. It does state the important behavioral traits of being read-only and not writing to the workspace, which is valuable for a mutation-averse agent. However, it does not explain what 'validating an instance' does, whether validation has side effects, or what the template registry returns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with the read-only constraint and the 'does not write workspace' caveat front-loaded. Nothing is redundant, though the sentence packs several distinct concepts without separating them.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With four undocumented parameters, a nested object, no annotations, and no output schema, the description leaves too much open. It never explains the shape of 'fields', the effect of 'lint_registry', or what a validation result looks like, which is a substantial gap for an agent trying to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 4 parameters, including a nested free-form object ('fields') and an undocumented boolean ('lint_registry'). The description mentions versions and required fields in passing but does not map meaning to template_id, version, fields, or lint_registry, so an agent cannot tell what to pass in the nested object or when lint_registry should be enabled.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific resource (GTM deliverable templates, 32 of them) and concrete content: versions, required fields, QA, plus the ability to validate instances. That is clear enough to distinguish it from most siblings, though it never names the lint-oriented siblings (mkt_plan_lint, mkt_voice_lint) whose scope overlaps with 'validate instances'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer that it is used for looking up template structure or validating an instance. There is no explicit statement about when to pick this versus the sibling lint tools, and no prerequisite or exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_value_artifactC

只读价值资产校验与业务渲染:教程/样例/测试/模板/对比/真实案例,action=lint|render。

NameRequiredDescriptionDefault
actionYes
artifactYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full burden. It does declare the operation is read-only, which is useful, but says nothing about what lint reports (errors vs warnings, pass/fail), what render produces, or whether rendering has side effects or output limits. For a two-mode tool with no output schema, this is a significant disclosure gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with the operation front-loaded and the action enum at the end. Nothing is wasted, though the terseness is partly under-specification given a nested object parameter.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given a free-form nested object parameter, zero schema coverage, no annotations, and no output schema, the description should explain artifact shape and what render returns. Neither is covered, so an agent cannot reliably construct a correct call from this definition alone.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and 'artifact' is an unconstrained nested object, so the schema explains almost nothing. The description's artifact-kind list adds a little semantic framing, but it does not describe the artifact's internal structure, required fields, or what each action expects to receive. The action enum is merely repeated from the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb pair (validate/lint and render) on a named resource (value artifact), and enumerates the artifact kinds it handles (tutorials, samples, tests, templates, comparisons, real cases). It also restates the action enum, so an agent can tell it is a two-mode validator/renderer rather than a search or scoring tool. '价值资产' remains somewhat abstract, but the operation is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description never says when to pick lint versus render, and it does not distinguish this tool from plausibly overlapping siblings such as mkt_plan_lint, mkt_voice_lint, mkt_templates, or mkt_scorecard. Only the '只读' (read-only) framing hints at usage context; there are no exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_voiceB

平台语气画像与开头骨架:这个平台怎么说话、开头怎么写、什么会被当成广告。

NameRequiredDescriptionDefault
hookNo
whatNo
platformYes

TDQS

B3.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are supplied, so the description carries the full behavioral burden. It does disclose the substance of what comes back (tone rules, hook patterns, ad-avoidance rules), which is real value beyond a bare name. It says nothing about whether the call is a read-only lookup or a generation step, what the response shape is, or whether the profile is cached per platform — gaps that matter with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence with a colon-delimited breakdown of the three outputs; the core noun phrase is front-loaded. No filler, though the terseness is partly what creates the parameter ambiguity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With three parameters, one required, no annotations, and no output schema, the description should explain the inputs and roughly what a profile looks like. It covers the conceptual output but leaves the two optional parameters undefined and gives no sense of return structure, which is thin for a tool an agent must fill a schema for.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across three parameters, so the description must compensate and largely does not. '平台' in the text loosely maps to the required platform parameter, but 'hook' and 'what' — likely the draft opening and content under review — are never explained, so an agent must guess their meaning and format.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names the resource precisely (platform tone profile plus hook/opening skeleton) and enumerates the three things it answers: how the platform speaks, how to write the opening, and what gets flagged as advertising. That separates it from the sibling mkt_voice_lint, which by name is the checking counterpart. It is a nominal phrase rather than a verb+object, so it is clear but not crisp about whether it retrieves or generates.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: an agent can infer you call this before writing copy for a given platform. There is no explicit when-to-use statement, no mention of when to prefer mkt_voice_lint or mkt_channels, and no stated prerequisites. Adequate but leaves routing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_voice_lintB

检查一段文字在指定平台会不会被当成广告;返回问题列表,空表示可用。

NameRequiredDescriptionDefault
textYes
platformYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full disclosure burden, and it does add real value by explaining the output shape: a list of problems, an empty list meaning the text is usable. However, it does not explicitly state that the tool makes no changes, does not say what happens on an unsupported platform, and does not describe what a problem item contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One compact sentence and a clause, with the core action first and the return semantics second. Nothing is wasted, but the extreme terseness is close to under-specification rather than true concision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter read-only check, the description covers purpose and return meaning; since there is no output schema, describing the empty-list convention is exactly the right compensation. The gap is the undocumented set of valid platform values, which the agent needs in order to call the tool successfully.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and there are zero enums, so the description must define both parameters. It only restates that there is 'a piece of text' and 'the specified platform'; it never enumerates valid platform values, case sensitivity, or text length limits, leaving the most failure-prone parameter undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: it lints ('检查') a piece of text to determine whether a given platform will treat it as advertising. That is concrete and distinguishable from generic siblings such as mkt_voice or mkt_plan_lint, though it never names a sibling to compare itself with.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Use is implied: check text before publishing it to the named platform. The description does not state when NOT to use it, nor when to prefer related tools such as mkt_voice or mkt_plan_lint, so the agent must infer the routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_workflowB

只读工作流视图:列表/详情/结构校验/运行记录;审批与重放只在 CLI 人工通道。

NameRequiredDescriptionDefault
actionYes
workflow_idNo

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations supplied, the description carries the full burden and does deliver the single most important trait: this is read-only, and mutating operations (approve/replay) are explicitly out of scope. It says nothing about return shape, whether list is paginated, or how errors surface for an unknown workflow_id, so the safety profile is covered but operational behavior is not.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded clause establishes read-only scope, followed by a compact mode enumeration and a scope exclusion — no filler at all. The slash-delimited enumeration is slightly compressed and requires the reader to align each item with an enum value, which costs a little structure but not meaning.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, annotation-free tool with no output schema, the description covers purpose, safety posture, and scope exclusions adequately. It stops short on the workflow_id/action dependency and on what any action actually returns, which an agent would need to call this correctly on the first try.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate, and it partially does: the four slash-separated modes (列表/详情/结构校验/运行记录) effectively decode the otherwise bare enum values list/show/lint/status. However, workflow_id is never mentioned — an agent is not told that it is required for show/lint/status but unnecessary for list, which is the main parameter risk here.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (workflow) and mode (read-only view), then enumerates four capabilities — list, detail, structure validation, run records — that map onto the action enum. It does not name any of the many overlapping siblings (mkt_plan_lint, mkt_run_queue, mkt_status), so differentiation relies on the reader inferring scope from the 'read-only' framing.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives one explicit exclusion: approvals and replay belong to the CLI human channel, not this tool. Beyond that, there is no guidance on when to pick mkt_workflow over mkt_plan_lint or mkt_run_queue, which is a real ambiguity given ~40 sibling tools with adjacent names.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mkt_work_orderB

只读工作操作系统:WorkOrder 列表/详情/下一步与关联 SOP run、交付物、交接;不创建、不审批。

NameRequiredDescriptionDefault
actionYes
work_order_idNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description carries the full behavioral burden. It usefully discloses the read-only safety profile and that results link to SOP runs, deliverables and handoffs, but says nothing about result volume, pagination, permission requirements, or what happens when an id is unknown. For a tool with zero annotation coverage the disclosure is thin.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact clause that front-loads the read-only constraint and then enumerates capabilities. No filler, though the closing negation could be folded more tightly into the opening scope statement.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter, no-output-schema read tool this covers purpose and scope adequately, but with no annotations and no parameter documentation the agent still lacks guidance on the required id and on what list versus next actually return.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must compensate. It partially does by mapping 列表/详情/下一步 to the list/show/next enum values, but 工作单 ID semantics remain unexplained — whether it is required for show/next, its format, or what error a bad id produces.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names the resource (WorkOrder) and the three operations (list/detail/next-step) that map onto the action enum, plus the associated entities (SOP run, deliverables, handoffs). It distinguishes itself from write-oriented siblings by declaring 只读 and 不创建、不审批, though it never names a specific alternative tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The exclusion clause 不创建、不审批 tells the agent what this tool will not do, which implicitly routes write work elsewhere. However no sibling is named and no explicit condition for choosing list vs show vs next is stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 43 tool updatesv0.13.0
    • First observedmkt_action
    • First observedmkt_audit
    • First observedmkt_cadence
    • First observedmkt_campaign
    • First observedmkt_capabilities
    • First observedmkt_channel_plan
    • First observedmkt_channel_venues
    • First observedmkt_channels
    • First observedmkt_deal_next
    • First observedmkt_deals
    • First observedmkt_experience
    • First observedmkt_followup_due
    • First observedmkt_goal_plan
    • First observedmkt_goals
    • First observedmkt_gtm_design
    • First observedmkt_inbox
    • First observedmkt_journey
    • First observedmkt_ledger_query
    • First observedmkt_memory
    • First observedmkt_metric_measure
    • First observedmkt_opportunity
    • First observedmkt_optimize
    • First observedmkt_orchestrate
    • First observedmkt_plan_lint
    • First observedmkt_playbooks
    • First observedmkt_progress
    • First observedmkt_result
    • First observedmkt_retro_analyze
    • First observedmkt_retro_scan
    • First observedmkt_revise
    • First observedmkt_run_queue
    • First observedmkt_scorecard
    • First observedmkt_search
    • First observedmkt_signal_interpretation
    • First observedmkt_sprint_plan
    • First observedmkt_status
    • First observedmkt_strategy
    • First observedmkt_templates
    • First observedmkt_value_artifact
    • First observedmkt_voice
    • First observedmkt_voice_lint
    • First observedmkt_work_order
    • First observedmkt_workflow

TDQS

C2.9/5.0

Scored across 43 tools

Disambiguation3/5

Descriptions are unusually explicit about each tool's scope and negative space ("只读…不自动…"), which genuinely helps. However there is a dense cluster of near-synonymous planning/analysis views — mkt_goals vs mkt_goal_plan vs mkt_strategy vs mkt_channel_plan vs mkt_sprint_plan vs mkt_cadence vs mkt_gtm_design — and another of reporting views — mkt_status vs mkt_ledger_query vs mkt_scorecard vs mkt_result vs mkt_progress vs mkt_campaign — where an agent could easily pick the wrong one. mkt_memory vs mkt_experience vs mkt_playbooks is also hard to separate at selection time.

Naming Consistency3/5

All names share the mkt_ prefix and snake_case, so surface consistency is fine. But the stem mixes nouns (mkt_goals, mkt_strategy, mkt_deals, mkt_voice, mkt_inbox, mkt_journey) with verbs (mkt_search, mkt_optimize, mkt_revise, mkt_audit, mkt_orchestrate), so you cannot infer from the name whether a tool lists, computes, or mutates.

Tool Count2/5

43 tools is well past the heavy threshold for what is largely one marketing-ops workflow. Many planning/analysis views are narrow read-only lenses that could be consolidated into fewer parameterized tools.

Completeness4/5

The surface covers the full lifecycle: channel/capability registries, goal and plan design, lint/validation, gated execution (mkt_action, mkt_run_queue), measurement, retro, and learning/experience. The write side is intentionally thin (approval and first-run calibration live only in the human CLI), which is a defensible design but leaves no MCP path to author or approve plans.

Maintenance

ActivityMaintained
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables local MCP access to attach to isolated backend environments, monitor runtime health/logs, check security posture, manage snapshots and diffs, audit events, and view sanitized remote inventory.
    11 npm
    Apache 2.0
  • F
    license
    C
    quality
    C
    maintenance
    Enables stdio-capable MCP clients to run governed enterprise operations tasks, including policy/runbook retrieval and ticket and user lookups or writes. High-risk actions are held for human approval and role-based access is enforced server-side, so clients cannot bypass governance.
    4
    1
    -
  • A
    license
    A
    quality
    C
    maintenance
    Enables MCP clients to read campaign and account data freely while routing every write through human-approved plans, with budget caps, drift refusal, undo, and audit logging.
    6
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP clients to manage Google Ads accounts through guarded tools for GAQL reporting, keywords, ads, budgets, callouts, and sitelinks, with dry runs and paused-by-default creates.
    Apache 2.0