Skip to main content
Glama
sole03

mcp-rule-engine

by sole03

GovernFlow

AI-native code governance pipeline. Assemble, don't build.

GovernFlow 将 AI Agent 的代码治理从"自研轮子"重构为"组装业界工具链"的四层流水线。不建新平台,嵌入现有工作流。


环境依赖

依赖

版本要求

说明

Node.js

≥ 22

运行时

npm

≥ 10

包管理

SQLite

3 (内置)

本地数据库 (零配置)

Node.js 22 是硬性要求(使用了 --experimental 特性的 tree-sitter wasm 绑定)。SQLite 通过 better-sqlite3 内嵌,无需单独安装。


Related MCP server: focal-mcp

快速部署运行

方式一:npm 安装(推荐)

npm install governflow
# 或指定版本
npm install governflow@1.0.0-alpha.9

方式二:源码构建

# 1. 拉取仓库
git clone https://github.com/sole03/governflow.git
cd governflow

# 2. 安装依赖 (自动编译 TypeScript → dist/ + 生成 Prisma Client)
npm install

# 3. 配置环境变量 (可选,默认使用 SQLite)
#    set DATABASE_URL=file:./custom.db   (Windows)

# 4. 运行测试 (验证环境正确)
npm test                    # 291 tests, 37 files

# 5. 启动
governflow                  # MCP stdio 模式 (供 Cursor/Claude Desktop 等客户端使用)
# 或
npm run start:http          # HTTP REST API 模式

配置说明

环境变量

默认值

说明

DATABASE_URL

file:./mcp-cognition.db

SQLite 数据库路径

LOG_LEVEL

info

日志级别 (trace/debug/info/warn/error)

无需 .env 文件即可运行。所有配置均有合理默认值。


项目目录结构

governflow/
├── packages/
│   ├── core/                    # governflow-core — 协议无关内核
│   │   └── src/
│   │       ├── perception/      # 感知层: MerlionBridge + ShapleyAttributor
│   │       ├── proposal/        # 提案层: RegoCompiler + StructuredGenerator + PromptPipeline
│   │       ├── verification/    # 验证层: PropertyTests + ShadowVerifier
│   │       ├── delivery/        # 决策层: GitOpsEngine + CanaryController
│   │       ├── constraints/     # 约束 DSL 编译器 + 模板库 + 运行时
│   │       ├── sandbox/         # COW 沙箱 + 自愈循环 + 安全阀 + 健康门控
│   │       ├── dashboard/       # 指标收集器 + DashboardSnapshot 类型
│   │       ├── cognition/       # 认知图引擎核心
│   │       ├── events/          # 事件总线 + 领域事件
│   │       ├── audit/           # 满意度追踪 (开发者体验兜底)
│   │       ├── cli/             # CLI 入口
│   │       └── di/              # 依赖注入容器
│   └── dashboard/               # governflow-dashboard — 可视化仪表盘
├── src/                         # MCP Server 传输层 (stdio + HTTP)
│   ├── transport/               # MCP 工具处理器 + HTTP 服务
│   ├── governance/              # 策略引擎 + 规则免疫 + 审批工作流 + 影子服务
│   ├── core/                    # AST 约束求解器 + 认知图遍历器 + 意图识别
│   ├── data/                    # Prisma Repository + 向量存储 + LRU 缓存
│   └── adapters/                # Zod Schema 校验 + Embedding 适配器
├── tests/                       # 测试 (37 files, 291 tests)
├── prisma/                      # 数据库 Schema + 迁移
├── scripts/                     # License 检查 + 影子回放 CLI + Pack 脚本
├── benchmarks/                  # 性能基准
└── .github/workflows/           # CI 配置 (Rule Verification + License Check)

功能说明

四层流水线

核心模块

功能

感知层

perception/

Z-score 动态基线异常检测 + EMA 自适应 + 季节性分解 + Shapley 多维根因归因

提案层

proposal/

JSON DSL → OPA Rego 编译 + Zod 约束 LLM 结构化输出 + Few-shot 自动编译

验证层

verification/

属性测试自动证伪 + 影子日志回放 + CI 自动验证 PR

决策层

delivery/

DashboardSnapshot → PR Markdown (GitOps) + 5%→100% 金丝雀渐进交付

数据模型

模型

用途

Rule

规则定义 (含 hitCount/falsePositiveCount/adoptedCount 效能追踪)

PolicyVariant

A/B 策略变体对比

ShadowLog

影子模式运行日志 (新规则 7 天前置观察)

CognitionNode / CognitionEdge

认知图拓扑

AstTemplate

AST 级约束模板

Proposal / ApprovalRequest

注入审批工作流

MCP 工具 (20 tools)

分类

工具

用途

Diff

analyze_workspace

Git diff 分析 + 意图识别 + 语言检测 (19 种语言)

Diff

capture_diff

单文件差异捕获 → AST/Regex 差异归一化

Rule

list_rules

分页查询全量规则 + 按语言/置信度过滤

Rule

query_rules

按文件路径 + 语言匹配适用规则

Rule

confirm_rule

审批(adopt)/拒绝(reject)/跳过(skip) 规则

Rule

resolve_conflict

解决规则冲突 (keep/skip/merge 三种策略)

Cognition

cognition_query

认知图上下文查询 (最大深度 3 层 BFS)

Cognition

cognition_validate

代码 vs 约束节点一致性校验

Cognition

cognition_feedback

提交 ACCEPTED/REJECTED 反馈回流

Cognition

cognition_update_config

认知引擎配置热更新 (需 expertMode)

Cognition

cognition_approve_injection

审批/拒绝注入提案

Governance

governance_pause_arbitrator

暂停自动仲裁 (1-1440 分钟)

Governance

governance_rollback_arbitration

回滚指定时间后的仲裁结果

Workflow

workflow_submit

提交多评审人审批工作流

Workflow

workflow_vote

审批投票 (APPROVE/REJECT)

Workflow

workflow_status

查询审批状态

Workflow

workflow_escalate

审批超时升级

Immune

immune_cycle

规则免疫周期执行

Immune

