Skip to main content
Glama

OpenWorkProof

让智能依人的目的而行动,让每一次行动经得起人的判断。

OpenWorkProof 是 AI Agent 工作契约与可验证执行协议。

它记录谁授权了任务、Agent 实际执行了什么、是否超出约定范围、验证者得出了什么结论, 以及验收者最终接受还是拒绝。每次工作都可以导出为一套签名证据包。第三方不需要接入 原系统,只凭证据包和公钥,就能独立验证整条工作链。

OpenWorkProof 不保证 Agent 的结果一定正确,也不替客户作出验收决定。它确保授权有来源、 执行有证据、验证与验收不会被混为一谈,并把接受、拒绝、撤销和申诉的权利留给人。

安装 · 工作原理 · Human Agency · DeepSeek Harness · 协议文档 · English

Core 公开版本: 1.4.0
DeepSeek Harness 插件候选: 0.1.0, 尚未发布 npm
core focused: 97 passed / 0 failed / 0 skipped
plugin: 80 passed / 0 failed / 0 skipped
candidate: 186 passed / 0 failed / 0 skipped
required-live: 4373 passed / 0 failed / 0 skipped
许可证: Apache-2.0

公开发布状态请直接回读 PyPIGitHub ReleaseMCP Registry。 Core 1.4.0 已发布到 PyPI、GitHub Release 与 MCP Registry;DeepSeek Harness 插件 0.1.0 仍是本地候选,尚未发布 npm 或插件市场。两者是独立的发布事实。

Agent 说 完成了,还缺什么

MCP 连接 Agent 与工具,A2A 连接 Agent 与 Agent。它们解决如何连接和通信,不能单独 证明一次工作是否获得授权、是否按约执行,以及最终由谁验收。

设想一家 AI 服务商让 Agent 修改客户的代码仓库。Agent 提交了补丁,也说测试已经通过。 客户仍然需要回答:

  1. 谁授权 Agent 修改这个仓库?

  2. 它是否只使用了允许的工具、路径、配额和期限?

  3. 补丁、测试和报告是否来自同一次执行?

  4. 验证通过是否被错误地写成客户已经接受?

  5. 发生争议时,第三方能否在不接入双方系统的情况下复核事实?

日志能告诉人系统输出了什么,却很难独立证明授权、因果关系和最终验收。平台也不能只用 自己的数据库证明自己可信。

OpenWorkProof 把一次 Agent 工作变成一条可以带走、保存和复核的证据链:

客户冻结任务与验收条件
        ↓
有权主体签署授权
        ↓
Agent 执行,每个重要动作留下签名凭证
        ↓
Verifier 独立验证证据与因果链
        ↓
Acceptor 独立接受或拒绝
        ↓
第三方离线复核完整结果

OpenWorkProof 不让 Agent 变得更聪明。它让 Agent 的工作更值得委托。

Related MCP server: Agent Receipts

OpenWorkProof 是什么

OpenWorkProof 是可以嵌入现有 Agent、CI、MCP 和多 Agent 编排器的开放协议层。 它把六类事实连接起来:

事实

回答的问题

工作目的与范围

Agent 被要求完成什么

签名授权

谁允许它做这件事

事前决策

这个动作现在是否可以执行

行动凭证

Agent 实际做了什么

独立验证

证据是否完整,结论是否成立

人工验收

谁最终接受或拒绝

最终交付的不是一份只能在原平台查看的日志,而是一套可离线验证的签名证据包。持有证据包 和公钥的第三方,可以独立复核授权来源、执行范围、证据摘要、验证结论和验收结果。

它不是什么

OpenWorkProof 不是 Agent OS,也不是新的模型或编排框架。它不负责替 Agent 规划任务, 也不声称能够判断所有业务结果是否正确。

Human Agency Profile 是授权边界,不是员工评分、绩效监控、法律责任转移、自动担责、资金托管或合规认证。

OpenWorkProof 也不托管资金,不执行付款,不代替法律仲裁。协议状态可以证明证据达到某个 阶段,但不能制造外部商业事实。

工作原理

一条完整工作链由以下对象组成:

WorkOrder -> CapabilityGrant -> PolicyDecision -> ActionReceipt
          -> VerificationDecision -> AcceptanceDecision

对象

作用

WorkOrder

冻结目标、源版本、路径、工具、期限和验收条件

CapabilityGrant

由有权主体签署,只能缩小或消费,不能扩权

PolicyDecision

在工具执行前作出允许或拒绝决定

ActionReceipt

绑定请求、授权决定、执行结果和证据摘要

VerificationDecision

由独立 Verifier 对冻结范围和证据作出判断

AcceptanceDecision

由 WorkOrder 绑定的 Acceptor 接受或拒绝交付

协议使用 Ed25519 签名、规范化 JSON、追加式账本和内容摘要。修改 WorkOrder、授权、 receipt、证据、公钥或因果父集,离线回放都会失败并关闭流程。

详细 Schema 位于 specs,当前实现与历史快照位于 docs/status.md

六个角色,各自保留边界

角色

职责

Maintainer

初始化 WorkOrder,签发根授权

Manager

委派受限权限,发起工作与证明组合

Developer

在授权范围内读取、修改和运行测试

Verifier

使用独立密钥验证结果和证据

Sidecar

提供受信任的执行事实与 checkpoint

Acceptor

独立签署接受、拒绝或权限 profile 变更

角色分离的目的不是增加组织层级,而是防止同一个 Agent 同时充当执行者、验证者和最终 验收者。系统可以自动化流程,但不能让权力边界在自动化中消失。

Human Agency:能力越强,人的决定权越不能消失

CapabilityGrant 表示系统允许 Agent 使用哪些能力。Human Agency Profile 表示人愿意 让 Agent 自主使用这些能力中的哪一部分。真正有效的权限取以下三者的交集:

WorkOrder 允许的范围
∩ CapabilityGrant 授予的能力
∩ active HumanAgencyProfile 中人的选择

Human Agency Profile 具有三个工程特征:

  • WorkOrder 绑定:profile 不能被挪到另一项任务使用;

  • Acceptor 签名:只有被指定的人类权威可以改变 active profile;

  • 机器可验证:执行前可以确定某个动作是 allowed、reserved 还是 denied。

reserved 动作不会先执行再提醒,而是在执行前返回 AGENCY_HUMAN_DECISION_REQUIRED。appeal 是签名复核请求,只记录异议, 不恢复或扩大权限。只有 Acceptor 签名的 transition 才能撤销当前 profile 或将其替换为另一个 Acceptor 签名的 profile。

完整定义见 Human Agency Profile v0.1, 可运行示例见 examples/human_agency_profile_v01.py

验证与验收必须分开

VERIFIED 只说明 Verifier 按冻结范围和证据得出了验证结论。客户是否接受交付,必须由 WorkOrder 绑定的 Acceptor 独立决定。

OpenWorkProof 使用双签:Verifier 签署验证结果,Acceptor 再签署 AcceptanceDecisionBindingV01。该 binding 把 WorkOrder、Decision、 CompositionReport、验收请求和最终 receipt 精确连接起来。缺失 binding 时,系统拒绝 把两份彼此无关的有效签名拼成一次交付。

Acceptor 私钥不进入 AgentTeams 或 exporter。外部人工验收使用 prepare → sign → commit

  1. 系统生成不包含私钥的草稿;

  2. 外部 Acceptor 独立签名;

  3. 追加式事务提交签名对象;

  4. 导出 Acceptance Bundle;

  5. 第三方离线验证。

owp acceptance-bundle-build LEDGER SURFACE \
  --evidence-root PATH --output DIRECTORY

owp acceptance-bundle-verify DIRECTORY

退出码是闭合的:ACCEPTED=0REJECTED=2operational=4。 AgentTeams 的外部人工验收入口使用 --acceptance-bundle DIRECTORY,只读取外部目录并 调用同一个 verifier,不生成密钥、receipt 或 binding。

VERIFIED != ACCEPTED != PAID/SETTLED/LEGAL AUDIT/ADOPTION

REJECTED 是可验证终态,不是系统错误,也不能写成交付成功。

验证完整性:验证结果本身也要经得起检查

