Skip to main content
Glama
tanbaohui666-hash

橙岛经营底座 MCP

橙岛经营底座 MCP

一个本地优先、可审计的经营状态 MCP Server。它把橙岛 Skill 产生的知识、证据、决策、任务、执行回执和复盘结果保存到同一个 SQLite 数据库,让不同会话能够继续同一个项目。

它解决什么问题

Skill 负责分析和方法,但单独使用 Skill 容易出现三个问题:

  1. 下一次对话不知道上一次已经确认了什么。

  2. “生成方案”“人工批准”“已经执行”“拿到回执”“产生业务结果”容易被混在一起。

  3. 知识、证据、任务和结果散落在聊天记录里,无法审计。

这个 MCP 把上述状态保存为结构化记录。它不会发布内容、发送邮件、改价、投放、退款、采购,也不会连接外部店铺。

Related MCP server: Argon Memory

当前版本

  • 版本:0.1.0

  • 传输:本地 stdio

  • 存储:SQLite

  • MCP SDK:官方 TypeScript SDK v2

  • 工具:20 个

  • 资源:系统说明、项目概览

  • Prompt:项目每日复盘

20 个工具

分组

工具

用途

项目

project_create

创建经营项目

项目

project_list

查看项目列表

项目

project_get

读取项目目标、阶段和记录数量

知识

knowledge_ingest

写入带来源、隐私、版本和哈希的知识

知识

knowledge_search

在指定项目内检索知识

证据

evidence_add

保存报表、截图、客户反馈或平台回执

证据

evidence_list

查看项目证据

决策

decision_create

创建有证据依据的决策提案

决策

decision_review

由明确审核人批准或拒绝决策

决策

decision_list

查看决策与审批状态

任务

task_create

把批准后的决策转为任务

任务

task_update

更新任务状态和执行结果

任务

task_list

查看任务

回执

receipt_attach

保存外部系统已经返回的执行凭证

回执

receipt_list

查看执行回执

缺口

open_question_add

登记缺失数据或授权

缺口

open_question_update

补充回答或关闭问题

缺口

open_questions_list

查看待补信息

快照

project_snapshot

保存不可变的项目阶段快照

复盘

review_run

判断未执行、缺回执或可人工复盘

人工审批门禁

decision_createexecution_modehuman_approval_required

  1. 决策初始状态为 proposed

  2. 必须调用 decision_review,记录审核人、批准/拒绝和说明。

  3. 未批准前,task_create 会拒绝从该决策创建任务。

  4. MCP 只创建本地任务,不执行外部动作。

  5. 外部动作完成后,使用 receipt_attach 保存真实回执。

  6. review_run 不会把回执自动判定为业务有效。

本地运行

要求 Node.js 22.13 或更高版本。

npm ci
npm run build
npm run check
node dist/index.js

服务器使用 stdio,直接运行后没有网页界面,也不会在终端输出普通日志。

默认数据库:

data/orange-island-core.sqlite

可通过环境变量覆盖:

OI_CORE_DB_PATH=/absolute/path/orange-island-core.sqlite node dist/index.js

安装到 Codex

codex mcp add orange_island_core -- \
  /usr/local/bin/node \
  /Users/borytan/Documents/Codex/proj_017_mcp_橙岛经营底座/dist/index.js

安装后重新打开一个 Codex 任务,使新 MCP 工具进入工具列表。

检查配置:

codex mcp list

自然语言调用示例

请用橙岛经营底座创建一个“外贸 B 端获客”项目,负责人是阿宝,当前阶段是内容获客试点。
把这份产品资料写入刚才的项目知识库,来源标记为用户事实,隐私级别 internal。
根据项目证据创建一个需要人工批准的决策提案。先不要生成任务。
我批准这个决策,审核人写阿宝,说明是“先做七天小样本测试”。然后创建任务。
检查这个项目是只生成了方案、已经执行、拿到回执,还是已经具备业务复盘条件。

数据边界

  • 只写入用户指定或 MCP 调用中明确提供的数据。

  • 不扫描电脑其他目录。

  • 不连接外部平台。

  • 不保存店铺 Token、API 密钥或登录凭证。

  • 缺失数据使用待补问题记录,不由 AI 编造。

  • 删除项目和不可逆写操作尚未开放。

验证

npm run check 同时执行:

  • TypeScript 编译

  • SQLite 经营规则测试

  • 官方 MCP Client stdio 握手

  • 工具列表验证

  • 项目 → 知识 → 证据 → 决策 → 人工审批 → 任务 → 回执 → 复盘闭环

Available Tools

20 tools
decision_create创建经营决策提案B

按触发条件、判断逻辑、系统结论、建议动作和证据创建提案。该工具不会执行外部动作。