immune_stats

免疫统计 (抑制/恢复/反馈)

传输协议: stdio 和 HTTP 均覆盖,HTTP 额外包含 Workflow + Immune 工具。


技术栈

类别

技术

语言

TypeScript 5.6

运行时

Node.js 22

数据库

SQLite (better-sqlite3)

ORM

Prisma 5.22

测试

Vitest 2.1

AST

tree-sitter (JS/Python/TS)

Embedding

@xenova/transformers (ONNX 本地推理)

Schema 校验

Zod 4

日志

Pino

协议

MCP (Model Context Protocol)

内核包

governflow-core 零 MCP 依赖,可独立发布为 npm 包:

npm install governflow-core
import { MerlionBridge, RegoCompiler, CanaryController } from "governflow-core";

文档

完整架构设计与开发文档见 GitHub Wiki.


常见问题

npm install 报错 better-sqlite3 编译失败

需要系统安装 C++ 编译工具链:

  • Windows: npm install --global windows-build-tools 或安装 Visual Studio Build Tools

  • Mac: xcode-select --install

  • Linux: sudo apt install build-essential python3

prisma db push 报错 Environment variable not found: DATABASE_URL

设置环境变量或使用默认值:

export DATABASE_URL="file:./mcp-cognition.db"   # Linux/Mac
set DATABASE_URL=file:./mcp-cognition.db        # Windows cmd
$env:DATABASE_URL="file:./mcp-cognition.db"     # PowerShell

测试报错 database is locked

SQLite 并发文件锁的已知限制。重跑即可:

npm test

如果频繁出现,尝试 npx vitest run --no-cache --pool=forks

Node.js 版本过低

MCP SDK 和 tree-sitter wasm 绑定需要 Node.js ≥ 22。检查版本:

node -v

如果低于 22,使用 nvm/fnm 升级。


心法

不要构建系统,要构建流水线。

让异常检测成为监控平台的插件,而非独立服务。 让规则生成成为 CI 的一个 Step,而非后台黑盒。 让人机协同成为 Code Review 的自然延伸,而非额外负担。


Changelog

v1.0.0-alpha.9 (2026-06-21)

  • 🔴 认知图写入修复: capture_diff / analyze_workspace 所有 upsertCognitionClosure / createNodeWithEdgesawait,解决 fire-and-forget 导致节点丢失

  • 🔴 认知图错误可见: 写入错误不再静默吞掉,改为写入 warnings 字段

  • 🔴 认知图查询扩展: cognition_query 支持 5 种检索模式(nodeType / filePath / language / contextHash / semanticHash),不再死锁在单一 hash

  • 🟡 CognitionRepository: 新增 findOrCreateNode(P2002 时返回已有节点)+ findNodesByPayloadField / findNodesByType 多维检索

  • 🟡 Schema 放宽: CognitionQuerySchema 放宽 required 约束,支持多种可选检索条件

  • 🟡 空 pattern 防御: rule-matcher / rule-generator / capture-diff / rule-repo 四层拦截空 pattern 规则

  • 📄 文档: 新增 Agent 工作流指南(knowledge injection → rule coding → code audit)

  • 📄 文档: 新增架构设计文档(enhancement-plan / gaps)

v1.0.0-alpha.8 (2026-06-21)

  • 🧠 Prisma Client 重新生成: 同步 ApprovalRequest.version 字段

  • 🧠 build 修复: approval-workflow.ts version 类型错误修复

v1.0.0-alpha.7 (2026-06-18)

  • 🛡 冲突全景图修复①: Rule 模型新增 @@unique([type, language, pattern, suggestion]) — 数据库级拦截完全重复规则

  • 🛡 冲突全景图修复②: rule-repo.ts create() 前置 findFirst 存在检查(belt-and-suspenders)

  • 🛡 冲突全景图修复③: ApprovalRequest 新增 version 字段 + castVote 乐观锁 P2025 重试(最多 3 次),防止并发投票丢失

  • 🛡 冲突全景图修复④: capture-diff PATTERN 节点 TOCTOU 硬化(re-fetch on duplicate key)

  • 🛠 CognitionRepository: 新增 createEdge() 单边创建方法

  • 🛠 Schema 错误消息: Zod enum 校验失败时显式列出合法值

  • 🛠 Schema 别名: cognition_query 新增 semanticHash 参数

  • 🛠 validateInput: Zod Required 错误翻译为 field-aware 消息

  • 🧹 清理: prisma/ 下 59 个历史脏数据库文件

v1.0.0-alpha.6 (2026-06-18)

  • 🧠 认知图谱闭环: capture_diff 自动创建 INTENT 节点(intent-recognizer 分类 REFACTOR/BUGFIX/BOILERPLATE)+ CAUSES 边连接 PATTERN

  • 🧠 认知图谱完善: analyze_workspace 为每个文件 diff 持久化 PATTERN 节点

  • 🧠 认知图谱完善: confirm_rule accept 自动创建 CONSTRAINT 节点(架构约束)

  • 🛠 CognitionRepository: 新增 createEdge() 单边创建方法

  • 🛠 Schema 错误消息: Zod enum 校验失败时显式列出合法值(accept/reject/edit/skip)

  • 🛠 Schema 别名: cognition_query 新增 semanticHash 参数(contextHash 别名)

  • 🛠 validateInput: Zod Required 错误翻译为 field-aware 消息(如 filePath is required)

  • 🧹 清理: prisma/ 下 59 个历史脏数据库文件(dev-1.db ~ dev-37.db)

v1.0.0-alpha.5 (2026-06-18)

  • 🐛 CI 修复: bench workflow DATABASE_URL 路径偏差(prisma/prisma/ -> prisma/)+ Node 22

  • 🐛 pack 修复: VM EOF bug — 新增 pack-from-subdir.mjs 绕过 npm tar 路径问题

  • 🐛 License: 修复 sentinel 注释导致 CI license:check 失败

  • 📄 文档: README 精简安装步骤(auto prepare + Prisma generate)