“测试通过”不等于“该验证可信”。如果测试选择器漏掉了本应检查的对象,或者负向控制虽然 失败、却不是按预期原因失败,结论仍然不应进入 VERIFIED

Verification Integrity v0.5 会冻结合格对象集合和负向控制的预期失败特征:

  • POPULATION_CAPTURE_FAILED:实际选择没有覆盖约定的合格对象,结论关闭为 UNKNOWN

  • CONTROL_FAILURE_SIGNATURE_MISMATCH:负向控制的失败原因与登记特征不符,不能把这次失败当作有效证明;

  • 只有人口覆盖和控制证据都成立时,系统才会根据证据给出 VERIFIEDREFUTEDUNKNOWN

这套机制证明“结论由约定范围内的证据支持”,不证明业务结果永远正确。客户采用、付款、 法律效力和上游采纳仍是独立外部事实;没有相应证据时,状态就是 not evidenced

五分钟开始

1. 从公开包安装

公开 PyPI 页面当前状态应以页面回读为准:

python -m pip install openworkproof
owp --help

2. 从源码开发

需要修改协议或接入适配器时,可以从源码安装当前 main

git clone https://github.com/dengyier/OpenWorkProof.git
cd OpenWorkProof
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .
owp --help

3. 运行 Human Agency 最小示例

python examples/human_agency_profile_v01.py

预期输出包含:

profile verified  : True
resolved status   : active
owp.repo_read     : delegated -> allowed
owp.apply_patch   : reserved -> AGENCY_HUMAN_DECISION_REQUIRED

该示例不写应用层文件或账本,也不输出私钥。

4. 验证离线包

已有 Surface Bundle 时:

owp surface-verify PATH

已有 Acceptance Bundle 时:

owp acceptance-bundle-verify DIRECTORY

完整离线验证说明见 docs/offline-verification.md

接入方式

入口

适合谁

从哪里开始

GitHub Action

已有 PR 交付流程的团队

integrations/github/action.yml

CLI

本地验证、CI 和自动化脚本

owp --help

MCP

需要把 OWP 暴露为 Agent 工具的团队

MCP_SERVER.md

AgentTeams

Manager、Developer、Verifier 多角色协作

agentteams/README.md

DeepSeek Harness

需要事前授权、独立复核与外部验收的代码变更

集成说明

Python API

需要嵌入已有平台或服务

src/openworkproof

GitHub Action 的 four-question 对应中文四问报告:

  1. 验证了什么主张;

  2. 看到了什么证据;

  3. 执行受到什么约束;

  4. 现在可以得出什么结论。

报告结论是 VERIFIEDREFUTEDUNKNOWN,并说明是否只达到 READY_FOR_ACCEPTANCE。它不会把协议结论写成客户已经接受或已经付款。

DeepSeek Harness 适配器当前是外部发布 READY 的本地候选,锁定 DeepSeek Harness 0.1.1-rc.2。Audit 只记录观察事实;Enforce 在工具执行前授权,并阻断 原生 writeeditbashpwshstr_replace_editorcordis_definecordis_runcordis_stopcordis_undefine 修改面。安装后的 bundle 默认关闭并视为 NOT_CONFIGURED;只有显式启用并提供私有 case 后才会记录 Audit 证据。/owp-verify 只消费因果关联后的精确补丁 回执;真实 CLI 进程已完成账本回读、独立验证、无私钥验收草稿与离线导出,并在进程重启 后恢复同一已提交 receipt。上述本地预检不等于 npm 发布、外部复现、客户采用或 DeepSeek 官方背书。

宿主版本从实际执行文件解析,包含全局安装常见的符号链接路径;readglobgrepweb_search 四类只读工具也进入闭合 observation 协议并由真实宿主预检覆盖,不会因正常 只读调用使证据 bridge 退出。

当前可以复核的证据

以下是本地候选的工程证据,不是客户采用证明:

验证门

当前结果

core focused

97 passed / 0 failed / 0 skipped

plugin

80 passed / 0 failed / 0 skipped

candidate

186 passed / 0 failed / 0 skipped

required-live

4373 passed / 0 failed / 0 skipped

AgentTeams

Manager、Developer、Verifier 三角色 live preflight 已通过(http://127.0.0.1:18080

离线验证

Surface、Acceptance 与 Human Agency bundle 可独立回放

供应链

candidate inventory、OCI/Docker 工件和哈希绑定已过门

required-live 全量门在 OPENWORKPROOF_AGENTTEAMS_REQUIRED=1AGENTTEAMS_HOMESERVER=http://127.0.0.1:18080 下以 0 failed / 0 skipped 通过; AGENTTEAMS_MATRIX_TOKEN 仅从本机 agentteams-manager 容器只读取得,不打印、不落盘。

Rich #4196、Dify #33013 和 AgentScope #2239 是自有演示与复现实验,用于验证不同项目 类型下的协议路径。它们不是客户案例,也不代表上游项目已经采用 OpenWorkProof。

agentteams_live_environment: evidenced
agentteams_three_role_preflight: evidenced
agentteams_end_to_end_business_execution: not_evidenced
human_acceptance: not_evidenced
customer_adoption: not_evidenced
paid_sow: not_evidenced
deposit: not_evidenced
upstream_adoption: not_evidenced

Verified Agent Delivery

OpenWorkProof Verified Agent Delivery 是协议之上的首个应用切片。它把一次 Agent 工作 组织成可独立验证、可由客户验收的交付事实。

owp delivery-case init CASE_DIR
owp delivery-case inspect CASE_DIR
owp delivery-case verify CASE_DIR
owp delivery-case export CASE_DIR --output-directory OUTPUT_DIR

inspect 从真实 Surface、Acceptance 和 Settlement 证据重新派生状态,不信任磁盘中 预写的结论。export 生成带确定性摘要和完整性 manifest 的第三方复核包。

READY_FOR_SETTLEMENT_REVIEW 只表示证据已经可以交给外部付款方复核,不表示付款或 结算已经发生。BOUND 表示协议对象已经形成确定绑定,也不表示付款、客户采用或法律 认可。

商业材料与准入边界见 docs/commercial/verified-agent-delivery

开放协议与长期方向

OpenWorkProof 当前先解决一件小而具体的事:让一次 Agent 工作可以被独立验证和验收。 当不同组织之间积累了足够多可携带的履约事实,才可能进一步支持 Agent 服务的比较、 交易、争议处理和结算。

单次工作可验证
        ↓
跨组织交付可验收
        ↓
履约事实可携带
        ↓
Agent 服务可以被比较、交易和结算

最后一步是长期方向,不是当前能力。OpenWorkProof 当前不建设商城、钱包、支付通道、 资金托管、保险、公证或法定仲裁。

下一阶段重点:

  • 让更多 Agent 框架和编排器复现协议;

  • 完善 Human Agency 的权限 profile、transition 与 appeal 生态;

  • 增加跨组织真实执行和外部 Acceptor 复现;

  • 用公开、可复核的事实推进协议互操作,而不是用平台锁定换取采用。

参与项目

你可以从以下任何一步开始:

  • 运行最小示例并报告无法复现的地方;

  • 把协议接入一个现有 Agent、CI 或 MCP 工具;

  • 审阅 Schema、威胁模型和真值边界;

  • 提交适配器、测试或文档;

  • 带着一个真实但可脱敏的 Agent 交付问题参与讨论。

贡献说明见 CONTRIBUTING.md。安全问题请使用 GitHub Security Advisories 私下报告。项目使用 Apache-2.0 许可证。

为什么继续做这件事

能力回答 Agent 能做什么,工作契约回答它为什么被允许这样做,证据让行动接受复核。 机器可以执行验证规则,但最终接受、拒绝和承担后果的判断仍然属于人。

我们希望未来的 Agent 可以承担越来越多的工作。能力越强,越应该忠于人明确表达的目的; 系统越自动,授权、证据和申诉越不能消失。

OpenWorkProof 想做的事情很朴素:当人把工作交给 AI,仍然知道自己交出了什么、发生了 什么,以及何时可以说不。

让智能依人的目的而行动,让每一次行动经得起人的最终判断。

Available Tools

29 tools
owp_analyze_repoA

Analyse a repository's structure: file count, languages, dependencies.

Args: source: Local path or remote Git URL to the repository. clone_enabled: If True and source is a URL, clone it to a temporary directory first (default True).

Returns: Repository analysis including file entries, language stats, line counts, and dependency information.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceYes
clone_enabledNo

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior3/5

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

With no annotations, the description carries the burden of behavioral disclosure. It does reveal the cloning behavior (clone to temp directory) and that analysis includes file entries and dependencies, but it omits potential side effects like network usage or cleanup of temporary directories. It's adequate but not exhaustive.

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 concise and well-structured, using Args and Returns sections for clarity. Every sentence earns its place, with no filler or redundancy. The main purpose is front-loaded, and the parameter and return details are presented efficiently.

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

Completeness5/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 parameters) and the presence of an output schema, the description provides sufficient context: clear purpose, parameter semantics, behavioral details, and return value overview. It covers all necessary aspects for an agent to invoke the tool correctly.

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