ParametersJSON Schema
NameRequiredDescriptionDefault
logicYes
triggerYes
review_atNo
conclusionYes
project_idYes
evidence_idsNo
execution_modeNohuman_approval_required
recommended_actionYes

TDQS

B3/5.0
Behavior3/5

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

The description adds one behavioral note: '该工具不会执行外部动作' (this tool does not execute external actions), which is useful beyond the annotations (all false). However, it does not disclose other behaviors like what happens to existing data or whether the proposal is persisted, so the value added is limited.

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 with no fluff, front-loading the core purpose before the behavioral note. It is appropriately concise for its length.

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

Completeness2/5

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

For a tool with 8 parameters, 5 required, no output schema, and no annotation support, the description is too thin. It lacks details on parameter meaning, execution_mode options, review_at usage, and expected outcomes, making it incomplete for an agent to call correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It names five components (trigger, logic, conclusion, recommended action, evidence) which map to trigger, logic, conclusion, recommended_action, and evidence_ids, but it does not explain project_id, review_at, or execution_mode. With 8 parameters, this is insufficient.

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

Purpose4/5

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

The description clearly states the verb '创建' (create) and resource '提案' (proposal), and enumerates the key components (trigger, logic, conclusion, recommended action, evidence). However, it does not explicitly distinguish from sibling tools like decision_review or decision_list, so it falls short of a 5.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as decision_review or decision_list. It only states what the tool does, leaving the agent to infer usage context.

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

decision_list查看决策记录B
Read-onlyIdempotent

列出项目决策提案及其审批状态、证据和复核时间。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
project_idYes

TDQS

B3.4/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, establishing a safe read operation. The description adds value beyond those annotations by specifying the content of the returned list: approval status, evidence, and review time. There is no contradiction with the annotations.

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, focused sentence that front-loads the action ('列出') and resource, with no filler, repetition, or unnecessary detail. Every word contributes to the core purpose.

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 three parameters and no output schema, so a long description is not necessary. The description covers the core purpose and return content, but misses operational essentials: it does not state that project_id is required, nor how limit and status affect results. An agent would need to consult the schema to call it correctly, making the description adequate but 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 clarify any of the three parameters. It mentions 'status' only as an output field, not as a filter parameter; project_id and limit are entirely unaddressed. The agent receives no assistance in understanding parameter meanings beyond raw schema constraints.

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 the specific verb '列出' (list) and identifies the resource '项目决策提案' (project decision proposals), while also naming the included fields: approval status, evidence, and review time. This clearly sets it apart from sibling tools like decision_create and decision_review, which perform different actions on the same domain.

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 gives no guidance on when to choose this tool over alternatives. It does not mention prerequisites like a valid project_id, nor does it contrast with sibling tools such as decision_create or decision_review. Usage must be inferred from the name and schema, so explicit guidance is absent.

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

decision_review人工审批决策A

由明确的审核人批准或拒绝一个决策提案,并保存审核说明。需要人工审批的提案未批准前不能生成任务。

ParametersJSON Schema
NameRequiredDescriptionDefault
noteYes
statusYes
reviewerYes
decision_idYes

TDQS

A3.5/5.0
Behavior3/5

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

Annotations provide no safety hints, so the description carries the behavioral disclosure burden. It discloses the mutating effect (approve/reject and save note) and a downstream consequence (tasks cannot be generated before approval), but does not say whether a review can be changed or what happens after rejection.

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

Conciseness5/5

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

Two short sentences with the action stated first and a useful prerequisite/context note added. No filler or redundant restatement of the title.

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?

This is a mutating tool with no output schema and no useful annotations, yet the description does not state what the caller receives or whether approval immediately creates the task. The required parameters are clear from the schema, but downstream behavior is only partially covered.

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 only partially compensates: it maps reviewer to 明确的审核人, note to 审核说明, status to 批准或拒绝, and decision_id to 决策提案. It does not explain format or constraints, but the terms are enough to infer each parameter's purpose.

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

Purpose4/5

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

Description names a clear action (approve or reject) on a specific resource (a decision proposal) and mentions saving a review note. It is distinguishable from decision_create, which would create a decision, though it does not explicitly name the sibling.

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 sentence '需要人工审批的提案未批准前不能生成任务' provides context for when a review matters, implying this tool is for proposals requiring manual approval. However, it does not explicitly state when to prefer this over siblings like decision_list or review_run.

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

evidence_add添加经营证据B

记录报表、截图、平台回执、客户反馈或观察数据。只保存证据,不自动下结论。

ParametersJSON Schema
NameRequiredDescriptionDefault
detailsNo
summaryYes
project_idYes
source_refNo
occurred_atNo
evidence_typeYes