v1.0.0-alpha.4 (2026-06-18)

  • 🛠 工程: 新增 .env.example 配置模板,覆盖 DATABASE_URL / LOG_LEVEL

  • 🛠 工程: 清理 prisma/ 下 37 个 CI/测试残留 .db 文件,加入 .gitignore 全局匹配

  • 🛠 测试: 修复 cognition-repository 性能测试偶发超时(timeout 5s → 15s + semanticHash 去重)

  • 🛠 文档: 修正 README 全文 DATABASE_URL 默认值与代码实际值不一致(dev.dbmcp-cognition.db

  • 🛠 文档: 快速开始新增 .env.example 引导,替换硬编码路径示例

v1.0.0-alpha.3 (2026-06-18)

  • 🔴 修复: HTTP transport 每次请求重新创建 transport 导致崩溃 — 改为启动时连接一次

  • 🔴 修复: detectLang 缺失 Java/Vue/XML/YML/YAML 等 5 种语言覆盖率

  • 🔴 修复: CaptureDiffSchema.originalContent.min(1) 放宽为 .optional().default(""),新文件不再被拒绝

  • 🟡 修复: HTTP transport 补齐 governance_pause_arbitrator / governance_rollback_arbitration 工具注册

  • 🟡 修复: cognition_update_config TOOLS schema 补齐 expertMode 字段

  • 📦 首次发布 npm 包: npm install governflow@1.0.0-alpha.7

v1.0.0-alpha.2 (2026-06-17)

  • 20 MCP 工具完整实现 (Diff/Rule/Cognition/Governance/Workflow/Immune 六分类)

  • 认知图引擎 (CognitionNode + CognitionEdge + BFS 遍历)

  • AST 约束求解器 + 意图识别器

  • 策略引擎 + 规则免疫 + 审批工作流 + 影子服务

  • Streamable HTTP + stdio 双传输协议

  • Prisma + SQLite 数据持久层

License

Apache-2.0 © 2026 熊高锐

Available Tools

28 tools
analyze_projectC

Scan a project directory to extract file stats, detect coding conventions, and batch-create cognition nodes for governance initialization

ParametersJSON Schema
NameRequiredDescriptionDefault
deepScanNo
maxFilesNo
projectIdNo
projectPathYes
excludePatternsNo
includePatternsNo
generateInitialRulesNo

TDQS

C2.7/5.0
Behavior3/5

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

No annotations are provided, so the description is the sole source. It mentions 'batch-create cognition nodes' which implies state mutation, but does not disclose destructive potential, permission levels, or side effects. Some behavioral context is added but incomplete.

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?

Single sentence front-loads the action but is relatively long (19 words). It conveys the core purpose without wasted words, but could be split for clarity. Acceptable but not optimal.

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 7 parameters, no output schema, and no annotations, the description fails to cover necessary details like return format, error behavior, or how 'cognition nodes' are created. Many sibling tools relate to cognition, but context is not provided for this specific tool.

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

Parameters1/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 information about any of the 7 parameters. The agent must infer meaning from names alone, which is insufficient. The description could have explained key parameters like 'deepScan', 'excludePatterns', or 'generateInitialRules'.

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 clearly states the action (scan), resource (project directory), and multiple outcomes (extract file stats, detect coding conventions, batch-create cognition nodes). It distinguishes itself from siblings like 'analyze_workspace' by specifying governance initialization, though does not explicitly differentiate.

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 explicit guidance on when to use vs alternatives. The description implies use for governance initialization but lacks when-not or prerequisite information. Without sibling comparisons, the agent cannot easily decide.

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

analyze_workspaceC

Analyze a git workspace diff for rule violations

ParametersJSON Schema
NameRequiredDescriptionDefault
pathsNo
taskIdNo
baseCommitYes
headCommitNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided; the description only states the primary action without disclosing behavioral traits such as read-only nature, side effects, authorization requirements, or return format.

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 description is a single concise sentence, but it is too brief for a tool with 4 parameters and no schema descriptions. Every sentence should earn its place, but here it is under-specified.

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 the complexity (4 parameters, no output schema, no annotations), the description is incomplete. It does not cover return values, error behavior, or prerequisites, leaving significant gaps for an AI agent.

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

Parameters1/5

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

Schema description coverage is 0%, and the tool description does not elaborate on any parameter meaning. For a 4-parameter tool with a required baseCommit, the description adds no value beyond parameter names.

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

Purpose5/5

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

The description clearly states the verb 'analyze', the resource 'git workspace diff', and the purpose 'for rule violations'. It distinguishes from siblings like capture_diff (captures diff) and query_rules (queries rules) by specifying the analysis goal.

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 guidance on when to use this tool versus alternatives like capture_diff, query_rules, or analyze_project. The description lacks explicit context for appropriate usage or exclusions.

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

capture_diffC

Capture and analyze a code diff for rule violations

ParametersJSON Schema
NameRequiredDescriptionDefault
filePathYes
languageYes
projectIdNo
modifiedContentYes
originalContentYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose any behavioral traits such as side effects, authorization requirements, or data persistence. It only states the basic action.

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

Conciseness2/5

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

The description is a single sentence, which is too brief given the tool has 5 parameters and no output schema. While concise, it lacks necessary detail, making it under-specified rather than efficiently informative.

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 description does not cover return values, behavior on error, or any contextual details for a tool with 5 parameters and no output schema. It leaves significant gaps in understanding the tool's full behavior.

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

Parameters1/5

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

With 0% schema description coverage and no parameter descriptions in the tool description, the agent receives no additional context beyond the property names in the schema. The description does not explain what 'filePath', 'originalContent', 'modifiedContent', 'language', or 'projectId' represent.

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

Purpose5/5

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

The description clearly states the verb 'Capture and analyze' and the resource 'code diff' with a specific purpose 'for rule violations'. It distinguishes from sibling tools like 'query_rules' which are about querying existing rules, not analyzing diffs.

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 provides no guidance on when to use this tool versus alternatives, no prerequisites, and no when-not-to-use conditions. It simply describes what it does.

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

cognition_approve_injectionC

Approve, reject, or override a pending injection proposal

ParametersJSON Schema
NameRequiredDescriptionDefault
decisionYes
proposalIdYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden but only states the action. It does not disclose side effects, required permissions, or what happens upon each decision. For a mutation tool, this omission is significant.

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?

The description is very concise (one sentence, 7 words). It front-loads the key actions but omits necessary detail; however, it avoids jargon or redundancy. It earns its place but could expand slightly without losing 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?

Given the tool's simplicity (2 params, no output schema, no annotations), the description is incomplete. It lacks context on when a proposal is 'pending', success/failure responses, and parameter semantics. It barely meets the minimum for an agent to safely invoke it.

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 mentions the three decision values (mapping to the enum) but does not explain the 'proposalId' parameter—its meaning, format, or how to obtain it. The description adds minimal value beyond restating the enum options.

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

Purpose5/5

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

The description clearly states the tool's action with precise verbs (approve, reject, override) and specifies the resource (pending injection proposal). It distinguishes itself from all sibling tools, none of which handle injection approvals.

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 guidance is provided on when to use this tool versus alternatives, when not to use it, or any prerequisites. The description simply states the action without contextual boundaries.

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

cognition_feedbackC

Submit feedback to adjust edge weights

ParametersJSON Schema
NameRequiredDescriptionDefault
edgeIdNo
nodeIdYes
commentNo
outcomeYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It only states 'adjust edge weights', implying a mutation, but lacks details on side effects, permissions, idempotency, or potential consequences. Essential behavioral traits are missing.

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 description is a single sentence, making it concise. However, it is overly terse and fails to include necessary details, reducing its effectiveness. It front-loads the action but sacrifices completeness.

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

Completeness1/5

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

Given 4 parameters with no schema descriptions, no output schema, and no behavioral context, the description is severely incomplete. It does not cover return values, side effects, or how the tool integrates with other cognition tools. The agent lacks sufficient information to use it correctly.

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

Parameters1/5

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

Schema description coverage is 0%, and the tool description provides no explanation for any of the 4 parameters. The agent cannot understand what edgeId, nodeId, comment, or outcome (beyond enum values) represent. This is a critical 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?

The description clearly states the verb 'Submit' and the resource 'feedback', indicating the action. However, it lacks differentiation from sibling tools; while no other tool directly submits feedback, the phrase 'adjust edge weights' is jargon that may not be universally understood. The purpose is specific but not fully transparent.

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 guidance on when to use this tool versus alternatives. The description does not mention prerequisites, when to avoid, or how it compares to sibling tools like cognition_query or confirm_rule. The agent must infer usage without explicit context.

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

cognition_queryC

Query the cognition graph from a context hash

ParametersJSON Schema
NameRequiredDescriptionDefault
maxDepthNo
intentHintNo
contextHashYes

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It only says 'Query', implying read-only, but does not mention side effects, authorization needs, or any other behavioral traits. This is insufficient for an agent to infer safe usage.

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

Conciseness2/5

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

The description is a single sentence, but it is under-specified. Conciseness should not sacrifice necessary detail. There is no front-loading of critical information beyond the basic action.

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

Completeness1/5

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

Given the tool has 3 parameters (1 required), no output schema, and no annotations, the description is severely incomplete. It does not address the role of each parameter, expected output, or any contextual constraints. This tool cannot be reliably invoked from this description alone.

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

Parameters1/5

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

Schema description coverage is 0%, yet the description adds no meaning beyond the schema. The description mentions 'from a context hash' but does not explain the purpose of other parameters (maxDepth, intentHint), nor does it clarify the format or semantics of contextHash.

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

Purpose5/5

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

The description clearly states the action ('Query') and the resource ('cognition graph') along with the key input ('context hash'). It distinguishes this tool from siblings like 'query_rules' or 'list_rules' by specifying the exact resource being queried.

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 guidance is provided on when to use this tool versus alternatives, nor any prerequisites or context for effective use. The description is silent on when this tool is appropriate.

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

cognition_update_configC

Update server configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNo
modeNo

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, so the description must carry full burden. It only says 'Update server configuration' with no disclosure of side effects, persistence, or required permissions. This is insufficient for an agent to understand behavioral implications.

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

Conciseness2/5

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

The description is extremely concise but at the cost of informativeness. One sentence is too brief to convey necessary details, making it more under-specified than concise.

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

Completeness1/5

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

Given the lack of annotations, output schema, and parameter descriptions, the description is severely incomplete. It fails to provide basic context for correct invocation and expected outcomes.

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

Parameters1/5

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

The description does not mention the two parameters ('data' and 'mode') at all, despite zero schema description coverage (0%). The agent cannot infer what values to provide for 'data' or how 'mode' affects behavior.

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 clearly states the action ('update') and the resource ('server configuration'), which is distinct from sibling tools that focus on queries, rules, or session management. However, it could be more specific about which server configuration.

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 guidance on when to use this tool versus alternatives, such as cognition_validate or cognition_query. No context about prerequisites or common use cases.

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

cognition_validateC

Validate code content against an AST template

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYes
targetFileContentYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states validation but omits details like side effects, permissions needed, error behavior, or return values.

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?

The description is a single sentence, concise and to the point. However, it could benefit from slightly more detail without losing conciseness.

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

Completeness1/5

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

Given no output schema, no annotations, and bare parameter info, the description is severely incomplete. The tool's complexity (AST validation) demands more context for correct invocation.

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

Parameters1/5

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

Schema description coverage is 0%. The description does not explain the parameters 'nodeId' or 'targetFileContent', failing to clarify what the AST template is or how to provide code content.

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

Purpose5/5

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

The description clearly states the tool validates code content against an AST template, using a specific verb and resource. It distinguishes itself from sibling tools like query_rules or capture_diff, which have different purposes.

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 guidance on when to use this tool versus alternatives. It does not specify prerequisites, conditions, or when not to use it, leaving the agent without context for decision-making.

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

confirm_ruleC

Accept, reject, edit, or skip a suggested rule

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
ruleIdYes
editedPatternNo
editedSuggestionNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description fully carries the burden of behavioral disclosure. It does not explain what each action does (e.g., whether accepting creates a rule, rejecting deletes it, what 'edit' modifies, or what 'skip' means). The side effects are unclear.

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 description is a single sentence, which is concise but sacrifices necessary detail. It is front-loaded with the action verb, but the lack of structure or additional sentences leaves it insufficiently informative.

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

Completeness1/5

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

Given 4 parameters and no output schema, the description is grossly incomplete. It does not explain when editedPattern is required, how each action affects the system, or what the tool returns. Essential context for correct usage is missing.

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

Parameters1/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. However, it only mentions the actions (which correspond to the 'action' parameter), providing no explanation of ruleId, editedPattern, or editedSuggestion. Their meanings and usage are entirely absent.

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 clearly states the tool's purpose: to accept, reject, edit, or skip a suggested rule. It lists all possible actions, making the core functionality unambiguous. However, it could be improved by distinguishing it from siblings like list_rules or query_rules.

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 provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, conditions for each action, or situations where another tool would be more appropriate.

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

generate_rules_from_cognitionC

Explicitly learn a governance rule from a (language, pattern, suggestion) triple, building the cognition closure (PATTERN→INTENT→CONSTRAINT) and a pending shadow Rule

ParametersJSON Schema
NameRequiredDescriptionDefault
intentNo
patternYes
filePathNo
languageYes
ruleTypeNo
projectIdNo
suggestionYes
intentConfidenceNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits. It mentions building a 'pending shadow Rule' but does not clarify whether the action is destructive, requires permissions, or what side effects occur. The term 'pending' is vague.

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?

The description is a single sentence of 20 words, which is concise and front-loaded with the primary action. However, it sacrifices necessary detail 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?

Given 8 parameters, no output schema, and a complex governance operation, the description is incomplete. It fails to explain the return value, the lifecycle of the shadow rule, or how inputs like intentConfidence and ruleType influence behavior.

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%, yet the description only explains the 'language, pattern, suggestion' triple but omits the other 5 parameters (intent, filePath, ruleType, projectId, intentConfidence). No parameter meaning is added beyond the schema's empty descriptions.

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 it learns a governance rule from a triple of language, pattern, suggestion, which is specific but uses jargon ('cognition closure', 'pending shadow Rule') that may obscure the core action. It does not sufficiently distinguish from sibling tools like cognition_query or confirm_rule.

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 guidance is provided on when to use this tool versus alternatives such as capture_diff, query_rules, or resolve_conflict. The description lacks context for appropriate invocation or exclusions.

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

governance_pause_arbitratorC

Pause the automatic constraint arbitrator for N minutes

ParametersJSON Schema
NameRequiredDescriptionDefault
minutesYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It only says 'pause' but does not disclose effects, required permissions, reversibility, or behavior after N minutes. Minimal behavioral context.

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 description is one short sentence with no wasted words, but it sacrifices informativeness for brevity. Could include more detail without becoming verbose.

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, and minimal description, the tool is underspecified. Lacks information on return values, side effects, or operational context for pausing an arbitrator.

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%, but the description merely restates the parameter ('for N minutes') without adding meaning like consequences of different values (e.g., 1 vs 1440). Fails to compensate for missing schema descriptions.

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

Purpose5/5

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

The description clearly states the action ('pause'), the resource ('automatic constraint arbitrator'), and scope ('for N minutes'). It is specific and distinguishes this tool from siblings like 'governance_rollback_arbitration'.

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 guidance on when to use this tool, when not to, prerequisites, or alternatives. The description lacks any usage context beyond the basic action.

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

governance_rollback_arbitrationC

Rollback auto-resolved conflicts since an ISO datetime

ParametersJSON Schema
NameRequiredDescriptionDefault
sinceYes

TDQS

C2.5/5.0
Behavior1/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states the action without describing side effects, reversibility, authorization needs, or what happens to the conflicts post-rollback.

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?

The description is a single, front-loaded sentence that efficiently conveys the core action. However, it could be expanded with critical details without losing conciseness.

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 the low complexity (1 parameter, no output schema), the description is too minimal. It lacks essential context such as return values, effects on the system, and any dependencies.

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?

The description mentions 'ISO datetime' for the 'since' parameter but does not specify the exact format or constraints. With 0% schema description coverage, this adds minimal value beyond the parameter name.

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 clearly states the verb 'Rollback' and resource 'auto-resolved conflicts' with an ISO datetime parameter. However, it does not differentiate from sibling tools like 'resolve_conflict' or 'confirm_rule', leaving some ambiguity about the specific scope.

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 guidance is provided on when to use this tool versus alternatives such as 'resolve_conflict'. There are no exclusions or context about prerequisites or typical scenarios.

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

list_rulesC

List rules with optional filters

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
scopeNo
offsetNo
statusNo
languageNo
projectIdNo

TDQS

C2.2/5.0
Behavior2/5

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

No annotations provided; description only says 'with optional filters' but doesn't disclose behavioral traits like pagination, auth requirements, or potential side effects.

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

Conciseness2/5

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

Extremely brief at 5 words, but under-specification masks conciseness. Lacks necessary detail to be useful.

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

Completeness1/5

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

With 6 unparameterized parameters, no output schema, and no annotations, the description is grossly insufficient for an AI agent to understand tool behavior.

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 meaning beyond parameter names. The phrase 'optional filters' is too generic to compensate for the lack of parameter explanations.

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?

Description states 'List rules with optional filters', which is a clear verb+resource. However, it does not differentiate from sibling tool 'query_rules', making it somewhat vague.

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 guidance on when to use this tool over alternatives like query_rules. No context provided.

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

plugin_listA

List all loaded plugins with status and registered extensions

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

Description indicates a read-only listing action but does not provide additional behavioral details beyond the obvious. Since annotations are absent, the description bears the full burden but remains somewhat minimal.

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?

Single sentence, no wasted words. Front-loaded with core purpose.

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 zero-parameter list tool, the description is largely complete. It covers what it does and the output content. Minor gap: could mention it only shows already loaded plugins, but that is implicit.

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?

No parameters, so baseline 4 per guidelines. Schema coverage is 100% and description adds no param info, which is acceptable.

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

Purpose5/5

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

Clearly states 'List all loaded plugins with status and registered extensions', specifying the verb (list), resource (loaded plugins), and scope (all, with status and extensions). Distinguished from sibling tools like plugin_load and plugin_unload.

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 guidance on when to use this tool versus alternatives (e.g., plugin_load, plugin_unload). No when-not-to-use or prerequisites mentioned.

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

plugin_loadA

Load a GovernFlow plugin from an NPM package name or local file path

ParametersJSON Schema
NameRequiredDescriptionDefault
configNo
sourceYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It only states the basic action without mentioning side effects like network requests (installing from NPM), file system access, validation, or whether the operation is reversible. Critical safety information is missing for a tool that loads external code.

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?

The description is a single sentence that conveys the core purpose without any unnecessary words or details. It is highly concise and easy to parse.

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?

Despite having two parameters and no output schema, the description provides no information about what happens after loading (e.g., return value, errors, state changes). For a plugin loader, an agent needs to know if loading is synchronous, if it validates the plugin, or if it returns an identifier. The omission 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?

The description hints that the 'source' parameter can be an NPM package name or local file path, adding some meaning beyond the schema. However, it completely ignores the 'config' parameter (a nested object), which remains unexplained. With 0% schema coverage, the description should compensate more.

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

Purpose5/5

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

The description clearly states the action (Load), the resource (GovernFlow plugin), and the means (from NPM package name or local file path). It is specific and distinguishes itself from siblings like plugin_unload and plugin_list, which are different operations. There is no ambiguity about what the tool does.

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?

The description implies usage when you need to load a plugin, and no sibling tool provides an alternative loading mechanism, so exclusions are not needed. However, it does not explicitly state prerequisites or when not to use it, which prevents a perfect score.

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

plugin_unloadB

Unload a loaded plugin by plugin name or instance ID

ParametersJSON Schema
NameRequiredDescriptionDefault
pluginNameYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided. Description only implies a destructive action but does not disclose side effects, reversibility, or required permissions.

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?

Single sentence, no redundant information. Could potentially include a brief note on parameter usage, but overall efficient.

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 and no annotations, the description is insufficient. Does not explain what happens after unloading, confirmation, or error conditions.

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?

Only one parameter (pluginName) with 0% schema description coverage. Description adds that it can be a name or instance ID, but this is ambiguous since schema expects a string without clarifying format.

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

Purpose5/5

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

Description clearly states the action (unload) and resource (plugin), with specific criteria (by name or instance ID). Distinguishes from sibling tools like plugin_load and plugin_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?

No guidance on when to use this tool vs alternatives. No mention of prerequisites or when not to unload a plugin.

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

query_rulesC

Query rules by language and file path

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
filePathYes
languageYes
maxRulesNo
matchModeNo
projectIdNo
fileContentNo

TDQS

C2/5.0
Behavior2/5

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

With no annotations, the description bears full responsibility for disclosing behavior. It only states the query parameters, omitting whether the operation is read-only, what results are returned, or any side effects. The agent cannot infer safety or scope.

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

Conciseness2/5

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

The description is extremely concise (one sentence) but at the cost of omitting crucial information. While there is no redundancy, the brevity leads to under-specification, making it less helpful than a longer, more detailed description.

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

Completeness1/5

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

Given the tool's complexity (7 parameters, no output schema, no schema descriptions), the description is severely incomplete. It does not cover return values, error conditions, or the behavior of optional parameters, leaving the agent with insufficient context for correct invocation.

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

Parameters1/5

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

The description mentions only 2 of 7 parameters ('language', 'filePath'), leaving 'tags', 'maxRules', 'matchMode', 'projectId', and 'fileContent' completely unexplained. Schema description coverage is 0%, so the description must compensate but fails to add any semantic value for the majority of parameters.

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 specifies the verb 'query' and resource 'rules' along with key parameters 'language' and 'filePath', making the basic purpose clear. However, it does not differentiate from the sibling 'list_rules' and does not clarify what 'query' entails (e.g., filtering vs. retrieving).

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 guidance is provided on when to use this tool versus alternatives like 'list_rules' or 'cognition_query'. There are no hints about prerequisites, use cases, or exclusions.

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

resolve_conflictD

Resolve a rule conflict

ParametersJSON Schema
NameRequiredDescriptionDefault
conflictIdYes
resolutionYes
batchAllSessionNo

TDQS

D1.8/5.0
Behavior1/5

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

No annotations exist, so the description bears full responsibility for disclosing behavioral traits. The phrase 'resolve a rule conflict' implies a mutation, but the description fails to state whether it alters state, requires permissions, or is reversible, making it poorly transparent.

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

Conciseness2/5

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

The description is a single short sentence, which is concise but under-specified. It lacks essential information, making it more of an underspecification than efficient conciseness.

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

Completeness1/5

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

With three parameters, no output schema, and no annotations, the description is extremely incomplete. It fails to provide sufficient context for an agent to use the tool correctly, as none of the parameters or their roles are explained.

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

Parameters1/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 information about the three parameters (conflictId, resolution, batchAllSession). The enum values in resolution are not explained, which is critical for correct invocation.

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?

Description states 'resolve a rule conflict', which is a verb+resource but lacks specificity. It is clear enough to distinguish from siblings like 'confirm_rule' or 'capture_diff', but does not elaborate on what resolving entails, making it vague.

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 guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, exclusions, or context, leaving the agent to infer usage 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.

session_contextC

Set or get a shared context value within a session

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
valueNo
actionYes
sessionIdYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations are missing, so the description bears full responsibility for behavioral disclosure. It states the tool 'sets or gets' but omits side effects: overwrite behavior, persistence, value limits, or required permissions. For a mutation-capable tool, this is insufficient.

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?

The description is a single, front-loaded sentence with no wasted words. It achieves conciseness, but could be expanded slightly to cover key details without losing efficiency.

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

Completeness1/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% schema coverage, the description is severely incomplete. It does not explain return values (for 'get'), error conditions, or behavior for missing keys. A tool with 4 parameters requires more contextual detail for correct invocation.

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 mentions 'set or get' and 'shared context value', hinting at key and value roles, but does not explain each parameter explicitly. For 'action' it alludes to enum values, but nothing about 'value' being required only for 'set', or that 'key' is the identifier. The description adds minimal meaning beyond the raw 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 clearly states the tool's purpose: 'Set or get a shared context value within a session'. It uses a specific verb (set/get) and resource (shared context value). It distinguishes from sibling session management tools (create, join, leave, etc.) which deal with session lifecycle, not intra-session context.

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 explicit guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., session must exist via session_create) or when to use get vs set. The action parameter implies usage, but the description lacks context for an AI agent to decide correctly.

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