Parameters5/5

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

Schema coverage is 0%, so the description must explain parameters, and it does thoroughly. 'source' is described as a local path or remote Git URL, and 'clone_enabled' explains its default and behavior conditionally. This adds significant meaning beyond the bare schema titles.

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 function with a specific verb ('Analyse') and resource ('repository's structure'), listing concrete output aspects (file count, languages, dependencies). This distinguishes it from siblings like owp_repo_read, which likely focuses on file contents, making the purpose unmistakable.

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 gives clear context on when to use the tool: whenever repository structure analysis is needed. It also explains the clone_enabled parameter behavior, indicating remote vs local usage. However, it does not explicitly mention alternatives or exclusions, so it falls short of a 5.

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

owp_build_delivery_packageC

Export a public, diagnostic, or customer-private delivery package.

ParametersJSON Schema
NameRequiredDescriptionDefault
ledgerYes
outputYes
privacy_viewYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.4/5.0
Behavior2/5

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

There are no annotations to rely on, so the description carries the burden. The description implies a read/export operation, but it's unclear if this produces a file, returns a link, or triggers a background process. The word 'build' in the name and 'Export' in the description suggest some processing might occur, but the agent is not told about side effects (e.g., does it create a persistent package? Is it idempotent?). No error conditions, permissions, or side-effect disclosures are mentioned.

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, efficient sentence with no fluff. It front-loads the action ('Export') and describes the resource. Every word earns its place. However, it's so brief that it misses important information, which hurts its score below 5, but as a pure exercise in conciseness, it's well-structured.

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

Completeness2/5

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

The tool has three required parameters, no annotations, no schema descriptions, and an output schema (details not shown). However, the description doesn't explain the output, the meaning of the parameters, or the context in which this tool is used. There's no mention of what happens with 'output' (is it a path? a format?), or what 'privacy_view' options exist. The description covers maybe 10% of what an agent would need to use this tool confidently. Given the complexity of the sibling tools (crypto, verification, binding), this is insufficient context.

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

Parameters2/5

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

Schema coverage is 0% and the description doesn't add any parameter-specific meanings. The parameters 'ledger', 'output', and 'privacy_view' have no descriptions in the schema, and the description's mention of 'public, diagnostic, or customer-private' hints at 'privacy_view' values but doesn't connect them clearly. The agent is left to guess the valid values for each parameter, the expected format (e.g., paths, URIs, enums), and how the three parameters interact. For a build tool with 0% coverage, this is a significant gap.

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

Purpose3/5

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

The description 'Export a public, diagnostic, or customer-private delivery package.' uses a clear verb ('Export') and names the resource ('delivery package'), but likely a type of package. The phrase 'public, diagnostic, or customer-private' provides some scope, though the actual difference between these package types is not explained. However, among many 'owp_' sibling tools, this one is differentiated by the verb 'build' in the name and 'Export' in the description, though alternatives like 'owp_verify_*' also involve packages. It's adequate but doesn't fully distinguish from potential sibling tools that might also deal with delivery packages.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to use this tool versus alternatives. The description is a single sentence with no mention of prerequisites, when not to use, or reference to sibling tools. The list of siblings (e.g., 'owp_run_verification', 'owp_get_decision') suggests a broader workflow, but the description doesn't guide the agent on when 'build' is appropriate versus other actions. No exclusions or alternatives are mentioned.

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

owp_compute_digestA

Compute the canonical SHA-256 digest of an OpenWorkProof payload.

The digest is computed over the RFC 8785 JCS canonicalisation of {"domain": "openworkproof/<object_type>/v0.1", "payload": <payload>} (with digest and signature fields stripped from the payload at the top level).

Args: object_type: One of the allowed canonical domains. payload: JSON string of the payload object.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYes
object_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full transparency burden. It excels by detailing the exact computation method: RFC 8785 JCS canonicalisation, the envelope structure, and the removal of digest and signature fields. It does not mention error handling or permission requirements, but the algorithmic behavior is clearly disclosed.

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 efficiently structured with a clear one-sentence summary, then necessary algorithmic detail, then concise parameter explanations. There is no fluff or redundant information. Each sentence earns its place.

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?

With an output schema present, describing return values is unnecessary. The description covers the algorithm, the exact input semantics, and the envelope structure. It does not mention that object_type valid values can be obtained from a sibling tool (owp_list_domains), which is a minor contextual gap, but overall it is complete for the intended cryptographic functionality.

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?

Given the input schema has 0% description coverage, the description compensates by providing an 'Args' section that gives meaning to both parameters. It states object_type must be an allowed canonical domain and payload is a JSON string of the payload object. It also explains which fields are stripped, adding semantic value. It could be improved by referencing how to get the allowed domains (e.g., owp_list_domains).

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 opens with a clear, specific verb+resource statement: 'Compute the canonical SHA-256 digest of an OpenWorkProof payload.' It further defines the exact canonicalization envelope and the stripping of digest and signature fields, which thoroughly distinguishes it from sibling tools like owp_get_schema_digest or owp_compute_key_id.

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 does not explicitly state when to use this tool versus alternatives. It implies use for computing the OWP payload digest, but gives no direct comparison or exclusion with siblings such as owp_sign_payload or owp_verify_signature. The specificity of the tool makes the usage implied rather than explicit.

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

owp_compute_key_idA

Compute the OpenWorkProof key_id for a given Ed25519 public key.

Args: public_key_b64url: The raw public key bytes encoded as unpadded base64url (43 characters).

ParametersJSON Schema
NameRequiredDescriptionDefault
public_key_b64urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior2/5

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

There are no annotations, so the description must carry the full burden. It only says 'Compute', which restates the name and gives no additional behavioral context (e.g., whether it is deterministic, pure, or has any error conditions). This is a minimal disclosure for a computation tool.

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

Conciseness5/5

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

The description is a single concise sentence followed by a compact Args block with no verbal filler. It front-loads the core purpose and immediately provides the parameter specification, making it easy to scan.

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 simple single-parameter tool with an output schema, the description sufficiently covers the input format and what the tool computes. It omits potential edge cases (e.g., invalid key handling), but such details are not essential given the tool's simplicity and the presence of an output schema.

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

Parameters5/5

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

The description provides crucial parameter details beyond the schema: it specifies the exact encoding ('unpadded base64url') and expected length ('43 characters') for public_key_b64url. This fully compensates for the schema's 0% description coverage.

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 states a specific verb ('Compute') and clearly identifies the resource (OpenWorkProof key_id) and the input (Ed25519 public key), making the tool's purpose unambiguous. It distinguishes itself from sibling tools like owp_sign_payload or owp_compute_digest by naming the exact derivation target.

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 usage is implied rather than explicitly stated: it computes a key_id from a public key, and no alternative tools are mentioned. While the purpose is clear enough to infer appropriate use, the description lacks explicit guidance on when to choose this tool over similar ones.

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

owp_control_observation_validateA

Assess one v0.5 control observation set against its contracts.

This read-only tool never signs, commits, accepts, or settles anything. Signer authority is reported as not_checked, never as authorized.

ParametersJSON Schema
NameRequiredDescriptionDefault
payload_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior5/5

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

Even with no annotations, the description discloses critical behavior: it never signs, commits, accepts, or settles, and it reports signer authority as not_checked, never authorized. This clearly communicates what the tool does not do and what limitation exists.

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?

Three short sentences, first sentence introduces the core purpose, remaining sentences add essential safety semantics. No wasted or redundant text.

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?

The description is mostly complete for a single-parameter validation tool with an output schema: it conveys purpose, read-only nature, and the signer-authority limitation. It falls short only in parameter guidance and explicit mention of when to prefer this over sibling tools.

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

Parameters2/5

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

There is one required parameter, payload_json, with 0% schema description coverage. The description implies the payload is the control observation set, but does not explain the expected JSON structure, required fields, or encoding, so it does not compensate for the missing parameter documentation.

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 names the specific resource: one v0.5 control observation set, and the action: assess against contracts. This clearly distinguishes it from siblings like owp_integrity_observation_validate by the resource type and version.

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 read-only statement provides clear contextual guidance: this tool can validate without side effects. It does not explicitly list when not to use it or name alternatives, so it stops short of a full 5.

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

owp_explain_binding_decisionB

Verify and explain one BindingDecision (read-only).

ParametersJSON Schema
NameRequiredDescriptionDefault
payload_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden and does state 'read-only,' which is a meaningful behavioral safeguard. It does not explain what verification covers or what side effects are absent, but an explicit read-only qualifier plus the available output schema is reasonable for this simple tool.

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 with no wasted words. It communicates the core action, the resource, and the safety profile immediately.

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

Completeness3/5

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

For a simple one-parameter read-only tool with an output schema, the description is passable but not complete. The key gaps are missing payload semantics and lack of guidance on when to pick this tool instead of the many related decision- and binding-focused sibling tools.

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

Parameters2/5

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

The schema has one required payload_json string with 0% description coverage. The description adds only that it concerns a BindingDecision, but does not clarify how a BindingDecision must be serialized, whether the string must be raw JSON, or what makes the payload valid. That is insufficient for the parameter to be used confidently.

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 identifies the operation as verifying and explaining one BindingDecision and explicitly notes it is read-only. This is specific and grounded in the tool name's resource, though it does not fully differentiate it from sibling tools that also touch decisions or bindings.

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 tells when to use this tool over alternatives like owp_get_decision, owp_get_binding_status, or owp_validate_judgment_commitment. The only hint is the phrase 'explain one BindingDecision,' which implies a narrow use case but does not state exclusions or contrast with siblings.

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

owp_generate_keypairA

Generate a new Ed25519 key pair for signing OpenWorkProof objects.

Returns the private key as a hex string and the public key as base64url, along with the derived key_id.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are present, so the description carries the full transparency burden. It discloses the output structure (private key hex, public key base64url, key_id) which is helpful, but it does not mention whether generation is random, how sensitive the private key is, or any side effects. For a simple generation tool this is acceptable but not exhaustive.

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 two sentences, front-loads the action, and every sentence adds value—the first defines the operation and the second specifies return types. There is no redundant or filler content.

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 the tool has no parameters and an output schema exists, the description adequately covers the tool's purpose and returns. It does not explicitly warn about handling the private key securely, which would be useful, but overall it is sufficiently complete for a zero-param operation.

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?

With zero parameters, the schema is fully covered and there is no parameter semantics to clarify. The description adds meaning by explaining the output format and purpose, which earns the baseline score of 4 for no-parameter tools.

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 uses a specific verb 'Generate' and specifies 'Ed25519 key pair for signing OpenWorkProof objects', clearly identifying the resource and distinguishing it from sibling tools that compute key IDs or sign payloads. It also lists the return values, making the tool's function unambiguous.

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 the tool is for creating signing keys but does not explicitly state when to use it versus alternatives like owp_compute_key_id or owp_sign_payload. No when-not-to-use guidance is provided, though the context of signing OpenWorkProof objects gives some situational clue.

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

owp_get_binding_statusC

Read the current binding decision head from a ledger (read-only).

ParametersJSON Schema
NameRequiredDescriptionDefault
ledger_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations available, the description carries the full burden for behavioral disclosure, but it only adds 'read-only,' which largely restates the verb 'Read'. It does not disclose what happens if the ledger_path is invalid, whether the binding decision head can be absent, or any other behavioral edge cases.

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, short sentence that front-loads the action and object. Every word contributes meaning, with no filler or redundancy.

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

Completeness3/5

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

For a simple one-parameter read tool with an output schema, the description is minimally adequate. However, the jargon 'binding decision head' is unexplained, and the lack of guidance relative to similar siblings leaves some contextual gaps.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate for the undocumented ledger_path parameter. It only vaguely ties the parameter to 'a ledger' and does not explain path format, expected location, or validity requirements.

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 ('Read') and the specific resource ('current binding decision head from a ledger'), and it explicitly notes that the operation is read-only. It does not, however, differentiate this from sibling tools like owp_get_decision or owp_explain_binding_decision.

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 the many related sibling tools such as owp_get_decision or owp_validate_action_binding_manifest. There is also no mention of prerequisites, exclusions, or typical scenarios where this tool is preferred.

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

owp_get_decisionB

Prepare, but do not sign or commit, a versioned decision draft.

ParametersJSON Schema
NameRequiredDescriptionDefault
ledgerYes
request_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description should disclose side effects. It only mentions what it does NOT do (sign/commit) without explaining what 'prepare' entails, whether it creates/modifies state, or requires specific permissions.

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 core purpose and constraint in minimal words.

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 an output schema, the tool's parameters and behavioral context are unexplained; the description is too minimal for an agent to correctly invoke it without additional assumptions.

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 input schema provides no descriptions for 'ledger' or 'request_json' (0% coverage), and the description does not mention them, leaving the agent without any guidance on parameter semantics.

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 states a specific action ('Prepare') on a specific resource ('a versioned decision draft') with an explicit constraint ('but do not sign or commit'), which clearly distinguishes it from sibling tools like owp_sign_payload and owp_get_binding_status.

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 usage context or alternative tool names are given; the 'do not sign or commit' implies it is a precursor to signing/committing but does not state when to use this tool over others.

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

owp_get_schemaA

Get the authoritative JSON Schema for an OpenWorkProof object type.

Args: object_type: One of work-order, capability-grant, action-receipt, acceptance-receipt, acceptance-rejection-receipt. version: Schema version (default 0.1).

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNo0.1
object_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. The verb 'Get' and adjective 'authoritative' imply a read-only operation with no side effects, but the description does not explicitly state behavior for invalid inputs, error conditions, or whether the returned schema is cached or dynamically generated. This is acceptable for a simple getter but leaves some uncertainty.

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 succinct, uses a clear structure with a one-line purpose followed by an Args list, and contains no redundant or filler content. Every sentence contributes useful information.

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 the tool's simplicity and the presence of an output schema, the description adequately covers the key aspects: what the tool does, the allowed object types, and the version default. It does not explain return value shape, but that is handled by the output schema, so the description is sufficiently complete for a getter tool.

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 0% description coverage, so the description compensates by listing all valid object_type values (work-order, capability-grant, etc.) and explaining the version default. This adds significant meaning beyond the schema's bare property definitions, though it does not specify constraints on the version 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?

The description uses a specific verb ('Get') and identifies the resource ('authoritative JSON Schema for an OpenWorkProof object type'). This clearly distinguishes it from sibling tools like owp_get_schema_digest, which retrieves a digest rather than the schema itself.

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 provides clear usage context by enumerating the valid object_type values and specifying the default version. However, it does not explicitly mention when to use this tool over alternatives (e.g., owp_get_schema_digest) or any exclusions, but the purpose is unambiguous enough that a user would know when it applies.

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

owp_get_schema_digestA

Get the frozen SHA-256 digest of an authoritative JSON Schema.

This digest is a protocol-review anchor: changing it requires an explicit version-bump decision.

Args: object_type: One of the five schema-bearing object types. version: Schema version (default 0.1).

ParametersJSON Schema
NameRequiredDescriptionDefault
versionNo0.1
object_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It conveys that the tool is read-only ('Get') and explains the versioning constraint, but it does not mention error behavior, permissions, or any edge cases. The output schema covers return format, but other behavioral traits remain unspecified.

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 concise and well-structured: a clear one-sentence purpose, a one-sentence context/constraint, and a clean Args list. There is no redundant information, and the key details are 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?

With an output schema and sibling tools available, the description provides sufficient information for a simple getter: purpose, versioning policy, and parameter semantics. The only notable gap is the lack of explicit enumeration of the five object types, but that may be intentionally left to discovery tools.

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?

The input schema has no descriptions, so the description must compensate. It does clarify that object_type is 'one of the five schema-bearing object types' and that version defaults to '0.1', which adds meaning. However, it fails to list the five valid object types or provide enums, leaving the agent to discover them via other tools.

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 'Get the frozen SHA-256 digest of an authoritative JSON Schema' with a specific verb and resource. The terms 'frozen' and 'authoritative' differentiate it from siblings like owp_get_schema (likely retrieving the schema) and owp_compute_digest (likely computing a digest from arbitrary data).

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 provides context by calling the digest a 'protocol-review anchor' and noting that changing it requires an explicit version-bump decision, implying use during protocol review. However, it does not explicitly name alternative tools or exclusion conditions, so it falls short of full guidance.

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

owp_get_settlement_readinessB

Derive readiness only; this does not prove payment or settlement.

ParametersJSON Schema
NameRequiredDescriptionDefault
ledgerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations provided, the description must carry the burden of behavioral disclosure. It does provide a meaningful limitation ('this does not prove payment or settlement') and clarifies the tool derives readiness only. However, it does not disclose other behavioral traits such as read-only status, potential side effects, permissions, or error conditions.

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 with no filler. Every word adds value, particularly the critical caveat about not proving payment or settlement.

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

Completeness3/5

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

The tool is simple with one parameter and an output schema, so the description does not necessarily need to explain return values. However, it lacks context about what 'readiness' means, what the ledger parameter should be, and how this maps to the broader settlement workflow, making it minimally adequate.

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 does not explain the sole 'ledger' parameter at all. Since the description must compensate for the missing schema documentation and does not, parameter semantics are weak.

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

Purpose4/5

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

The description states a clear action ('derive readiness') and a specific resource ('settlement readiness'), and it distinguishes this tool from verification/proof tools by explicitly saying it 'does not prove payment or settlement.' However, it does not define what 'readiness' means, leaving some ambiguity about the exact output.

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 that this tool should be used when readiness alone is needed and not for proving payment or settlement. It does not explicitly name alternative tools or provide detailed when-to-use/when-not-to-use guidance, but the caveat gives some contextual direction.

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

owp_integrity_observation_validateA

Assess one v0.5 population observation set against its contracts.

This read-only tool never signs, commits, accepts, or settles anything. Signer authority is reported as not_checked, never as authorized.

ParametersJSON Schema
NameRequiredDescriptionDefault
payload_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior4/5

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

With no annotations present, the description carries the burden and does well by explicitly stating 'This read-only tool never signs, commits, accepts, or settles anything' and that 'Signer authority is reported as not_checked, never as authorized.' These are meaningful behavioral constraints beyond the basic assess action.

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 highly compact: one purpose sentence followed by two short behavioral clauses. Every sentence contributes new information, and there is no fluff or repetition.

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 the tool's low complexity—one parameter, an output schema, and no annotations—the description provides solid coverage by clarifying the read-only nature and signer authority behavior. The main gap is the lack of parameter format details, but the output schema compensates for return-value expectations, making the description reasonably complete.

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

Parameters2/5

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

The only parameter `payload_json` has no schema description and 0% description coverage. The tool description never names the parameter or explains its required JSON structure, only indirectly implying that the payload is the population observation set. This leaves the agent without enough information to correctly construct the input.

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 opens with a specific verb 'Assess' and a precise object: 'one v0.5 population observation set against its contracts.' This differentiates it from sibling tools like owp_control_observation_validate, which presumably handles control observations, and clearly states both the resource and the action.

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 is given for when to use this tool versus alternatives. The read-only note is behavioral, not a usage instruction, and no sibling tool is mentioned as an alternative or exclusion case. The description only restates the tool's core purpose.

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

owp_list_domainsA

List all allowed canonical domains for OpenWorkProof objects.

Returns: A dict with canonical_domains (all 9) and signed_domains (8 — excludes sidecar-event which cannot be signed).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the burden and does well by disclosing the return structure (dict with canonical_domains and signed_domains), exact counts (9 and 8), and the notable constraint that sidecar-event cannot be signed. This adds meaningful behavioral context beyond a bare list operation.

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 compact and front-loaded: the first sentence states the purpose, and the second adds only essential return details. Every sentence earns its place with no redundant wording.

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

Completeness5/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 with an output schema, this description is fully complete. It explains what is listed, the exact return keys, the counts, and the signability exception, leaving no gaps for selection or invocation.

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

Parameters4/5

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

The tool has zero parameters, so the baseline is 4. The description appropriately includes no parameter information because none exist, and the empty schema confirms no parameters need explanation.

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 uses a specific verb ('List') and a clear resource ('all allowed canonical domains for OpenWorkProof objects'). It clearly distinguishes this tool from siblings by focusing on domain enumeration, and the return summary adds precision.

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 the tool is useful for discovering allowed domains before signing or verification activities, but it does not explicitly state when to use it or compare it with alternatives. The guidance is inferred rather than direct.

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

owp_render_surface_reportC

Return the verified derived report, never payment or acceptance.

ParametersJSON Schema
NameRequiredDescriptionDefault
package_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 carries the full burden of behavioral disclosure. It communicates that the result is a verified derived report and not payment/acceptance, which is useful, but it does not disclose side effects, failure semantics, authentication needs, or what 'verified' guarantees. The single sentence is too thin for a tool with no annotation support.

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 with no filler or repetition. Every word contributes either to the core action or to a critical exclusion, making it maximally 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?

Despite low complexity (one parameter, no nested objects) and an existing output schema, the description does not explain the meaning of package_path, the nature of the derived report, or the conditions under which this tool should be selected over its many siblings. The output schema only documents return shape, not operational context, so this remains incomplete.

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 does not mention package_path at all. The only parameter's meaning, format, or allowed values are completely undocumented in both the schema and the description, leaving the agent to guess what the path refers to.

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

Purpose3/5

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

The description names a specific verb and resource ('Return the verified derived report'), so an agent has a basic idea of what the tool produces. However, 'derived report' is undefined and the caveat 'never payment or acceptance' is an exclusion rather than a positive definition, leaving ambiguity about the exact artifact.

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 phrase 'never payment or acceptance' provides a negative boundary and hints at when not to use this tool, but it does not state when to use it or name an alternative sibling. There is no positive usage context or conditional routing guidance.

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

owp_repo_readB

Forward a repo-read execution to the ledger coordinator.

Args: ledger: Path to the SQLite ledger file. payload: JSON string of the repo-read execution payload.

ParametersJSON Schema
NameRequiredDescriptionDefault
ledgerYes
payloadYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.2/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 of behavioral disclosure, but it merely states the forwarding action without noting whether this mutates state, requires auth, or has other consequences. The name implies a read operation, but the description does not confirm safety 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.

Conciseness5/5

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

The description is a single clear sentence followed by a terse parameter list; every element earns its place with no redundancy. The front-loaded action and structured args make it easy to parse.

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

Completeness3/5

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

The description covers the parameters, but for a tool with no annotations, it lacks usage context and behavioral details such as when to invoke this forwarder and what the ledger coordinator does with the payload. The existing output schema reduces the need for return documentation, but other gaps remain.

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 schema provides only names and string types (0% description coverage), so the description compensates by explaining 'ledger' as a path to a SQLite ledger file and 'payload' as a JSON string of the execution payload. This adds meaningful semantics beyond the schema.

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

Purpose4/5

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

The opening sentence clearly states the action ('Forward a repo-read execution') and target ('to the ledger coordinator'), distinguishing it as a forwarding operation among related repo tools. It is specific and unambiguous, though it does not explicitly contrast with siblings.

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 owp_analyze_repo or owp_get_schema; it only describes the action, leaving the agent to infer context. There are no exclusions or conditions stated.

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

owp_run_testsA

Forward a run-tests execution to the ledger coordinator.

Args: ledger: Path to the SQLite ledger file. payload: JSON string of the run-tests execution payload (must include the signed AgentRequest and typed arguments).

ParametersJSON Schema
NameRequiredDescriptionDefault
ledgerYes
payloadYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that the tool 'forwards' an execution and requires a signed AgentRequest in the payload. It does not disclose whether this operation is mutating (e.g., writes to the ledger), whether it blocks or returns immediately, what error conditions exist, or what happens on the coordinator side. This is a significant gap for a test-execution tool.

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 concise and well-structured. It opens with the core purpose in a single sentence, followed by a compact Arg list that adds necessary parameter details without redundancy. Every sentence serves a purpose, and the structure is front-loaded with the primary action.

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

Completeness3/5

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

The tool has an output schema, so return values are covered. However, the description lacks broader context about when to use this tool, side effects, or interaction with other tools (e.g., needing to sign a payload first). It is adequate for a simple forwarding operation but offers no guidance on constructing a valid payload or handling failures, leaving the agent to infer these aspects.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It explains both parameters: 'ledger' as 'Path to the SQLite ledger file' and 'payload' as a 'JSON string' with the specific requirement to include the signed AgentRequest and typed arguments. This adds meaningful context beyond the bare schema field names and types, though the payload format could be more detailed.

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 function: 'Forward a run-tests execution to the ledger coordinator.' The verb 'Forward' plus the specific resource ('run-tests execution') and target ('ledger coordinator') leaves no ambiguity about what the tool does. It also distinguishes itself from sibling tools (key generation, signing, verification, etc.), none of which perform execution forwarding.

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 does not explicitly state when to use this tool versus alternatives or when not to use it. However, the purpose is clear enough that an agent can infer it is used to execute tests through the ledger coordinator. No alternative tools are mentioned, nor are any prerequisites or exclusions provided, but the context makes the usage reasonable.

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

owp_run_verificationA

Run exactly one explicit v0.2, v0.3, or v0.5 verification operation.

operation must be commit_arm, prepare_decision, or commit_decision. The tool never retries an indeterminate commit.

ParametersJSON Schema
NameRequiredDescriptionDefault
ledgerYes
payloadYes
operationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It adds a key detail: 'The tool never retries an indeterminate commit,' which is valuable transparency. However, it does not disclose whether the tool is read-only or mutating, nor any prerequisites or side effects. Given the absence of annotations, this is a moderate disclosure, but not comprehensive.

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 only two sentences long, front-loaded with the purpose and followed by the non-retry behavior. It is concise, technically accurate, and contains no filler or redundancy. Every sentence adds value.

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?

Considering the tool has three parameters, an output schema, and no annotations, the description is moderately complete. It clearly defines the operation parameter and a key behavior, but leaves 'ledger' and 'payload' undefined. While the output schema covers return values, the missing parameter documentation and lack of guidance on when to use this over similar verification tools makes it only partially complete.

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

Parameters2/5

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

The description explains the 'operation' parameter by listing its allowed values, which is helpful. But it provides no explanation for 'ledger' or 'payload', and the input-schema has no descriptions (schema coverage 0%). Since two of three parameters remain completely undocumented, the description only partially compensates for the schema's lack of details, and it should have explained all parameters.

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 runs exactly one explicit verification operation, listing the allowed operation values (commit_arm, prepare_decision, commit_decision) and the version scope (v0.2, v0.3, v0.5). This distinguishes it from sibling tools like owp_verify_signature or owp_verify_work_order, making the purpose specific and unambiguous.

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 provides clear context for when to use the tool: it runs the specified operations. However, it does not explicitly mention when not to use it or list alternative tools for other verification tasks. Since the allowed operations are explicit, the usage context is clear, but exclusions are absent, so it earns a 4 rather than a 5.

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

owp_scope_compareB

Compare a signed v0.3 scope with one verifier observation.

ParametersJSON Schema
NameRequiredDescriptionDefault
scope_jsonYes
observed_scope_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only comparison but does not explain what 'compare' means operationally, whether there are side effects, what kinds of mismatches are reported, or whether expected observations need a specific format.

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 concise sentence with no filler, repetition, or unnecessary details. It is front-loaded with the action and clearly states the two inputs, earning every word.

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

Completeness3/5

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

The tool is simple with two string parameters and an output schema present, so the description is minimally complete for basic invocation. However, without annotations or usage guidance, the description does not fully equip an agent to understand comparison semantics or when this is the correct tool among the many sibling validation tools.

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 must compensate for the unannotated parameters. It does help by suggesting scope_json maps to the signed scope and observed_scope_json maps to the verifier observation, but it adds no detail about JSON structure, encoding, or how the v0.3 version applies to the parameters.

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

Purpose4/5

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

The description uses a specific verb ('Compare') and identifies the resources ('a signed v0.3 scope' and 'one verifier observation'), which clearly differentiates it from most siblings like owp_scope_validate or owp_integrity_observation_validate. The version qualifier 'v0.3' adds useful precision, though 'verifier observation' is somewhat domain-specific and could be clearer.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives such as owp_scope_validate or other observation-validation tools. The description states what the tool does but provides no context on prerequisites, selection criteria, or when it should be avoided.

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

owp_scope_validateA

Intrinsically validate a v0.3 scope without checking authority.

This read-only tool does not accept a ledger, private key, or signature instruction. Full Manager authority is checked only by the non-MCP commit boundary.

ParametersJSON Schema
NameRequiredDescriptionDefault
scope_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the transparency burden and does well by stating 'This read-only tool does not accept a ledger, private key, or signature instruction.' This discloses side-effect-free behavior and input constraints. It does not detail validation result behavior, but an output schema is present.

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 two tight sentences, front-loaded with the main purpose and followed by a useful constraint. Every sentence earns its place with no redundancy or filler.

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

Completeness4/5

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

For a one-parameter validation tool with an output schema, the description covers purpose, read-only behavior, and the authority-checking boundary. It could add a sibling-tool comparison or explicit return semantics, but the output schema reduces that need.

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?

The schema has 0% description coverage, and the description only adds that the scope is 'v0.3' and that no ledger/key/signature inputs are involved. It leaves the meaning of scope_json mostly to the property name and type. The description partially compensates but does not fully explain the expected JSON structure or validation rules.

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

Purpose4/5

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

The description uses a specific verb and object: 'Intrinsically validate a v0.3 scope.' It also distinguishes this from authority-checking operations by stating 'without checking authority.' The term 'intrinsically' is somewhat underdefined, but the core purpose is clear and differentiated from sibling tools like owp_scope_compare.

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 excludes authority-checking use cases: 'Full Manager authority is checked only by the non-MCP commit boundary.' It does not explicitly name a sibling alternative to use instead, but it gives a clear boundary for when this tool is not appropriate.

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

owp_sign_payloadA

Sign a canonical OpenWorkProof payload with an Ed25519 private key.

Args: object_type: One of the allowed signed domains (call owp_list_domains to see the list). payload: JSON string of the unsigned payload object. private_key_hex: The Ed25519 private key as a hex string.

Returns: The signed payload dict with signature_alg, signer_key_id, digest, and signature fields added.

ParametersJSON Schema
NameRequiredDescriptionDefault
payloadYes
object_typeYes
private_key_hexYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It explains the output structure (dict with signature_alg, signer_key_id, digest, and signature fields) and directs to owp_list_domains for valid object types. However, it lacks details on error handling, canonicalization behavior, key format validation, or side effects, leaving some behavioral aspects undisclosed.

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 concise and well-structured, starting with the main action in the first sentence, then using an Args/Returns layout for clarity. Every sentence adds necessary information; no redundancy or filler.

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?

The description covers the essential aspects for a signing tool: inputs, prerequisite domain listing, and return fields. It is reasonably complete given that an output schema exists (though not shown). However, it does not elaborate on the 'canonical' requirement or potential errors, leaving minor gaps in fully guiding usage.

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

Parameters5/5

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

The input schema provides no descriptions (0% coverage), so the description fully compensates by explaining each parameter: object_type (from allowed list), payload (JSON string), and private_key_hex (Ed25519 key). This is essential context that the schema lacks, adding significant meaning to the parameters.

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 function with a specific verb ('Sign') and resource ('canonical OpenWorkProof payload with an Ed25519 private key'). It differentiates from siblings like owp_verify_signature or owp_compute_digest by focusing on the signing action, and references owp_list_domains for the object_type domain list, further clarifying its scope.

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 gives clear context on prerequisites: object_type must come from the allowed domains listed by owp_list_domains, and the private key must be a hex string. It implies when to use (when needing to sign a payload) but does not explicitly state alternatives or when not to use it, though the self-explanatory purpose makes exclusions unnecessary.

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

owp_statusA

Replay an OpenWorkProof ledger and return its authoritative state.

Args: ledger: Path to the SQLite ledger file.

ParametersJSON Schema
NameRequiredDescriptionDefault
ledgerYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.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 responsibility for disclosing side effects and safety. It mentions replay and returning state but does not explicitly state that the operation is read-only, whether it modifies the ledger, or any other behavioral traits. This ambiguity is a significant gap.

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 extremely concise: one sentence for purpose and a minimal args list. It is front-loaded and contains no redundant information, every sentence 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?

The tool has a single parameter and an output schema, so return values are covered elsewhere. However, the description lacks behavioral transparency (e.g., read-only guarantee, error conditions) and does not address the broader context of how this tool fits with siblings, making it incomplete for safe autonomous use.

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 schema only provides the type 'string' for the 'ledger' parameter, but the description adds meaning by explaining it is a 'Path to the SQLite ledger file.' This goes beyond the schema and clarifies the parameter's role.

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 function: 'Replay an OpenWorkProof ledger and return its authoritative state.' This is a specific verb (replay) and resource (ledger) with a clear outcome, and it distinguishes from sibling tools by focusing on state retrieval rather than key generation, signing, or verification.

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 the tool is for checking ledger state, but it does not explicitly state when to use it over siblings or provide any exclusions. The intended usage is clear from context, but no direct guidance is given.

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

owp_validate_action_binding_manifestB

Validate one signed ActionBindingManifest (read-only, no authority).

ParametersJSON Schema
NameRequiredDescriptionDefault
payload_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description's '(read-only, no authority)' is a valuable behavioral disclosure that signals a safe, non-mutating operation. However, the description does not explain expected behavior on invalid/signed inputs, system effects, or assumptions about the manifest.

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 one front-loaded, efficient sentence with no filler: the core purpose and the read-only/no-authority property are both conveyed without redundancy. It is concise and scannable, though slightly more guidance could be useful.

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

Completeness3/5

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

The description covers the basic purpose and key safety property, but it does not help the agent choose among the many sibling validation/verification tools. An output schema exists, so return-value documentation is less necessary, but the lack of usage context and parameter detail keeps it from being fully complete.

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

Parameters3/5

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

Schema coverage is 0%, and the description does not explicitly document payload_json semantics. However, the phrase 'one signed ActionBindingManifest' reasonably suggests that payload_json is the JSON-serialized manifest to validate, which provides some meaningful parameter context 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 uses a specific verb and resource: 'Validate one signed ActionBindingManifest'. This clearly identifies the tool's exact object and distinguishes it from sibling validation/verification tools such as owp_validate_judgment_commitment or owp_verify_signature.

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 does not state when to use this tool versus alternatives, nor does it provide exclusion or fallback guidance. Given the large set of sibling validation and verification tools, the absence of explicit selection guidance is a notable gap.

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

owp_validate_judgment_commitmentA

Validate one signed JudgmentCommitment (read-only, no authority).

Without a ledger or trusted key context the authority is reported as not_checked; this tool never signs and never commits.

ParametersJSON Schema
NameRequiredDescriptionDefault
payload_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A3.9/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It explicitly discloses that the tool is read-only, never signs, never commits, and reports authority as 'not_checked' without ledger/key context. This is clear behavioral disclosure, though the return format is not described.

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 two short sentences, front-loaded with the primary action and safety properties, with no redundant words.

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, no annotations, and an output schema, the description adequately covers safety and authority behavior. However, it lacks details about the exact validation logic or expected payload structure, limited by parameter semantics.

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 schema has a single required parameter payload_json with 0% coverage, and the description does not explain the parameter's format or content. The name and tool purpose imply it is the JudgmentCommitment, but no explicit details are provided.

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 identifies the tool's function: validate a signed JudgmentCommitment. It emphasizes read-only, no authority, never signs, and never commits, which distinguishes it from signing and committing tools like owp_sign_payload.

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 validating JudgmentCommitment objects but does not explicitly state when to choose this tool over sibling validation tools like owp_validate_profile or owp_validate_action_binding_manifest. It provides context about authority reporting but no exclusions or alternatives.

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

owp_validate_profileC

Validate a signed Evidence Lifecycle v0.2, v0.3, or v0.5 profile.

ParametersJSON Schema
NameRequiredDescriptionDefault
profile_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

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 for disclosing behavior, but it only says 'validate'. It does not mention whether the operation is read-only, if any side effects exist, or what permissions are required. This leaves the agent uncertain about the tool's effects.

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 concise sentence with no redundant information, effectively conveying the core purpose.

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 simplicity of the tool, the description is too sparse. It does not explain what constitutes a valid profile, how validation is performed, what the output might be, or any error conditions. This lack of context makes it insufficient for an agent to use the tool confidently.

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 only parameter, profile_json, has no description in the schema, and the tool description adds no detail about its format, expected content, or constraints. Since schema coverage is 0%, the description provides no compensation.

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 (validate) and the object (a signed Evidence Lifecycle profile), which distinguishes it from sibling tools that perform other operations like running tests or building packages. However, it does not specify what validation entails (e.g., signature check, schema compliance).

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 is given on when to use this tool versus its siblings. The description does not provide context such as 'Use this to verify a profile before submission' or any alternatives.

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

owp_verify_nested_claimA

Verify a nested claim (AgentRequest or HumanDecision) against a WorkOrder.

This checks that:

  • The WorkOrder identity bindings are valid.

  • The claim's work_order_digest matches the WorkOrder.

  • The claim's actor is bound to a matching key in the WorkOrder.

  • The claim's Ed25519 signature is valid.

Args: claim_json: JSON string of the AgentRequest or HumanDecision. work_order_json: JSON string of the parent WorkOrder.

Returns: {"valid": true} if the nested claim passes all checks.

ParametersJSON Schema
NameRequiredDescriptionDefault
claim_jsonYes
work_order_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It transparently enumerates the validation checks (identity bindings, digest match, actor binding, Ed25519 signature) and specifies the success return value. However, it does not disclose failure behavior (e.g., returns {"valid": false} or raises an exception), which is a minor gap.

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 well-structured with a concise intro, bulleted checks, an Args section, and a Returns line. Every sentence adds value, and the formatting aids quick comprehension. No redundancy.

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?

The description provides the essential information needed to invoke the tool correctly: purpose, argument roles, validation criteria, and success return format. It does not fully describe failure return semantics, but given the moderate complexity and the presence of an output schema, the description is largely complete.

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

Parameters4/5

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

Schema description coverage is 0%, so the description compensates by explaining each parameter: claim_json is a JSON string of the AgentRequest or HumanDecision, and work_order_json is a JSON string of the parent WorkOrder. This adds meaningful context beyond the raw schema types, though it could be more detailed about required fields within those JSON objects.

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 uses a specific verb ('Verify') and identifies the resource ('a nested claim (AgentRequest or HumanDecision) against a WorkOrder'). It clearly distinguishes this from sibling tools like owp_verify_work_order and owp_verify_signature by naming the nested claim types.

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 implies when to use this tool: when you need to verify a nested claim against a WorkOrder. It lists the checks performed, giving context, but does not explicitly compare with alternatives or state when not to use it.

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

owp_verify_signatureA

Verify an Ed25519 signature on a signed OpenWorkProof payload.

Args: object_type: The canonical domain of the object. signed_payload: JSON string of the signed payload (must contain signature_alg, signer_key_id, digest, and signature). public_key_b64url: The signer's public key as base64url.

Returns: {"valid": true} if the signature is valid, {"valid": false} otherwise.

ParametersJSON Schema
NameRequiredDescriptionDefault
object_typeYes
signed_payloadYes
public_key_b64urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description provides behavioral specificity by detailing required fields in signed_payload ('must contain signature_alg, signer_key_id, digest, and signature') and describing the exact return values. However, it does not disclose error behavior for invalid input (e.g., malformed JSON, missing fields, bad base64url), which is a minor gap.

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 well-structured with an opening sentence, a compact Args section, and a Returns section. Every sentence is informative and there is no redundant text.

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?

The description covers parameters, return values, and signed_payload requirements, making it usable for invocation. However, it lacks error-handling details and does not clarify how object_type is used in the verification process. Given the tool's simplicity, these are minor omissions and the description is mostly complete.

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

Parameters5/5

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

The input schema provides no field descriptions, but the description explains each parameter: object_type as 'the canonical domain of the object', signed_payload as 'JSON string of the signed payload' with required fields, and public_key_b64url as 'the signer's public key as base64url'. This fully compensates for the 0% schema coverage.

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 first sentence 'Verify an Ed25519 signature on a signed OpenWorkProof payload' clearly states the action (verify) and the resource (Ed25519 signature on OpenWorkProof payload). This distinguishes it from sibling verification tools like owp_verify_work_order and owp_verify_nested_claim, which focus on different verification aspects.

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 the tool is used for verifying Ed25519 signatures, but it does not explicitly state when to choose this tool over alternatives such as owp_verify_work_order or owp_verify_nested_claim. There are no usage exclusions or comparisons, leaving the agent to infer from the tool name and description.

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

owp_verify_surface_bundleB

Verify and replay one surface bundle without writing or signing.

ParametersJSON Schema
NameRequiredDescriptionDefault
package_pathYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose a key behavioral trait: no writing or signing. However, it does not explain what 'replay' entails, whether reads or network access occur, or what failure states look like, leaving the behavioral profile incomplete.

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 compact sentence, front-loaded with the core action 'Verify and replay' and then the key qualifier 'without writing or signing'. There is no filler or repeated information from the schema.

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

Completeness2/5

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

The tool is simple and has an output schema, so return values need not be described, but the description still omits usage context and package_path semantics. With no annotations and no parameter documentation, an agent has to infer too much to reliably select and invoke this tool.

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 sole parameter, package_path, has no schema description (0% coverage), and the description never mentions it explicitly. The phrase 'one surface bundle' loosely implies that package_path points to a bundle, but the description does not clarify the expected path type or 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?

The description uses a specific verb+object pair, 'Verify and replay one surface bundle', and adds the important qualifier 'without writing or signing'. This clearly identifies what the tool does and distinguishes its non-mutating nature from many verification-related sibling tools.

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

Usage Guidelines2/5

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

The 'without writing or signing' clause implies a safe verification context, but the description never states when to choose this tool over owp_run_verification, owp_verify_work_order, owp_verify_nested_claim, or other siblings. No exclusions or alternative conditions are provided.

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

owp_verify_work_orderA

Verify a WorkOrder's identity bindings and maintainer signature.

Args: work_order_json: JSON string of the WorkOrder object.

Returns: {"valid": true} if all six key bindings are well-formed, distinct, and the maintainer's signature is valid.

ParametersJSON Schema
NameRequiredDescriptionDefault
work_order_jsonYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the full burden and does substantial work: it explains the success return ('{"valid": true}') and the exact validation criteria (six key bindings well-formed, distinct, valid maintainer signature). It does not disclose invalid-input behavior or potential exceptions, which is a minor gap.

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 compact docstring with a clear one-line summary followed by standard Args/Returns sections. Every sentence provides necessary information, and there is no redundant or filler content.

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 single-parameter verification tool with an output schema, the description supplies the key context: the input format and the success criteria. It is slightly incomplete only in not covering invalid-result/error behavior, but the output schema likely covers the return shape.

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

Parameters3/5

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

Schema coverage is 0% and the only parameter is documented as 'JSON string of the WorkOrder object,' which adds semantic meaning beyond the bare 'string' type. However, it does not describe the WorkOrder object's required fields or expected internal structure, leaving some ambiguity.

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 opens with a specific verb and resource: 'Verify a WorkOrder's identity bindings and maintainer signature.' This precisely identifies the tool's function and distinguishes it from sibling tools like owp_verify_signature, which verify raw signatures rather than full WorkOrder identity bindings.

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 provides clear context that this is for WorkOrder-level verification, and the mention of 'WorkOrder' naturally scopes it against generic signature verification siblings. It does not explicitly list exclusions or alternative tools, but for a targeted verification routine the intended use case is reasonably clear.

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. 2 tool updatesv1.4.0
    • Addedowp_render_surface_report
    • Addedowp_verify_surface_bundle
  2. 13 tool updatesv1.2.0
    • Addedowp_build_delivery_package
    • Addedowp_control_observation_validate
    • Addedowp_explain_binding_decision
    • Addedowp_get_binding_status
    • Addedowp_get_decision
    • Addedowp_get_settlement_readiness
    • Addedowp_integrity_observation_validate
    • Addedowp_run_verification
    • Addedowp_scope_compare
    • Addedowp_scope_validate
    • Addedowp_validate_action_binding_manifest
    • Addedowp_validate_judgment_commitment
    • Addedowp_validate_profile
  3. 14 tool updatesv1.1.1
    • First observedowp_analyze_repo
    • First observedowp_compute_digest
    • First observedowp_compute_key_id
    • First observedowp_generate_keypair
    • First observedowp_get_schema
    • First observedowp_get_schema_digest
    • First observedowp_list_domains
    • First observedowp_repo_read
    • First observedowp_run_tests
    • First observedowp_sign_payload
    • First observedowp_status
    • First observedowp_verify_nested_claim
    • First observedowp_verify_signature
    • First observedowp_verify_work_order

TDQS

B3.1/5.0
Disambiguation3/5

The tool set includes many validation and verification tools targeting different object types (e.g., judgment commitments, action binding manifests, work orders, scopes), but the overlapping prefixes like owp_validate_* and owp_verify_* may cause confusion for an agent. However, descriptions clarify the specific target objects, so most tools are distinguishable, though a few like owp_scope_validate and owp_scope_compare could be conflated.

Naming Consistency3/5

All tools share the owp_ prefix and most follow a verb_noun structure (e.g., get_schema, sign_payload, analyze_repo). However, three tools (owp_integrity_observation_validate, owp_control_observation_validate, owp_scope_validate) place 'validate' at the end, deviating from the dominant verb-initial pattern. Also, owp_status is a noun-only name, breaking the pattern slightly.

Tool Count2/5

With 27 tools, the surface is large and exceeds the typical 15-tool upper bound. While the protocol domain is broad, many tools are narrow validation/verification operations that could be consolidated or exposed via a single parameterized tool. This count feels heavy for an MCP server and may overwhelm agents.

Completeness4/5

The tool set covers a wide range of OpenWorkProof operations: cryptographic helpers (key generation, signing, verification), schema retrieval, object validation, scope analysis, delivery packaging, and ledger status. It seems to cover the core lifecycle well, though it lacks explicit creation tools for work-orders or commitments beyond decision preparation, which is a minor gap.

Maintenance

ActivityActive
ResponsivenessUnresponsive

Related MCP Connectors

Related MCP Servers

  • A
    license
    C
    quality
    A
    maintenance
    Cryptographic identity and trust protocol for AI agents. 38 MCP tools across 8 protocol layers: Ed25519 identity, delegation chains, values compliance, signed communication, policy engine, task coordination, cross-layer integration, and agentic commerce. 264 tests passing.
    152
    250
    4
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    AI agent identity, permissions, trust scores, and tamper-evident audit trails. 17 MCP tools: register agents (Ed25519 keypairs), check permissions (sub-5ms), emit audit events, verify trust scores (0-100), delegate credentials, ephemeral agents. IETF Internet-Draft filed. Works with LangChain, OpenAI, CrewAI, Stripe ACP. npx @vorim/mcp-server
    17
    138
    73
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Tamper-evident audit logging for AI agents. Append-only, hash-chained, optionally Ed25519-signed log. The MCP server lets an agent keep and verify a record of what it actually did.
    7
    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/dengyier/OpenWorkProof'

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