TDQS

B3.2/5.0
Behavior3/5

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

With no helpful annotations (all hints false), the description carries the behavioral disclosure burden. It does add one meaningful behavior: evidence is only saved, and no automatic conclusion is formed. However, it does not explain side effects, immutability, duplicate handling, or what happens after saving, which matters for a write 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 two short sentences with no filler. It front-loads the concrete evidence types and then adds the key behavioral caveat. Every sentence earns its place.

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 six parameters, one nested object, no output schema, and no annotations, the description is too thin to fully orient an agent. It leaves unclear the semantics of details, source_ref, and occurred_at (e.g., whether occurred_at is event time or creation time), and does not explain required fields or what the response will look like.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate, but it only enumerates a subset of the evidence_type enum values (report, screenshot, platform_receipt, customer_feedback, observation) in Chinese. It adds no meaning for the required summary, project_id, or the optional details, source_ref, and occurred_at fields, leaving many parameters semantically unexplained.

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 names the verb '记录' (record) and the resource '经营证据' (business evidence), and it lists concrete examples like reports, screenshots, platform receipts, customer feedback, and observations. It stops short of explicitly naming a sibling tool to differentiate from, but the phrase '只保存证据,不自动下结论' does separate it from decision/conclusion-oriented tools.

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 when to use the tool: when you need to preserve raw evidence without drawing conclusions. It does not explicitly state when not to use it or mention alternatives such as knowledge_ingest or decision_create, so the guidance is contextually suggestive rather than explicit.

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

evidence_list查看经营证据A
Read-onlyIdempotent

列出指定项目的证据,可按证据类型筛选。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
project_idYes
evidence_typeNo

TDQS

A3.6/5.0
Behavior3/5

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

The annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that results are scoped to a project and can be filtered by type, which is useful, but it does not disclose pagination, ordering, limit behavior, or return shape. This is modest added context beyond the annotations, with no contradiction.

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

Conciseness5/5

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

The description is a single sentence that front-loads the action and scope and appends the optional filter. There is no filler, repetition, or unnecessary detail; every word 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?

For a simple read-only list tool with strong annotations, the description is nearly sufficient: it identifies the required project scope and the optional filter. However, there is no output schema, no mention of the limit parameter, and no guidance separating it from knowledge_search, so an agent has minor gaps to resolve for fully optimal invocation.

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. It clarifies project_id ('指定项目') and evidence_type ('按证据类型筛选'), but it says nothing about limit or its pagination semantics. The compensation is partial: two of three parameters get some human-readable meaning, but one remains undocumented.

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

Purpose4/5

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

The description uses a specific verb ('列出' / list), a clear resource ('证据' / evidence), and a scope ('指定项目' / specified project), and it adds the filtering dimension by evidence type. It clearly states what the tool does, but it does not explicitly differentiate itself from siblings such as evidence_add or knowledge_search, so it misses the top sibling-distinction bar.

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 phrasing implies the tool is for enumerating a project's evidence and supports an optional type filter, which provides a usable context. However, there are no explicit when-to-use, when-not-to-use, or alternative tool recommendations, leaving the agent to infer the choice against siblings like evidence_add and knowledge_search.

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

knowledge_ingest写入知识资料A

把用户提供或已授权的文本加入项目知识库,保留来源、隐私级别、版本和内容哈希;相同内容不会重复写入。

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
contentYes
project_idYes
source_refNo
source_typeYes
privacy_labelNointernal

TDQS

A3.8/5.0
Behavior4/5

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

The annotations declare readOnlyHint=false, openWorldHint=false, idempotentHint=false, destructiveHint=false, which are somewhat ambiguous. The description adds clarity by stating that content is added (a write operation) and that identical content is not duplicated (a form of idempotency), which adds behavioral context beyond the annotations. However, it doesn't disclose details like metadata management or potential side effects, so it's not a full 5.

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

Conciseness4/5

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

The description is concise, one sentence, and front-loads the core function (adding text). However, the phrase '保留来源、隐私级别、版本和内容哈希' is slightly dense and could be clearer, but it earns its place by providing key behavioral context. No wasted words overall.

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?

Given the tool's complexity (6 params, enums, no output schema) and the 0% schema coverage, the description is brief but covers the essential purpose and deduplication. However, it leaves out details like how versioning works, what happens on failed writes, or how to set source_ref correctly, so for a write operation with no output schema, it could be more 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 description coverage is 0%, meaning the description must compensate for parameter documentation. The description mentions preserving source, privacy level, and version, which implicitly relates to source_type, source_ref, and privacy_label, but it does not define each parameter's semantics or constraints. It adds some meaning beyond the schema (e.g., context for source_type and privacy_label) but leaves gaps for others like content and title.

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