session_createC

Create a new collaborative session for multi-turn governance workflows

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
ttlMsNo
projectIdNo
creatorNameYes
initialContextNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided; description carries full burden but only states 'create'. Does not disclose side effects, authentication needs, idempotency, or behavior with duplicates.

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?

Single sentence of 10 words is very concise but lacks essential details. Front-loaded with action but is under-specified for a 5-parameter tool.

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

Completeness1/5

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

Given 5 parameters (1 nested object), no output schema, and no annotations, the description is severely incomplete. No return value, error conditions, or session lifecycle context provided.

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

Parameters1/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 information about the five parameters. Agent must guess semantics of name, ttlMs, projectId, creatorName, and initialContext.

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

Purpose5/5

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

Description clearly states the verb 'Create', the resource 'session', and the purpose 'for multi-turn governance workflows'. It distinctively labels this as the creation operation among sibling session 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?

No guidance on when to use this tool vs alternatives like session_join or session_status. Does not specify prerequisites or context for creation.

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

session_joinC

Join an existing collaborative session

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNo
sessionIdYes
participantNameYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, and the description only says 'Join an existing collaborative session' without disclosing behavioral details like permissions, side effects, or error handling, which are critical for a mutation tool.

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 description is a single sentence, which is concise but too brief to be fully informative; it could include more detail without becoming verbose.

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 3 parameters, no output schema, and no annotations, the description is insufficient. It does not cover return values, how to obtain sessionId, or role implications, making it incomplete for an agent to use correctly.

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

Parameters1/5

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

The schema has 0% parameter description coverage, and the description does not explain the meaning of parameters (e.g., role options, sessionId format), leaving the agent without necessary guidance.

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

Purpose5/5

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

The description 'Join an existing collaborative session' clearly states the verb 'join' and the resource 'existing collaborative session', distinguishing it from siblings like session_create (create) and session_leave (leave).

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 guidance is given on when to use this tool vs alternatives, such as preconditions (session must exist) or when not to use (e.g., to create a session, use session_create).

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

session_leaveC

Leave a collaborative session

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
participantNameYes

TDQS

C2.3/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 full burden. It only states 'leave' without disclosing side effects (e.g., whether the session is closed, if other participants are notified, or if resources are released).

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

Conciseness2/5

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

The description is extremely short but under-specified. It sacrifices completeness for brevity, lacking sufficient detail to guide tool usage.

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

Completeness1/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 minimal description, the tool is severely incomplete. The agent lacks critical context about input validation, return values, and behavioral effects.

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

Parameters1/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 information about the 'sessionId' or 'participantName' parameters, failing to clarify their format or purpose.

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 clearly states the action (leave) and the resource (collaborative session), making the purpose unambiguous. However, it does not differentiate from sibling tools like session_join or session_create beyond the verb.

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 guidance on when to use this tool versus alternatives (e.g., session_status, session_list). It lacks context about prerequisites or post-conditions.

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