Purpose5/5

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

The description clearly states the action (adding text to the project knowledge base) and the key characteristics (preserving source, privacy level, version, and content hash), and explicitly notes deduplication. This distinguishes it from siblings like knowledge_search (retrieval) and evidence_add (likely adding evidence to a review), 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 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 ingesting user-provided or authorized text into the knowledge base, but it doesn't explicitly state when to use it versus alternatives like evidence_add or receipt_attach. No exclusions or alternatives are mentioned, so usage context is only implied, not fully explicit.

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

open_question_add登记待补信息B

把影响判断的缺失资料、授权或问题登记为待补信息,避免 AI 编造。

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYes
needed_forYes
project_idYes

TDQS

B3.4/5.0
Behavior3/5

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

Annotations provide no safety hints beyond all false (not read-only, not idempotent, not destructive). The description adds the purpose of preventing fabrication, which is a behavioral reason. However, it does not disclose any side effects, such as whether it creates a new record or modifies existing state, or any confirmation or return behavior. Since annotations carry no safety profile, the description could do more.

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 sentence of moderate length, delivering the core purpose and a motivational note. It is front-loaded with the action and resource, and it avoids excessive detail. The 'avoid AI fabrication' part adds value without bloating. It is slightly longer than necessary but still efficient for a tool with this complexity.

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 tool with 3 required parameters and no output schema, the description covers the 'why' but not the 'how' or details about the parameters. It does not explain how the question and needed_for fields interact, nor does it hint at the expected format of the question. Given the complexity is moderate and parameters are simple strings, the description is just adequate, but additional guidance on the content of 'question' or 'needed_for' would improve completeness.

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%, and the description does not explain any of the three parameters individually. The terms 'question' and 'needed_for' are reasonably self-explanatory from their names, but there is no added meaning beyond the schema's field names and constraints. Given the low coverage and the lack of description-level details, a score of 3 is appropriate as a baseline, but not higher.

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 (登记,register) and the resource (待补信息,pending information), and specifies what qualifies as pending information (missing material, authorization, or issues that affect judgment). It also mentions the purpose (avoid AI fabrication), which adds context. However, it could more explicitly distinguish this from the sibling open_question_update, though the 'add' vs 'update' distinction is implicit.

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 when to use this tool: when there is missing information that affects judgment. It contrasts with 'avoid AI fabrication', suggesting usage when an AI might otherwise guess. However, there is no explicit statement of when not to use it or how it differs from updating existing questions, which is a notable gap given the presence of open_question_update.

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

open_questions_list查看待补信息B
Read-onlyIdempotent

列出项目仍缺少的数据、授权或业务回答。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
project_idYes

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds that it lists missing data but offers no additional behavioral context such as pagination, default status filtering, or response format, so it adds minimal value beyond annotations.

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 that front-loads the core purpose. There is no wasted text or redundancy, making it efficient and easy to parse.

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

Completeness2/5

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

With no output schema and a low-parameter-detail description, the agent lacks information about the response format, pagination behavior, or how the status filter works. The description is too sparse to fully support correct invocation, especially given the absence of parameter descriptions.

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 mention any of the three parameters (project_id, limit, status). It does not explain the meaning of status enum or the limit default, failing to compensate for the lack of schema descriptions.

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

Purpose5/5

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

The description states a specific verb ('list') and resource ('data, authorizations, or business answers the project still lacks'), clearly identifying the tool's function. It distinguishes from siblings like open_question_add and open_question_update by implying it is the retrieval counterpart, and it mentions the project scope.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention any conditions, exclusions, or suggest sibling tools like knowledge_search or evidence_list for different needs.

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

open_question_update更新待补信息C

记录问题的回答,或把问题标记为已忽略。

ParametersJSON Schema
NameRequiredDescriptionDefault
answerNo
statusYes
question_idYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already signal a write operation (readOnlyHint=false) and non-idempotent behavior. The description adds minimal behavioral context—it names two state transitions but doesn't disclose what happens to an existing answer when status changes, whether a dismissed question can be reopened, or any side effects on related data.

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

Conciseness4/5

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

The description is a single compact sentence that conveys the core purpose with no filler. It is front-loaded and easy to parse, though its brevity contributes to the semantic gaps in other dimensions.

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

Completeness2/5

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

For a mutation tool with no output schema, an agent needs to understand the status state machine and required fields to call it correctly. This description covers only two of three possible statuses and omits the answer/status relationship, leaving the tool under-specified for reliable invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must carry the semantic burden. It maps 'answer' and 'dismissed' status, but doesn't clarify that question_id identifies an existing record, that status is required, or the meaning of 'open' versus 'answered' statuses. The description only partially compensates for the undocumented schema.

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