session_listA

List all active sessions, optionally filtered by project

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNo

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It indicates a read operation ('List') but does not disclose return format, pagination, or what constitutes 'active'. Minimal behavioral context.

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?

Single sentence that is front-loaded and contains no superfluous words. Every part earns its place.

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?

Covers the basic function but lacks details on return values (no output schema) and definition of 'active'. Could be more informative given the absence of annotations and output schema.

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 description coverage is 0%, so the description compensates partially by stating 'optionally filtered by project', linking projectId to filtering. However, it adds no details on value format or constraints beyond the schema's type string.

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

Purpose5/5

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

The description clearly states the tool lists all active sessions with an optional project filter. It distinguishes from sibling tools like session_create, session_join, etc., which are for creating or joining sessions.

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?

No explicit guidance on when to use this tool versus alternatives. The context is clear from sibling tool names, but no exclusions or conditions are provided.

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

session_statusC

Get session details, participants, context, and optionally tool call history

ParametersJSON Schema
NameRequiredDescriptionDefault
sessionIdYes
historyLimitNo
includeHistoryNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It mentions optional history retrieval but omits behavioral details such as authentication needs, rate limits, side effects, or what happens when the session does not exist.

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?

The description is a single concise sentence with no redundant words. However, it lacks structure for multiple parameters and could benefit from bullet points or clearer separation.

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?

No output schema exists, so description should explain return values. It lists 'session details, participants, context, and optionally tool call history' but is vague. Missing error conditions, pagination hints, and field descriptions makes the tool incomplete for an agent.

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%, so description must explain parameters. It only hints at includeHistory via 'optionally tool call history' but does not describe sessionId, historyLimit, or their formats. Nearly all parameter meaning relies solely on schema names, which is insufficient.

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 'Get session details, participants, context' which clearly indicates a read operation on a session resource. It distinguishes itself from sibling tools like session_create or session_join, but is vague compared to session_context which may have a narrower scope.

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 guidance on when to use this tool versus alternatives like session_list or session_context. No prerequisites, exclusions, or context are mentioned, leaving the agent to infer usage.

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

webhook_listA

List all registered webhooks and delivery statistics

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/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 full burden. It implies a read-only operation ('List'), but does not explicitly state that no modifications occur, auth requirements, or any other behavioral traits. For a simple list, this is minimally adequate but lacks full transparency.

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?

The description is a single sentence of six words, with no wasted content. Every word earns its place, and the most important information is front-loaded.

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?

Given no parameters, no output schema, and no annotations, the description sufficiently states what the tool does. It could elaborate on the format of the returned data, but the current level is adequate for a simple list.

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 has zero parameters, so schema description coverage is 100%. According to guidelines, baseline for 0 parameters is 4. The description adds no parameter-specific information, but none is needed.

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