Purpose4/5

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

The description states concrete actions: recording an answer to a question or marking it as ignored (记录问题的回答,或把问题标记为已忽略). This clearly identifies the resource (open questions) and the primary update operations, distinguishing it from sibling add/list tools by implication. It doesn't mention the 'open' status transition (reopening), so it is slightly incomplete.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus open_question_add or open_questions_list. The description only says what the tool does and does not name alternatives, exclusions, or workflow prerequisites, so an agent must infer the intended usage context.

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

project_create创建经营项目C

创建本地经营项目,记录目标、负责人、业务类型和当前阶段。

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
nameYes
ownerYes
stageYes
objectiveYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations include readOnlyHint=false, but no destructiveHint or idempotentHint, and the description doesn't disclose any side effects, such as whether the project is persisted to a store, requires authentication, or overwrites existing projects with the same name. For a mutation tool, the description should note these details beyond claiming 'creates'.

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

Conciseness4/5

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

The description is a single sentence, concise and front-loaded with the main verb and purpose. It doesn't waste words, though it could be more informative within the sentence length.

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

Completeness2/5

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

Given the tool has 5 required parameters and is a creation tool, the description is incomplete. It doesn't explain return values (no output schema), doesn't mention success/failure behavior, and doesn't cover parameter details like 'name' or 'kind' enum values. The description alone would leave an agent guessing about mandatory fields.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It mentions '目标、负责人、业务类型和当前阶段' (objective, owner, kind, stage), but omits 'name' completely, and doesn't explain the 'kind' enum values or the meaning of 'stage' (e.g., expected format or examples). The description adds some meaning but insufficiently.

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 it creates a local business project and enumerates the key fields (target, owner, business type, current stage), which aligns with the schema parameters. It distinguishes this from project_list, project_get, and project_snapshot by implying creation, though it doesn't 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?

The description gives no guidance on when to use this tool versus other creation tools like task_create, decision_create, or evidence_add. It doesn't mention prerequisites or the context for starting a new project, relying on the agent to infer from the name and sibling list.

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

project_get读取项目概览B
Read-onlyIdempotent

读取项目目标、负责人、阶段和知识、证据、决策、任务、回执数量。

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds the specific return fields and that counts are included, which is useful context beyond the annotations, but it does not describe any other behavioral aspects such as error handling or performance characteristics.

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 lists all returned data efficiently. There is no redundancy or wasted 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?

Given the absence of an output schema, the description appropriately details what the tool returns (goals, owner, phases, and counts). It is complete for a simple read operation with one obvious parameter, and the annotations cover safety. No critical information for calling the tool correctly is missing.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the undocumented project_id parameter. It does not explain the parameter at all. While project_id is self-evident from the name, the description adds no meaning beyond what the schema already provides (a string with length constraints).

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

Purpose4/5

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

The description states a specific verb (读取/read) and resource (项目概览/project overview), and enumerates the exact content: goals, owner, phases, and counts of knowledge, evidence, decisions, tasks, receipts. It is clear and specific, though it does not explicitly distinguish from sibling project_snapshot, so it stops short of a 5.

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

Usage 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 project_list or project_snapshot. The description implies a read operation for overview data but provides no explicit context, exclusions, or recommendations. An agent must infer usage.

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

project_list查看项目列表A
Read-onlyIdempotent

列出本地经营项目,可按状态筛选。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is fully covered. The description adds that it is a listing operation with status filtering, but does not disclose behavior like pagination, sorting, or the meaning of 'local'. With annotations present, the description contributes minimal extra behavioral context.

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

Conciseness5/5

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

The entire description is one sentence: '列出本地经营项目,可按状态筛选。' It is front-loaded with the main action and then adds the filter capability. There is no filler, and every word serves a purpose.

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 list tool with only two optional parameters and full annotation coverage, this is minimally adequate. However, it does not describe the return shape, the 'local' qualifier's meaning, or any pagination behavior. With siblings like project_get and project_snapshot, a bit more context on when this list is the right choice would improve completeness.

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. It does mention '可按状态筛选' (can filter by status), which clarifies the purpose of the status parameter. However, it says nothing about the limit parameter or its default/maximum values, even though the schema defines them. The description adds value for status but leaves limit unexplained.

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 '列出本地经营项目' (list local business projects), which identifies the verb and resource. It also mentions filtering by status, which distinguishes it from siblings like project_get and project_create. An agent can immediately understand this is a list operation.

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 gives context that status filtering is available, but it does not explicitly state when to use this tool versus alternatives like project_get or project_snapshot. No exclusions or alternatives are named, leaving usage guidance 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.

project_snapshot生成项目快照C

把项目当前的知识索引、证据、决策、任务、回执和待补问题保存为不可变快照。

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
project_idYes

TDQS

C2.9/5.0
Behavior2/5

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

注解未提供关于副作用的细节(readOnlyHint为false,表示有写入),描述中提及'不可变',暗示创建后不可更改,但未说明是否覆盖现有快照、是否需要权限、是否影响其他数据,或返回什么信息。对于非只读操作,行为披露不足。

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?

描述仅一句话,简洁且无冗余信息,直接说明了目的。但结构上缺少对参数和返回值的说明,没有浪费但也没有更多结构。

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?

对于具有2个必需参数且无输出模式、无枚举、无嵌套对象的工具,描述提供了基本的功能概述,但缺少关键上下文,如快照的唯一性、覆盖行为、权限要求等。鉴于工具复杂度和兄弟工具的存在,描述显得不够完整。

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?

模式描述覆盖率为0%,描述未解释label和project_id的具体用途。虽然从参数名可推断,但描述没有为其添加任何语义,例如label是否用于标识快照,project_id是否必填等。描述未能补偿模式的缺失。

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?

描述明确说明了工具的具体功能:将项目当前的多种元素(知识索引、证据、决策等)保存为不可变快照。动词'保存'和资源'项目快照'明确,且与兄弟工具(如project_create、project_get)区分明显,因为其他工具不专门用于快照操作。

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?

描述没有说明何时使用此工具,也没有提及替代方案或排除条件。虽然隐含地指用于创建快照,但未与project_get或project_list等其他工具进行对比,或说明何时不应使用。

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

receipt_attach记录执行回执C

保存外部平台已经返回的执行凭证。它只记录事实,不把回执等同于最终业务结果。

ParametersJSON Schema
NameRequiredDescriptionDefault
statusYes
payloadNo
task_idNo
project_idYes
action_typeYes
external_idNo
occurred_atYes

TDQS

C2.8/5.0
Behavior2/5

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

Annotations are all false and carry no safety signal, so the description bears the burden. It adds 'only records facts' but does not disclose idempotency, duplicate handling, permissions, or side effects of attaching a receipt; it does not contradict annotations.

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

Conciseness4/5

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

Two short sentences with no fluff; the key action and semantic caveat are front-loaded. It is efficient, though the 7-parameter tool would benefit from more structured detail.

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

Completeness2/5

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

With no schema descriptions, no output schema, and non-informative annotations, the description is too thin for an agent to invoke reliably: required fields, payload shape, status values, and relationship to task_id/external_id are all left implicit.

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 none of the 7 parameters (project_id, action_type, status, occurred_at, payload, external_id, task_id) are explained in the description. The phrase '外部平台已经返回的执行凭证' hints at context but maps to no parameter, so the description adds almost no semantic value beyond field names.

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?

Description names the action ('保存'), the resource ('外部平台已经返回的执行凭证'), and adds a semantic boundary ('只记录事实...不把回执等同于最终业务结果'). It stops short of explicit differentiation from the sibling evidence_add, so it is not a 5.

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

Usage Guidelines3/5

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

Implies when to use: when an external platform has already returned an execution receipt, and clarifies it is not a statement of final business outcome. But it gives no explicit alternative routing or when-not-to-use conditions vis-à-vis evidence_add or decision_create.

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

receipt_list查看执行回执C
Read-onlyIdempotent

列出项目或指定任务的执行回执。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
task_idNo
project_idYes

TDQS

C2.7/5.0
Behavior2/5

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

Annotations already cover the read-only, idempotent, and non-destructive nature, so the description carries a lower burden. However, it adds no behavioral context beyond the literal action—no mention of ordering, pagination, result limits, or what constitutes an execution receipt. The description is essentially a restatement of the title without new behavioral insights.

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, direct sentence with no redundancy or fluff. It front-loads the core purpose. While it could be expanded with useful details, it remains appropriately concise for its simplicity, though it risks being too sparse to be fully helpful.

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

Completeness2/5

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

For a list tool with no output schema and no parameter documentation, the description is insufficient. It doesn't explain what an execution receipt is, what the response format looks like, how pagination works, or any sorting/filtering nuances. An agent calling this tool would lack critical context about the returned data and how to interpret it.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It implicitly hints that project_id is required and task_id is optional (by saying 'project or specified task'), but it provides no details about the limit parameter, its default, or how it affects results. The description adds minimal meaning beyond what the schema's property names already convey.

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 (list execution receipts) and the scope (project or specific task). It distinguishes from siblings like evidence_list and receipt_attach by naming the resource type, so an agent can infer its purpose without confusion. However, it doesn't explicitly differentiate from other list tools, missing a chance to reinforce its unique focus.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description doesn't mention any conditions, prerequisites, or exclusions, nor does it reference sibling tools. An agent has to infer that this is the go-to for listing receipts, which is not always obvious.

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