Purpose5/5

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

The description 'List all registered webhooks and delivery statistics' clearly states the verb (List) and resource (registered webhooks), and includes the additional detail 'delivery statistics', which distinguishes it from siblings like webhook_register or webhook_test.

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?

The description clearly indicates when to use this tool: to retrieve all registered webhooks and their delivery statistics. It does not explicitly state when not to use it or provide alternatives, but the purpose is straightforward and no major ambiguity exists given the sibling tools.

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

webhook_registerB

Register a webhook URL to receive governance events (rule created, conflict resolved, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
eventsYes
secretNo
projectIdNo

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description must cover behavioral traits, but it only states a simple action. Missing details on idempotency, error handling, authentication requirements, or side effects.

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?

The description is a single sentence, front-loaded with the core purpose. It is concise but could include more meaningful details without becoming verbose.

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 4 parameters, no output schema, and no annotations, the description lacks information on return values, parameter constraints, and setup requirements, leaving gaps for an agent.

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?

The input schema has 4 parameters with 0% description coverage, and the tool description adds no explanation for individual parameters beyond their names. The 'secret' and 'projectId' fields are not clarified.

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

Purpose5/5

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

The description clearly states the action ('Register a webhook URL') and the purpose ('to receive governance events') with examples of events. It distinguishes from sibling tools like webhook_unregister and webhook_list.

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 description implies usage for setting up event notifications but provides no explicit guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions.

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

webhook_testB

Send a test ping to a registered webhook to verify connectivity

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYes

TDQS

B3.2/5.0
Behavior2/5

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

The description discloses the basic behavior (test ping to verify connectivity) but lacks details on expected response, authentication, or error handling. With no annotations, more disclosure is needed.

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?

The description is a single, front-loaded sentence that conveys the essential action and purpose without extraneous words.

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 low-complexity tool with one parameter and no output schema, the description is minimally adequate but lacks parameter details that would help the agent use it correctly.

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

Parameters1/5

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

The sole parameter 'webhookId' has no description in the schema (0% coverage) and the tool description provides no context about its format, source, or how to obtain it. This leaves the agent guessing.

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

Purpose5/5

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

The description clearly states the action ('send a test ping'), the target ('registered webhook'), and the objective ('verify connectivity'). It effectively distinguishes from sibling tools like webhook_register and webhook_list.

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?

While the purpose is clear, no explicit guidance is given on when to use this tool versus alternatives, nor are there any prerequisites or post-conditions mentioned.

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

webhook_unregisterA

Remove a registered webhook by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
webhookIdYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations provided, so the description carries the burden. It discloses the destructive nature of the action, but lacks details on side effects, authentication, or error conditions. Adequate for a straightforward removal.

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?

One sentence with no wasted words, directly conveying the purpose. Perfectly concise.

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 tool with one parameter and no output schema, the description is sufficient to understand the core action. Could mention error cases, but overall complete for a simple unregister operation.

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?

The description mentions 'by ID' which hints at the parameter's role, but schema coverage is 0% and no additional info is given about the webhookId format or how to obtain it. Minimal value beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'Remove' and the resource 'registered webhook by ID', making the purpose specific and distinguishable from siblings like webhook_register and webhook_list.

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?

No explicit guidance on when to use or when not to use this tool, but the purpose is clear and sibling tools provide context for alternatives. A simple tool with implied usage.

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. Dates show when Glama detected each change.

  1. 28 tool updatesv1.0.0-alpha.9
    • First observedanalyze_project
    • First observedanalyze_workspace
    • First observedcapture_diff
    • First observedcognition_approve_injection
    • First observedcognition_feedback
    • First observedcognition_query
    • First observedcognition_update_config
    • First observedcognition_validate
    • First observedconfirm_rule
    • First observedgenerate_rules_from_cognition
    • First observedgovernance_pause_arbitrator
    • First observedgovernance_rollback_arbitration
    • First observedlist_rules
    • First observedplugin_list
    • First observedplugin_load
    • First observedplugin_unload
    • First observedquery_rules
    • First observedresolve_conflict
    • First observedsession_context
    • First observedsession_create
    • First observedsession_join
    • First observedsession_leave
    • First observedsession_list
    • First observedsession_status
    • First observedwebhook_list
    • First observedwebhook_register
    • First observedwebhook_test
    • First observedwebhook_unregister

TDQS

C2.8/5.0
Disambiguation4/5

Most tools have distinct purposes (e.g., session, webhook, plugin groups), but 'capture_diff' and 'analyze_workspace' both analyze diffs for rule violations, and 'query_rules' vs 'list_rules' overlap in listing rules. This causes minor ambiguity.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern using snake_case, with domain prefixes (cognition_, governance_) applied uniformly. No mixed conventions or irregularities.

Tool Count3/5

28 tools is slightly above the typical well-scoped range (3-15). The broad domain (rule management, cognition, sessions, webhooks, plugins) justifies the count, but it feels heavy for a single server.

Completeness3/5

Core rule lifecycle (create via generate, confirm/edit, list, query, resolve conflicts) is covered, but a 'delete_rule' tool is missing. Session, webhook, and plugin management appear complete, leaving minor gaps.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI agents with queryable, version-controlled project rules and coding standards. Enables validation, rule-based guidance, and task summaries to keep AI work aligned with your project's conventions without repeating context.
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Centralizes AI behavior rules and applies them across tools like Codex, Claude Code, and Cursor, enabling agents to fetch up-to-date rules before responding.
    1
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    Enables LLMs to efficiently read, write, and refactor code using precise AST-based operations, reducing token usage and context window waste.
    25
    33
    3
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sole03/governflow'

If you have feedback or need assistance with the MCP directory API, please join our Discord server