review_run执行记录复盘C
Read-onlyIdempotent

确定项目是信息不足、尚未执行、缺回执,还是已经具备人工复盘条件;不会把执行回执误判成业务有效。

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

C2.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering safety. The description adds a specific behavioral guarantee: it will not misjudge an execution receipt as business-effective, which is beyond annotation coverage and provides useful context. However, it doesn't describe the output format or other operational behaviors, so a middle score is appropriate.

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 extremely concise—two short sentences with no wasted words. The main purpose is front-loaded in the first sentence, and the behavioral nuance is efficiently added in the second. This is appropriately sized for a simple read-only tool, though it could be slightly more informative without losing conciseness.

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

Completeness2/5

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

For a simple tool with one parameter, the description covers the core purpose but lacks critical details: no output schema exists, and the description doesn't explain what the tool returns (e.g., a classification, a status enum, or a boolean). Domain-specific terms like '缺回执' are used without explanation. The behavioral guarantee is useful but doesn't fill the completeness gap.

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%, meaning the schema provides no parameter descriptions. The description does not mention project_id at all, failing to compensate for the lack of schema detail. Although the parameter name is self-explanatory, the description should at least reference it to confirm the input requirement. This is a clear gap given the low coverage.

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

Purpose4/5

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

The description clearly states the tool's purpose: it determines a project's execution status (insufficient information, not executed, missing receipt, or ready for manual review). It uses a specific verb '确定' (determine) and a clear resource (project execution record). The added note about not misjudging execution receipts as business-effective further clarifies its function. It is distinguishable from siblings like decision_review, though it doesn't explicitly name alternatives.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool versus alternatives. It implies usage when assessing project execution state, but there is no mention of when not to use it or which sibling tools might be more appropriate. With many siblings, this lack of routing guidance is a significant gap.

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

task_create创建经营任务A

把已明确的建议转成有负责人、截止时间和验收条件的本地任务。需要人工审批的决策必须先通过 decision_review。

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerYes
titleYes
due_atNo
project_idYes
decision_idNo
acceptance_criteriaYes

TDQS

A3.9/5.0
Behavior3/5

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

Annotations are minimal (readOnlyHint=false, destructiveHint=false) and the description adds a key behavioral constraint: decisions needing approval must pass through decision_review. However, it doesn't disclose side effects like whether the task is persisted immediately, failure modes, or whether the operation is idempotent. The description adds some context but not comprehensive behavioral detail.

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

Conciseness5/5

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

Two sentences, front-loaded with the core action and followed by a key prerequisite. No wasted words, every sentence serves a purpose.

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 creation tool with 6 parameters, no output schema, and minimal annotations, the description covers the main purpose and a critical condition but leaves gaps: the purpose of decision_id, the format of due_at, and what happens on success or failure. It's adequate but not fully complete for an agent to call it without additional inference.

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 explain parameters. It mentions owner, due date, and acceptance criteria, which maps to owner, due_at, and acceptance_criteria. It does not explain decision_id or project_id beyond implicit context, nor does it specify the date-time format. The description adds partial meaning but doesn't fully compensate for the missing schema 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 states a clear verb and resource: converting explicit suggestions into local tasks with owner, due date, and acceptance criteria. It distinguishes itself from decision tools by referencing decision_review as a prerequisite, 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?

It explicitly tells when not to use this tool: if a decision requires manual approval, it must first go through decision_review. This points to the alternative tool and the condition, though it doesn't cover all sibling comparisons (e.g., task_update). The guidance is clear for the primary alternative.

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

task_list查看任务列表A
Read-onlyIdempotent

列出项目任务,可按状态筛选。

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
statusNo
project_idYes

TDQS

A3.6/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds no behavioral details beyond 'listing' and 'filtering' – no mention of pagination, return format, or permissions. With annotations present, the bar is lower, but the description contributes nothing extra about behavior.

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 wasted words. It is front-loaded with the primary purpose and immediately states the filtering capability. Perfectly sized for the tool's simplicity.

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 three parameters, one required, and no output schema. The description covers the filtering aspect but does not explain the required project_id or the limit behavior. It also does not describe the return value (list of tasks). While the tool is simple, the missing parameter explanations and return format make it incomplete for an agent that needs to call it correctly.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does mention '可按状态筛选', which maps to the status parameter, but it does not explain project_id (required) or limit (pagination). The schema provides defaults and enum, but the description adds minimal value for these parameters. It partially compensates for status but not for the others.

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 a specific verb ('列出') and resource ('项目任务'), and adds the filtering capability ('可按状态筛选'), which distinguishes it from task creation/update siblings. Even though the title is '查看任务列表', the description is more informative and specific.

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

Usage Guidelines4/5

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

The description implies the use case: when you need to list project tasks. It does not explicitly mention alternatives or exclusions, but the context of a list operation is clear. It lacks guidance on when not to use it (e.g., when you need to create or update tasks), but the sibling names provide some implicit context.

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

task_update更新任务状态A

更新本地任务状态;标记完成时必须填写具体结果。该工具不会执行任务本身。

ParametersJSON Schema
NameRequiredDescriptionDefault
resultNo
statusYes
task_idYes

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=false (write operation), destructiveHint=false, and idempotentHint=false. The description adds valuable behavioral context: the tool is local, does not execute tasks, and requires a result when status is set to 'done'. These details go beyond the annotations and help the agent understand side effects and constraints.

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: two sentences with no redundancy. It front-loads the primary purpose, then the critical conditional, then a boundary constraint. Every word 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?

For a simple update tool with three parameters and no output schema, the description covers the essential points: purpose, the critical conditional requirement, and a scope boundary. It does not specify return values (not needed without an output schema) or elaborate on enum semantics, but these are inferable. Overall, the description is sufficient for an agent to use it correctly.

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?

With 0% schema description coverage, the description must compensate. It explains the conditional requirement for the 'result' parameter (required when status='done'), which is crucial. However, it does not elaborate on the meaning of 'task_id' or the status enum values, though these are somewhat self-explanatory. The description adds some value but does not fully cover 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's purpose: updating local task status. It also explicitly distinguishes this from executing the task itself, and the phrase '本地' (local) differentiates from potential remote alternatives. This distinguishes it from siblings like task_create and task_list.

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 on when to use the tool (to update status) and a key conditional requirement (result required when marking done). It also gives a negative guideline ('does not execute the task'), which helps the agent avoid misuse. However, it does not explicitly name alternative tools or when not to use it beyond the execution caveat.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 20 tool updatesv0.1.0
    • First observeddecision_create
    • First observeddecision_list
    • First observeddecision_review
    • First observedevidence_add
    • First observedevidence_list
    • First observedknowledge_ingest
    • First observedknowledge_search
    • First observedopen_question_add
    • First observedopen_question_update
    • First observedopen_questions_list
    • First observedproject_create
    • First observedproject_get
    • First observedproject_list
    • First observedproject_snapshot
    • First observedreceipt_attach
    • First observedreceipt_list
    • First observedreview_run
    • First observedtask_create
    • First observedtask_list
    • First observedtask_update

TDQS

A3.5/5.0

Scored across 20 tools

Disambiguation5/5

每个工具都有明确的目标资源与动作,如知识搜索、证据添加、决策创建等,彼此边界清晰。即使有类似的如evidence_add和receipt_attach,但描述区分了通用证据与执行回执,不会混淆。

Naming Consistency5/5

所有工具都采用动词_名词的命名模式(如knowledge_search, evidence_add, decision_create),且统一使用snake_case,没有混用大小写或风格。虽然project_snapshot为名词组合,但整体模式一致,不影响可预测性。

Tool Count4/5

20个工具对于一个经营决策支持系统来说稍多,但每个工具都覆盖了不同的子领域(知识、证据、决策、任务、回执、待补问题),且没有冗余。虽然略高于典型范围,但复杂度需要这么多工具。

Completeness4/5

覆盖了核心生命周期:知识管理、证据记录、决策创建与审批、任务创建与更新、回执管理、待补问题追踪。缺少删除操作,但可能是有意的审计保留设计。总体覆盖全面,没有明显阻碍流程的缺失。

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    Provides AI agents with persistent, local, and shareable project memory by storing decisions and code context in a searchable SQLite index, supporting keyword and semantic search via MCP.
    39 PyPI
    3
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables MCP agents to maintain durable, evidence-aware project knowledge, retrieve precise excerpts on demand, and track decisions, conflicts, and revisions across sessions.
    1
    Apache 2.0
  • A
    license
    C
    quality
    A
    maintenance
    Enables engineering agents to maintain persistent knowledge across sessions by storing decisions, invariants, gotchas, and rejected ideas, with staleness detection, conflict detection, full-text search, and structured context assembly.
    31
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables MCP-compatible coding agents to persist and retrieve durable project context—such as decisions, preferences, issues, tasks, and notes—locally across sessions without cloud services.
    MIT