Skip to main content
Glama
xgq18237

SiYuan MCP Server

by xgq18237

🧠 SiYuan MCP Server

简体中文 | English

让 Claude、Cursor、Codex 等 AI 客户端安全地读取和操作思源笔记。

siyuan-mcp 是一个基于 Model Context Protocol 的思源笔记 MCP 服务器。它通过思源 Kernel API 提供笔记本、文档、内容块、全文搜索、原生数据库、资源文件和导出等能力,并针对 AI 自动化场景增加了结构化返回、安全注解与默认防护。

当前版本:1.1.1


✨ 核心亮点

能力

说明

📚 笔记本与文档

创建、浏览、搜索、重命名、移动和删除

🧱 内容块

Markdown/DOM 插入、更新、移动、折叠、引用和批量操作

🔎 搜索

文档标题搜索、全文块搜索和 SQL 查询

🗃️ 原生数据库

创建 AV 数据库、字段、条目、单元格和批量更新

📎 文件与资源

Multipart 上传、工作空间文件读写和二进制 Base64 返回

🧩 模板与转换

Template、Sprig、Pandoc、Markdown 和资源导出

🛡️ 可选防护

删除类操作保护开关、路径白名单和响应上限

🤖 MCP 友好

structuredContentisError、工具安全注解和纯净 stdio

项目目前提供约 69 个面向 AI 使用场景设计的工具。它选择性封装稳定且实用的思源接口,不追求暴露全部内核私有 API。

Related MCP server: SiYuan Note MCP Server

🧭 工作原理

flowchart LR
    A["AI 客户端<br/>Claude / Cursor / Codex"] -->|MCP stdio| B["SiYuan MCP Server"]
    B -->|HTTP + Token| C["SiYuan Kernel API"]
    C --> D["笔记本 / 文档 / 内容块"]
    C --> E["数据库 AV"]
    C --> F["资源 / 模板 / 导出"]

所有调试信息只写入 stderrstdout 始终保留给 MCP JSON-RPC,避免客户端因混入普通日志而断开连接。


🚀 快速开始

🤖 让智能体自动配置

只需复制下面的提示词,并填写 MCP 客户端和思源 Token。默认连接本机 127.0.0.1:6806;使用其他地址时再修改 HOST 和 PORT。

请帮我配置最新版 siyuan-mcp。

用户配置:
- MCP 客户端:{{填写 Codex、Claude Desktop、Cursor 等}}
- 思源 API Token:{{填写 Token}}
- SIYUAN_HOST:127.0.0.1
- SIYUAN_PORT:6806

请直接执行:

1. 检查 Node.js 是否已安装且版本不低于 18。
   - 如果 Node.js 未安装或版本低于 18,只告诉我需要安装或升级 Node.js,然后停止。
   - 不要尝试用其他方式绕过 Node.js 要求。

2. 自动找到当前 MCP 客户端的配置文件,保留已有配置,只新增或更新名为 `siyuan_note` 的 MCP 配置:
   - command: `npx`
   - args: `["-y", "siyuan-mcp@latest"]`
   - env:
     - `SIYUAN_HOST`
     - `SIYUAN_PORT`
     - `SIYUAN_TOKEN`

3. 安全要求:
   - 不要覆盖、删除或重排其他 MCP 配置。
   - 不要在回复中回显完整 Token。
   - 不要把 Token 写入项目代码、仓库文件、临时脚本或日志。
   - Token 只能写入 MCP 客户端的用户级配置文件。

4. 配置完成后,尝试让当前 MCP 客户端重新加载 MCP 配置。
   - 如果当前客户端支持在设置里重启/刷新 MCP 配置,请提示我去设置里执行该操作,然后停止,等我完成后再继续测试。
   - 如果当前客户端必须完整重启才能加载新的 MCP,请明确告诉我“需要重启客户端”,然后停止。
   - 不要为了测试连接而手写 MCP JSON-RPC 脚本、临时 Node 脚本或自定义客户端。

5. MCP 重新加载成功后,只使用当前 MCP 客户端已经加载的 `siyuan_note` MCP 能力测试连接:
   - 优先直接调用 `list_notebooks` 工具。
   - 如果客户端只暴露了等价的 notebooks 资源而没有暴露工具函数,可以读取该 notebooks 资源。
   - 不要调用其他工具或读取其他内容。

6. 最后只告诉我:
   - 配置是否成功;
   - 是否需要在设置里重启/刷新 MCP,或是否需要完整重启客户端;
   - 当前已开启的笔记本名称。

除非 Node.js 不满足要求、找不到配置文件、需要你去设置里重启/刷新 MCP、或必须完整重启客户端,否则不要中途询问,直接完成配置。

1. 准备环境

  • Node.js >= 18

  • 已启动的思源笔记

  • 思源 API Token

API Token 获取位置:

思源笔记 → 设置 → 关于 → API Token

2. 使用 npx 启动

npx -y siyuan-mcp@latest

MCP 服务器通常由 AI 客户端自动启动,不需要单独打开终端常驻运行。

3. 配置 MCP 客户端

{
  "mcpServers": {
    "siyuan_note": {
      "command": "npx",
      "args": ["-y", "siyuan-mcp@latest"],
      "env": {
        "SIYUAN_HOST": "127.0.0.1",
        "SIYUAN_PORT": "6806",
        "SIYUAN_TOKEN": "your-api-token-here"
      }
    }
  }
}

该配置形式可用于 Cursor、Claude Desktop 以及其他支持 stdio MCP 的客户端。不同客户端的配置文件位置可能不同,但 commandargsenv 内容基本一致。

为兼容旧版配置,推荐继续使用 SIYUAN_HOSTSIYUAN_PORTSIYUAN_TOKEN。连接远程实例、反向代理或带路径前缀的实例时,可以使用 SIYUAN_URL 覆盖 HOST/PORT:

{
  "env": {
    "SIYUAN_URL": "https://siyuan.example.com",
    "SIYUAN_TOKEN": "your-api-token-here"
  }
}

4. 验证连接

连接后可以让 AI 尝试:

检查思源连接状态,并列出当前打开的笔记本。

或者直接调用:

  • check_siyuan_status

  • list_notebooks

  • get_version


🧰 功能地图

📚 笔记本

工具

用途

list_notebooks

列出所有笔记本及打开状态

create_notebook

创建笔记本

open_notebook / close_notebook

打开或关闭笔记本

rename_notebook

重命名笔记本

get_notebook_conf / set_notebook_conf

读取或保存配置

remove_notebook

删除笔记本,属于危险操作

📄 文档与文档树

工具

用途

create_doc

使用 Markdown 创建文档

search_docs

按标题搜索文档

list_docs

浏览指定路径下的文档

rename_doc / rename_doc_by_id

重命名文档

move_docs / move_docs_by_id

移动文档

get_hpath_by_id

获取人类可读路径

get_path_by_id

获取底层存储路径

remove_doc / remove_doc_by_id

删除文档

🧱 内容块

支持 Markdown 和思源 DOM 两种输入格式。

工具

用途

insert_block

在指定锚点插入块

append_block / prepend_block

在父块前后插入子块

update_block

更新块内容

move_block

调整块位置

batch_insert_blocks

批量插入

batch_update_blocks

批量更新

get_block_info

获取块元数据

get_block_kramdown

获取 Kramdown 源码

get_block_breadcrumb

获取块面包屑

fold_block / unfold_block

折叠或展开

transfer_block_ref

转移块引用

set_block_attrs / get_block_attrs

操作块属性

insert_block 需要至少提供一个位置参数:

  • nextID

  • previousID

  • parentID

🔎 搜索与查询

全文搜索

search_blocks 使用思源原生全文搜索,支持:

  • 普通关键词

  • 查询语法

  • 正则表达式

  • 文档路径过滤

  • 块类型过滤

  • 分页、排序和按文档分组

SQL 查询

sql_query 会将 SQL 原样交给思源 Kernel API,不限制语句类型,也不会自动补充 LIMIT。调用写入、删除或结构变更语句前,请自行确认影响;查询大量数据时应主动添加 LIMIT

示例:

SELECT id, content, hpath, updated
FROM blocks
WHERE type = 'd'
ORDER BY updated DESC
LIMIT 20

优先使用 search_docssearch_blocks。只有在需要精确字段、聚合或复杂过滤时才建议使用 SQL。


🗃️ 原生数据库支持

数据库工具直接操作思源 Attribute View(AV),不是 Markdown 表格。

工具

用途

create_database

插入 AV 块并初始化数据库存储

get_database

分页渲染数据库

get_database_keys

获取字段定义

rename_database

重命名数据库

add_database_column

添加字段

remove_database_column

删除字段

append_database_rows

添加非绑定条目

set_database_cell

设置单元格

batch_set_database_cells

批量设置单元格

remove_database_rows

删除条目

创建数据库

{
  "parentID": "20260628160104-6d71dw0",
  "name": "项目清单",
  "columns": [
    {
      "name": "状态",
      "type": "select"
    },
    {
      "name": "完成",
      "type": "checkbox"
    },
    {
      "name": "备注",
      "type": "text"
    }
  ]
}

创建过程会自动完成:

  1. 生成合法 AV ID。

  2. 插入 NodeAttributeView 块。

  3. 调用 renderAttributeView 创建数据库存储。

  4. 设置数据库名称。

  5. 创建附加字段。

如果初始化失败,服务器会尝试回滚已插入的数据库块。

添加条目

{
  "avID": "20260628163701-rc230o0",
  "blockID": "20260628163701-7rmjwsl",
  "titles": [
    "整理需求",
    "实现功能",
    "发布版本"
  ]
}

更新单元格

set_database_cellvalue 使用思源 AV Value 结构。

文本字段示例:

{
  "avID": "数据库 ID",
  "keyID": "字段 ID",
  "itemID": "条目 ID",
  "value": {
    "text": {
      "content": "已经完成"
    }
  }
}

复选框字段示例:

{
  "value": {
    "checkbox": {
      "checked": true
    }
  }
}

常用字段类型包括:

textnumberdateselectmSelecturlemailphonemAssetcheckboxcreatedupdated


📎 文件与资源

资源上传

upload_asset 使用真正的 HTTP Multipart 表单,不会把文件路径误当作 JSON 发送。

{
  "assetsDirPath": "/assets/",
  "files": [
    "C:\\Users\\me\\Pictures\\diagram.png"
  ]
}

本地文件必须位于 SIYUAN_MCP_UPLOAD_ROOTS 允许的目录中。

工作空间文件

工具

用途

get_file

获取文本、JSON 或二进制文件

put_file

Multipart 写入文件或创建目录

read_dir

浏览目录

rename_file

重命名文件

remove_file

删除文件

返回策略:

  • JSON:直接返回结构化对象

  • 文本:返回 UTF-8 字符串

  • 二进制:返回 Base64、MIME 类型和字节数

put_file 支持三种输入方式:

  • filePath:本地文件路径

  • file:UTF-8 文本

  • contentBase64:Base64 数据


🛡️ 安全设计

可选的危险操作保护

删除类操作默认可用。若希望 MCP 只允许创建、读取和普通更新,可显式开启保护:

SIYUAN_MCP_PROTECT_DESTRUCTIVE=true

只有该参数显式为 true1 时,以下操作才会被拒绝:

  • 删除笔记本、文档和内容块

  • 删除数据库字段或条目

  • 覆盖、移动或删除工作空间文件

未配置、设为 false 或设为 0 时,删除类操作正常可用。

升级提醒:旧变量 SIYUAN_MCP_ALLOW_DESTRUCTIVE 已不再参与判断。若希望继续保持“拒绝删除”的行为,请改为 SIYUAN_MCP_PROTECT_DESTRUCTIVE=true

SQL 直接执行

sql_query 默认允许思源 Kernel API 支持的 SQL,不再区分“安全 SQL”和“危险 SQL”,也不自动添加行数限制。建议在查询语句中自行添加 LIMIT,并谨慎执行写入或结构变更语句。

旧变量 SIYUAN_MCP_ALLOW_UNSAFE_SQLSIYUAN_MCP_SQL_MAX_ROWS 已不再使用。

工作空间写入白名单

默认允许:

/data/assets,/temp

自定义:

SIYUAN_MCP_WRITE_PATH_PREFIXES=/data/assets,/data/templates,/temp

本地上传目录白名单

默认只允许 MCP 进程当前目录。

Windows:

SIYUAN_MCP_UPLOAD_ROOTS=C:\Users\me\Pictures;C:\Users\me\Documents

Linux/macOS:

SIYUAN_MCP_UPLOAD_ROOTS=/home/me/Pictures:/home/me/Documents

连接地址

SIYUAN_HOSTSIYUAN_URL 均可指向本机或远程实例,HTTP 与 HTTPS 都可以使用,MCP 不额外限制协议。通过公网或不可信网络连接时,仍建议由部署者使用 HTTPS 保护 API Token 和传输内容。


⚙️ 环境变量

变量

默认值

说明

SIYUAN_URL

完整思源 URL,优先于 HOST/PORT

SIYUAN_HOST

127.0.0.1

思源主机

SIYUAN_PORT

6806

思源端口

SIYUAN_TOKEN

思源 API Token

SIYUAN_MCP_PROTECT_DESTRUCTIVE

false

显式设为 true1 时拒绝删除类操作

SIYUAN_MCP_WRITE_PATH_PREFIXES

/data/assets,/temp

工作空间写入白名单

SIYUAN_MCP_UPLOAD_ROOTS

当前目录

本地上传目录白名单

SIYUAN_MCP_TIMEOUT_MS

120000

单次 API 请求超时(2 分钟)

SIYUAN_MCP_MAX_RESPONSE_BYTES

10485760

最大响应字节数

SIYUAN_MCP_MAX_TEXT_CHARS

30000

MCP 文本预览长度

SIYUAN_MCP_DEBUG

0

向 stderr 输出端点、状态和耗时

调试模式不会输出请求 Token 或笔记正文。


🐳 Docker

本项目采用 MCP stdio 传输。容器必须由 MCP 客户端以前台交互模式启动,因此需要 -i

使用已发布镜像

Docker Hub 镜像为 zhizhiqq/siyuan-mcp。使用 latest 可获得最新版,也可以固定版本标签以确保环境可复现:

docker pull zhizhiqq/siyuan-mcp:latest
# 当前版本:
docker pull zhizhiqq/siyuan-mcp:v1.1.1

MCP 客户端配置

下面的配置用于连接运行在宿主机上的思源:

{
  "mcpServers": {
    "siyuan_note": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--add-host",
        "host.docker.internal:host-gateway",
        "-e",
        "SIYUAN_HOST=host.docker.internal",
        "-e",
        "SIYUAN_PORT=6806",
        "-e",
        "SIYUAN_TOKEN",
        "zhizhiqq/siyuan-mcp:latest"
      ],
      "env": {
        "SIYUAN_TOKEN": "your-api-token-here"
      }
    }
  }
}

注意:

  • 容器内的 127.0.0.1 指向容器自身。

  • 访问宿主机思源应使用 host.docker.internal

  • --add-host=host.docker.internal:host-gateway 让 Linux 也能使用相同的宿主机地址;Docker Desktop 已原生支持该地址。

  • 必须保留 -i,MCP 通过容器的 stdin/stdout 通信。

  • --rm 会在进程停止后自动删除容器。

  • stdio MCP 不应使用普通后台 Compose 服务代替客户端进程。

  • docker compose run --rm siyuan-mcp-server 可用于手工连通性检查。

在 Docker 中上传本地文件

容器不能直接读取任意宿主机文件。需要将允许上传的宿主机目录以只读方式挂载到 /uploads,并设置 SIYUAN_MCP_UPLOAD_ROOTS=/uploads。在上方配置的镜像名称之前加入:

[
  "--mount",
  "type=bind,src=/宿主机/文件绝对路径,dst=/uploads,readonly",
  "-e",
  "SIYUAN_MCP_UPLOAD_ROOTS=/uploads"
]

请将 /宿主机/文件绝对路径 替换为实际绝对路径。只有该挂载目录内的文件能够上传。

本地构建镜像

如需从当前仓库自行构建,而不是使用 Docker Hub 镜像:

docker build -t siyuan-mcp-server .

然后将 MCP 配置中的 zhizhiqq/siyuan-mcp:latest 替换为 siyuan-mcp-server


📦 本地安装

git clone https://github.com/xgq18237/siyuan_mcp_server.git
cd siyuan_mcp_server
npm ci
npm run build
node dist/index.js

本地源码配置示例:

{
  "mcpServers": {
    "siyuan_note": {
      "command": "node",
      "args": [
        "C:\\path\\to\\siyuan_mcp_server\\dist\\index.js"
      ],
      "env": {
        "SIYUAN_HOST": "127.0.0.1",
        "SIYUAN_PORT": "6806",
        "SIYUAN_TOKEN": "your-api-token-here"
      }
    }
  }
}

🧪 开发与检查

npm ci
npm run check
npm test

命令

说明

npm run dev

使用 tsx 运行源码

npm run check

TypeScript 严格类型检查

npm run build

构建到 dist/

npm test

执行类型检查并重新构建

npm run rebuild

清理后重新构建

npm run test:docker

构建测试 Docker 镜像

涉及真实思源数据的集成验证应在隔离笔记本中进行,并在完成后清理临时文档、数据库、资源与导出文件。

项目结构

siyuan_mcp_server/
├─ src/
│  ├─ index.ts           # MCP 服务与资源
│  ├─ siyuan-client.ts   # JSON / Multipart / 二进制传输层
│  └─ tools.ts           # 工具定义、安全策略与调用实现
├─ dist/                 # 编译后的发布文件
├─ Dockerfile
├─ docker-compose.yml
├─ env.example
└─ package.json

🔧 常见问题

MCP 客户端无法连接

依次确认:

  1. 思源是否正在运行。

  2. SIYUAN_HOSTSIYUAN_PORT 是否正确;使用远程反向代理时再检查 SIYUAN_URL

  3. API Token 是否有效。

  4. Node.js 是否满足版本要求。

  5. 是否有普通日志写入 stdout。

可以先在浏览器打开:

http://127.0.0.1:6806

返回 401403 或鉴权失败

重新复制思源“设置 → 关于”中的 API Token,并重启 MCP 进程。不要在 Token 前后加入引号以外的空格。

删除工具提示危险操作保护已开启

当前 MCP 进程显式开启了保护。需要恢复删除能力时,移除该变量或设置:

SIYUAN_MCP_PROTECT_DESTRUCTIVE=false

上传文件提示不在允许目录

将文件移动到允许目录,或配置:

SIYUAN_MCP_UPLOAD_ROOTS=允许的本地目录

Docker 中无法访问思源

不要使用 127.0.0.1 访问宿主机,改用:

SIYUAN_HOST=host.docker.internal

数据库块存在但无法正常显示

数据库不仅需要 AV 块,还需要对应的 AV 存储。请使用 create_database,它会自动调用 renderAttributeView 完成初始化。

输出过大被截断

优先使用分页、搜索条件或 SQL LIMIT。必要时调整:

SIYUAN_MCP_MAX_RESPONSE_BYTES
SIYUAN_MCP_MAX_TEXT_CHARS

🤝 贡献

欢迎提交 Issue 和 Pull Request。新增工具时建议同时考虑:

  • 是否适合 AI 自动调用

  • 是否属于危险或破坏性操作

  • 是否需要分页和输出上限

  • 是否应返回结构化数据

  • 是否涉及 Multipart 或二进制响应

  • 是否会把敏感内容写入日志

📄 License

MIT

Available Tools

69 tools
add_database_columnC

添加数据库字段

ParametersJSON Schema
NameRequiredDescriptionDefault
avIDYes思源块、文档、笔记本或数据库 ID
iconNo字段图标
nameYes字段名称
typeYes字段类型
previousKeyIDNo思源块、文档、笔记本或数据库 ID

TDQS

C2.8/5.0
Behavior2/5

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

Annotations indicate non-readonly (write operation) and non-destructive, but description adds no behavioral details (e.g., whether it modifies the database schema, requires permissions, or has side effects). Without annotations, this would be worse, but annotation already conveys basic behavior.

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

Conciseness3/5

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

The description is extremely short (one phrase). While it is concise, it sacrifices informativeness. It could include a brief summary without being verbose.

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

Completeness2/5

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

With 5 parameters and no output schema, the description fails to explain return values, side effects, or the broader context of database column addition. Incomplete for effective agent use.

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 covers 100% of parameters with descriptions, so the description adds no additional meaning. Baseline score of 3 is appropriate given high schema 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?

Description is a clear verb+resource phrase '添加数据库字段' (add database column), accurately indicating the tool's action. However, it does not differentiate from sibling tools like remove_database_column, but the purpose is unambiguous.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites or when-not-to-use advice provided. The description is too minimal to help an agent decide context.

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

append_blockA

在父块末尾插入子块

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes块内容
dataTypeNo输入格式markdown
parentIDYes思源块、文档、笔记本或数据库 ID

TDQS

A3.5/5.0
Behavior2/5

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

Annotations indicate destructiveHint=false and readOnlyHint=false, but description adds minimal behavioral context—just states insertion. It does not describe side effects, return values, or idempotency beyond what annotations hint.

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 with no unnecessary words. It is front-loaded and efficient.

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

Completeness3/5

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

For a simple insertion tool with no output schema, the description is fairly complete but missing return value information. Given sibling volume, a bit more context (e.g., 'returns block ID') 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 100% due to per-parameter descriptions in the input schema. The tool description does not add any extra meaning to parameters, so baseline of 3 is appropriate.

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 specifies the verb (insert/append) and resource (child block into parent block), and distinguishes from siblings like prepend_block or insert_block by indicating position (末尾).

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives (e.g., prepend_block, insert_block). The description implies insertion at end but does not state prerequisites or context for use.

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

append_database_rowsC

以标题批量添加非绑定数据库条目

ParametersJSON Schema
NameRequiredDescriptionDefault
avIDYes思源块、文档、笔记本或数据库 ID
titlesYes条目标题
viewIDNo思源块、文档、笔记本或数据库 ID
blockIDNo思源块、文档、笔记本或数据库 ID

TDQS

C2.8/5.0
Behavior2/5

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

Annotations indicate readOnlyHint=false and destructiveHint=false, consistent with a mutation operation. However, the description does not disclose side effects, batch limits, or the meaning of 'non-bound' entries, leaving behavioral gaps beyond 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.

Conciseness3/5

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

The description is a single short phrase, which is concise but lacks structure. It front-loads the core function but omits details that could improve usability.

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, the description should explain return values or success indicators. It does not. Additionally, it lacks context on error handling, constraints, and the behavior of 'non-bound' entries, making it incomplete for a mutation tool.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all parameters. The description adds no additional parameter meaning beyond what the schema provides, meeting the baseline for high 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 indicates the tool adds non-bound database entries in bulk with titles. The verb 'append' and phrase 'batch add' match the tool name. Among sibling tools, it is distinct from database creation, cell setting, and row removal operations.

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 usage guidance is provided. The description does not specify when to use this tool over alternatives like batch_set_database_cells or set_database_cell, nor does it mention prerequisites or exclusions.

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

batch_insert_blocksC

批量插入块

ParametersJSON Schema
NameRequiredDescriptionDefault
blocksYes待插入块

TDQS

C2.8/5.0
Behavior2/5

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

The description does not disclose any behavioral traits beyond what annotations provide. Annotations show readOnlyHint=false and destructiveHint=false, but the description fails to explain transaction behavior, partial success, or error handling, which are important for a batch operation.

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

Conciseness3/5

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

The description is extremely concise (4 characters), which makes it efficient but sacrifices necessary details. While brevity is good, it omits essential context for a tool with complex nested parameters.

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

Completeness2/5

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

Given the complexity of the input (array of objects with relationships) and no output schema, the description is insufficient. It does not explain insertion order, required relationships, or whether the operation is atomic. The schema helps but the description fails to provide operational context.

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 100% description coverage, with each property (data, nextID, previousID, parentID, dataType) already documented. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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 indicates the tool's action (insert) and resource (blocks), distinguishing it from sibling tools like insert_block or batch_update_blocks. However, it could be more explicit about the batch nature and the context of 'blocks' in SiYuan.

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 usage guidelines are provided. The description does not specify when to use batch_insert_blocks versus insert_block or batch_update_blocks, nor does it mention prerequisites or typical scenarios.

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

batch_set_database_cellsB

批量设置数据库单元格;values 使用思源批量 AV Value 结构

ParametersJSON Schema
NameRequiredDescriptionDefault
avIDYes思源块、文档、笔记本或数据库 ID
valuesYes单元格更新对象

TDQS

B3.2/5.0
Behavior2/5

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

Annotations do not provide much (all false), and the description only says 'batch set database cells'. It does not disclose any side effects, auth needs, or behavior beyond the obvious mutation. No mention of what happens on failure or partial updates.

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 with two clauses, front-loaded with the primary action. No unnecessary words. Every character 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?

Given the simplicity (2 parameters, fully described in schema) and no output schema, the description is minimally adequate. It provides the batch intent and a format hint, but lacks context on constraints (e.g., all cells same database), error handling, or atomicity.

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

Parameters4/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds the important format hint 'values 使用思源批量 AV Value 结构', which clarifies the structure of the values array, adding value beyond the schema's 'cell update object'.

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

Purpose4/5

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

The description clearly states '批量设置数据库单元格' (batch set database cells), indicating a batch operation. It distinguishes from the sibling tool 'set_database_cell' (singular). However, the mention of '思源批量 AV Value 结构' may be unclear to non-Chinese users.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The sibling 'set_database_cell' implies this is for batch updates, but no conditions or exclusions are stated.

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

batch_update_blocksC

批量更新块

ParametersJSON Schema
NameRequiredDescriptionDefault
blocksYes待更新块

TDQS

C2.1/5.0
Behavior2/5

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

Annotations indicate a write operation (readOnlyHint=false) but the description adds no behavioral context, such as error handling, atomicity, or whether partial updates are supported.

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

Conciseness2/5

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

The description is extremely short (4 characters) but is under-specified. It fails to provide sufficient information for an agent to understand the tool's behavior.

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

Completeness1/5

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

For a batch update operation with nested parameters and no output schema, the description is completely inadequate. It misses crucial details like return values, atomicity, and error conditions.

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

Parameters3/5

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

Schema coverage is 100% with each parameter already described. The description does not add extra parameter semantics, so a baseline of 3 is appropriate.

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

Purpose2/5

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

The description '批量更新块' is a direct translation of the tool name, stating 'batch update blocks'. It is tautological and does not differentiate from sibling tools like 'update_block' or 'batch_insert_blocks'.

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 'update_block' for single updates or 'batch_insert_blocks' for insertions. No prerequisites or exclusions are mentioned.

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

check_siyuan_statusA
Read-onlyIdempotent

检查连接、鉴权、笔记本和 SQL 可用性

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already indicate the tool is read-only and idempotent. The description adds specific context by listing the four aspects being checked (connection, auth, notebook, SQL), providing behavioral details beyond the annotations. No contradictions.

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 immediately conveys the tool's purpose. Every word is necessary, and it is front-loaded.

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?

While the description covers the checks performed, it lacks information about the output format or return value. For a health-check tool, knowing whether it returns a boolean, status codes, or details would be valuable. Annotations compensate for safety but not completeness.

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 provides no meaning to add. The description correctly doesn't mention parameters. According to guidelines, baseline is 4 for 0 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 checks connection, authentication, notebook, and SQL availability. This is a specific verb-resource combination that distinguishes this health-check tool from sibling tools like get_version or sql_query which focus on individual aspects.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. The description does not mention prerequisites, typical use cases, or when not to use it. The name implies it's for health checks but lacks comparative context.

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

close_notebookB

关闭指定笔记本

ParametersJSON Schema
NameRequiredDescriptionDefault
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

B3.4/5.0
Behavior2/5

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

Annotations are all false, indicating no special behavioral hints. The description does not disclose any side effects, such as whether closing saves state or if the notebook must be open. More context is needed.

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

Conciseness5/5

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

The description is a single concise sentence with no unnecessary words. It is appropriately sized for a simple tool.

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 tool with one parameter and no output schema, the description is mostly complete. It lacks some behavioral nuance but is sufficient given the context of sibling 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 coverage is 100% with a clear description for the 'notebook' parameter. The description adds no additional meaning beyond what the schema already provides.

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 (close) and the resource (specified notebook). It effectively distinguishes from sibling tools like open_notebook, rename_notebook, etc.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any prerequisites or conditions. The usage is implied but not explicit.

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

create_databaseB

创建并初始化原生思源数据库,可同时创建字段

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo数据库名称
columnsNo附加字段
parentIDYes思源块、文档、笔记本或数据库 ID

TDQS

B3.1/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=false and destructiveHint=false, so the description's mention of 'create' is consistent but adds no new behavioral context. It does not disclose potential side effects, such as whether the database must not already exist, or what happens to existing 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 clear sentence, front-loaded with the main action. It is concise, though it could benefit from more structure (e.g., listing parameters).

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

Completeness2/5

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

There is no output schema, so the description should explain what the tool returns (e.g., the database ID). It also fails to clarify the exact role of parentID beyond what the schema provides. For a creation tool, more details about success conditions and return values are needed.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds that fields can be created simultaneously, which relates to the 'columns' parameter, but does not provide additional meaning beyond the schema's descriptions.

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

Purpose5/5

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

The description clearly states the tool creates and initializes a native SiYuan database, with the ability to create fields simultaneously. It uses a specific verb ('create') and resource ('database'), distinguishing it from sibling tools like get_database or rename_database.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as create_notebook or append_database_rows. There is no mention of prerequisites, conditions, or 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.

create_docB

在指定笔记本中新建 Markdown 文档

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes文档路径,例如 /daily/2026-06-28
markdownYesMarkdown 内容
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

B3.2/5.0
Behavior2/5

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

Annotations provide no behavioral hints (all false). Description does not disclose additional traits such as whether overwriting occurs, intermediate directory creation, or error handling.

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

Conciseness5/5

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

Single concise sentence with no extraneous words. Purpose is front-loaded and easily understood.

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 three required parameters and no output schema, the description lacks details on return values, error scenarios, or behavior when notebook does not exist. Incomplete for a creation tool.

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

Parameters3/5

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

Schema provides full coverage for all three parameters. Description adds no extra meaning beyond what is already in the schema, so baseline score applies.

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

Purpose5/5

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

Description clearly states the action (create), resource (Markdown document), and location (in specified notebook). It distinguishes from sibling tools like create_database or insert_block.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as insert_block or other document tools. No mention of prerequisites or context.

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

create_notebookB

创建新笔记本

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes笔记本名称

TDQS

B3.2/5.0
Behavior2/5

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

Annotations are all false, providing no hints about behavior. The description does not disclose whether notebook creation requires specific permissions, what happens if a notebook with the same name exists, or any side effects. This lack of detail leaves the agent guessing.

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 at one sentence, which is efficient for a simple operation. However, it could be expanded slightly without becoming verbose to include critical usage context.

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 create tool with one parameter and no output schema, the description is minimally adequate. However, it lacks information about creation location, duplicate handling, and return values, which could be important 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?

Schema coverage is 100% with a single required 'name' parameter described as '笔记本名称'. The tool description does not add any additional meaning or context to the parameter beyond what the schema already provides. Baseline 3 is appropriate.

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 communicates the action (create) and the resource (notebook). It is distinct from sibling tools like 'list_notebooks' and 'rename_notebook', so the agent can easily differentiate.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool compared to alternatives, such as when creating a notebook should be preferred over other notebook operations. No prerequisites or exclusions are mentioned.

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

delete_blockC
Destructive

删除块

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

C2.3/5.0
Behavior2/5

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

The annotation destructiveHint=true already informs the agent that the tool is destructive. The description adds no further behavioral details, such as permanence, permissions required, or impact on related data. Thus, it offers no additional transparency.

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

Conciseness2/5

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

The description is extremely concise at two characters, but this brevity sacrifices meaningful content. Conciseness should be balanced with informativeness; here, it is under-specified.

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 simple nature of the tool (one required parameter, destructive annotation), the description is minimally adequate but does not convey that the ID can refer to blocks, documents, notebooks, or databases, which is important context provided only in the parameter description. The tool-level description fails to summarize this.

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 provides 100% coverage for the single parameter 'id', including a pattern and description. The tool description does not add any parameter semantics beyond what the schema already offers. Baseline 3 is appropriate.

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

Purpose2/5

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

The description '删除块' is a direct translation of the name, essentially a tautology that adds no new information beyond what the name 'delete_block' already conveys. It does not specify what a block is or clarify the scope of deletion.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like remove_doc, remove_notebook, or the many other block manipulation tools. The agent receives no context about which delete operation is appropriate.

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

export_md_contentC
Read-onlyIdempotent

导出文档 Markdown

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds no extra behavioral context, such as what output format is returned or how different ID types are handled.

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

Conciseness4/5

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

The description is extremely concise at 4 Chinese characters, capturing the core purpose without waste. 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.

Completeness3/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 and no output schema, the description is minimally adequate. However, it omits details about the output format (e.g., returns a string or file) and how different ID types affect the export.

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 100% for the single parameter 'id', which already explains its purpose. The description does not add further semantic value beyond what the schema provides.

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 '导出文档 Markdown' clearly states the action (export), resource (document), and format (Markdown). It is specific enough, though it does not differentiate from sibling export tools like 'export_resources'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any exclusion criteria. The description lacks context for appropriate usage.

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

export_resourcesB
Read-onlyIdempotent

导出文件与目录

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo导出文件名
pathsYes工作空间路径

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, destructiveHint=false, so the safety profile is clear. The description does not add any behavioral traits beyond the literal meaning of 'export', so it is adequate but not enhanced.

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 with no unnecessary words. However, it could be slightly more informative (e.g., specifying that it exports from workspace paths).

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, annotations covering safety, and no output schema, the description is reasonably complete. It tells what the tool does, though it could mention the source context (workspace) more explicitly.

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

Parameters3/5

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

Schema coverage is 100%, meaning the parameters are fully described in the schema. The description adds minimal extra meaning (e.g., '文件和目录' clarifies scope), so baseline 3 is appropriate.

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 it exports files and directories (导出文件与目录). The name and description are self-explanatory, and it is distinguishable from siblings like export_md_content which exports markdown content. However, the description is in Chinese, which may not be optimal for all agents.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., get_file or read_dir for reading), nor any context about prerequisites or limitations.

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

flush_transactionB

等待思源事务队列落盘

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

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

Annotations are all false and provide no safety profile. The description states the tool waits for a flush, but does not clarify its blocking behavior, duration, side effects (e.g., disk writes), or whether it is safe to call repeatedly. With no annotation support, the description should provide more 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.

Conciseness4/5

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

The description is a single short sentence, front-loading the key action. While concise, the Chinese language may reduce clarity for non-Chinese agents, slightly lowering the score from 5 to 4.

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 no output schema and sparse annotations, the description should explain what happens after the flush (e.g., return value, confirmation). It does not mention return behavior, error states, or typical use cases. The lack of context makes it incomplete for an agent.

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?

There are zero parameters, and schema coverage is 100% (trivially). Per scoring rules, baseline is 4. The description does not add parameter-level information, but that is unnecessary here. No deduction needed.

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

Purpose5/5

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

The description '等待思源事务队列落盘' (Wait for SiYuan transaction queue to flush to disk) provides a specific verb (wait) and resource (transaction queue flush), clearly distinguishing this tool from siblings which focus on notebook, document, or block operations. No ambiguity.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives, nor does it mention prerequisites or recommended contexts. It is implied that this should be used after write operations, but this is not explicit.

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

fold_blockD

折叠块

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

D1.2/5.0
Behavior1/5

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

The description fails to disclose any behavioral aspects (e.g., whether folding is a mutation, reversible, or has side effects). With all annotations false, the burden is on the description, which provides no information beyond the name.

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

Conciseness1/5

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

The description is overly terse (two characters) and fails to convey any useful information. This is under-specification, not conciseness. No structure or front-loading of key details.

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

Completeness1/5

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

The description is completely inadequate for a tool with no output schema and a simple but crucial operation. It does not explain what folding does, its effects on the block, or anything beyond the name.

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?

Although the input schema has 100% coverage with a good description for the 'id' parameter, the tool description adds zero additional meaning. The description is merely the name, providing no context for how the parameter is used in the folding operation.

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

Purpose1/5

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

The description is a tautology, restating the tool's name in Chinese ('折叠块' = 'fold block') without any additional clarification of what folding a block entails or how it differs from 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 Guidelines1/5

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

No guidance is provided on when to use this tool versus alternatives like 'unfold_block' or other block manipulation tools. The description offers no context for appropriate usage.

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

get_block_attrsC
Read-onlyIdempotent

获取块属性

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

C2.1/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds no behavioral context (e.g., what format the returned attributes are in, whether it works for all block types, or error conditions). Fails to add 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.

Conciseness3/5

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

Extremely concise (one short phrase), but at the cost of informativeness. It is not well-structured; there is no front-loading of key details. While no words are wasted, the description is insufficiently 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?

Given the lack of output schema, the description should hint at the return value or structure. It does not. With many sibling tools, the description fails to contextualize its purpose. Minimal 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 coverage is 100%; the parameter 'id' is fully described in the schema with pattern and description. The tool description does not add any additional meaning about the parameter, so it meets the baseline of 3.

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

Purpose2/5

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

Description is literally 'Get block attributes' which restates the tool name. It provides no additional specificity about what attributes are retrieved or how this differs from sibling tools like get_block_info. Barely above tautology.

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

Usage Guidelines1/5

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

No guidance on when to use this tool vs alternatives such as get_block_info, get_child_blocks, or set_block_attrs. No context about prerequisites or typical use cases.

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

get_block_breadcrumbA
Read-onlyIdempotent

获取块的面包屑路径

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID
excludeTypesNo排除的块类型

TDQS

A3.7/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, indicating a safe read operation. The description adds that it retrieves a breadcrumb path but does not elaborate on specifics such as whether it returns ancestor IDs, names, or structure. No contradictions with 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 short sentence in Chinese, containing only essential information. It is front-loaded and has no fluff, earning its place perfectly.

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 read-only retrieval tool with good schema annotations, the description is somewhat adequate. However, it does not specify the format of the returned breadcrumb path (e.g., array of block IDs or titles), which an agent needs to interpret the output. Since no output schema exists, this is a gap.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described. The description does not add extra meaning beyond the schema. The 'id' parameter is well-defined by the regex and description, and 'excludeTypes' is clear from schema. Baseline of 3 is appropriate.

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 ('获取'/'get') and the resource ('面包屑路径'/'breadcrumb path') and the object ('块'/'block'). Among sibling tools like 'get_block_info' and 'get_child_blocks', this uniquely identifies retrieving the hierarchical breadcrumb path.

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 provide any guidance on when to use this tool versus alternatives like 'get_hpath_by_id' or 'get_path_by_id'. The context of breadcrumb path is implied but no explicit when/when-not 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.

get_block_infoB
Read-onlyIdempotent

获取块的元数据

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, destructiveHint=false, and idempotentHint=true, informing the agent this is a safe, read-only operation. The description adds no new behavioral specifics beyond the name. Since annotations carry the transparency burden, a score of 3 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 a single, short sentence with no extraneous information. It is concise and follows a standard structure. While it could benefit from more detail, it avoids verbosity.

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 one parameter, no output schema, and moderate complexity. The description fails to explain what the returned metadata includes (e.g., content, properties, children). This omission leaves the agent uncertain about the tool's result, making it incomplete.

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 of the single parameter is 100%, with the description matching the schema's purpose. The description does not add additional meaning or usage hints beyond what the schema already provides. Baseline score of 3 applies.

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 '获取块的元数据' (get block metadata), specifying verb and resource. However, it does not differentiate from sibling tools like get_block_attrs, get_block_breadcrumb, or get_block_kramdown, which may also relate to block metadata. The lack of distinction slightly reduces clarity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of context, prerequisites, or which sibling tools to consider instead. This omission leaves the agent without decision support.

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

get_block_kramdownB
Read-onlyIdempotent

获取块 Kramdown 源码

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, indicating safe, idempotent read behavior. The description adds that the tool returns Kramdown source code, but does not elaborate on format or any other behavioral details. Minimal additional context.

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 at 3 Chinese characters, with no unnecessary words. However, it may be overly brief given that a single sentence could provide more value without sacrificing conciseness.

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 no output schema, the description should clarify the output format. It states 'Kramdown source code' but leaves ambiguity about the nature of the output (e.g., raw text, structure). The tool's input accepts various ID types, but the name implies only blocks. Overall, barely adequate.

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

Parameters3/5

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

Schema coverage is 100%, and the parameter 'id' already has a description in the schema. The tool description adds no further meaning about the parameter beyond what the schema provides.

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 '获取块 Kramdown 源码' clearly states the tool retrieves Kramdown source code for a block. It uses a specific verb and resource, and distinguishes from sibling tools like get_block_info or get_child_blocks.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, when-not to use, or suggest alternative tools.

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

get_boot_progressA
Read-onlyIdempotent

获取思源启动进度

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior2/5

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

Annotations already indicate read-only, idempotent, non-destructive. Description adds no extra behavioral context, such as what 'boot progress' entails or response 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?

One short sentence, no superfluous words. Perfectly concise.

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

Completeness4/5

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

Given no parameters and no output schema, description adequately states purpose. However, it could hint at return value shape for completeness.

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

Parameters4/5

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

No parameters exist, and schema coverage is 100%. Description does not need to add parameter meaning.

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

Purpose5/5

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

Description clearly states verb '获取' and resource '启动进度', making purpose unambiguous. No sibling tool has similar function, so it is well-differentiated.

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 usage context or when-to-use vs. alternatives is provided. However, the tool is simple and self-explanatory, so minimal guidance is acceptable but still a gap.

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

get_child_blocksB
Read-onlyIdempotent

获取直接子块

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

B3.4/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is clear. The description adds minimal behavioral info beyond stating 'get direct child blocks'. It does not describe edge cases, response format, or behavior for invalid IDs.

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 short sentence, which is concise and avoids verbosity. However, it is perhaps too brief; a bit more context (e.g., that it returns a list of block objects) could be added without harming conciseness.

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 is simple with one parameter, full schema coverage, and comfortable annotations, the description is minimally adequate. It clearly states the purpose, but additional context like the return type or relationship to other block tools would enhance 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 100%: the id parameter has a clear description in the schema ('SiYuan block, document, notebook, or database ID'). The description adds no additional parameter details, but the schema is sufficient.

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

Purpose5/5

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

The description '获取直接子块' clearly states the verb (get) and the resource (direct child blocks), making the purpose immediately obvious. It distinguishes from sibling tools like get_block_info which returns block metadata, not child blocks.

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 usage guidelines are provided. The description does not explain when to use this tool versus alternatives such as get_block_info or search_blocks, nor does it mention any prerequisites or context.

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

get_current_timeA
Read-onlyIdempotent

获取思源内核当前时间

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description does not add any behavioral context beyond what annotations provide, such as rate limits or side effects. For a simple time retrieval, this is adequate but not enriched.

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 immediately communicates the tool's purpose. There is no wasted text, and it is appropriately front-loaded.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, no output schema, read-only), the description is largely complete. It could optionally mention the return value format (e.g., ISO string), but the current description is sufficient for an agent to understand the tool's function.

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 and schema description coverage is 100%. According to guidelines, baseline is 4 with 0 params. The description does not add parameter information, but no additional meaning is needed.

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

Purpose5/5

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

The description '获取思源内核当前时间' clearly translates to 'Get the current time of the Siyuan kernel', matching the tool name exactly. It uses a specific verb and resource, and distinguishes itself from sibling tools like list_notebooks or get_version which have different purposes.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, nor does it mention any prerequisites or conditions. It simply states what the tool does without any contextual usage advice.

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

get_databaseC
Read-onlyIdempotent

分页渲染数据库

ParametersJSON Schema
NameRequiredDescriptionDefault
avIDYes思源块、文档、笔记本或数据库 ID
pageNo页码
queryNo数据库内搜索词
viewIDNo思源块、文档、笔记本或数据库 ID
blockIDNo思源块、文档、笔记本或数据库 ID
pageSizeNo每页数量
createIfNotExistNo数据库文件缺失时是否创建

TDQS

C2.6/5.0
Behavior3/5

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

Annotations already indicate read-only, idempotent, non-destructive behavior. The description adds no further behavioral context (e.g., what happens if the database doesn't exist, or how pagination works). 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.

Conciseness2/5

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

The description is a single short phrase, which is under-specified. It sacrifices substance for brevity and does not effectively earn its place with meaningful information.

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

Completeness2/5

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

Given the tool has 7 parameters and no output schema, the description is insufficient. It does not explain the return value, how parameters interact, or what 'render' means in practice.

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?

All 7 parameters have descriptions in the schema (100% coverage), so the description does not need to add extensive param info. However, it adds no extra meaning beyond the schema.

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 '分页渲染数据库' indicates pagination rendering of a database, but it does not clearly specify what exactly the tool returns (e.g., rows, views) or how it differs from related tools like get_database_keys. The purpose is somewhat clear but lacks specificity.

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 vs alternatives such as get_database_keys or append_database_rows. There is no mention of prerequisites, context, or exclusions.

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

get_database_keysB
Read-onlyIdempotent

获取数据库字段定义

ParametersJSON Schema
NameRequiredDescriptionDefault
avIDYes思源块、文档、笔记本或数据库 ID

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 and destructiveHint=false, indicating a safe read operation. The description adds no additional behavioral traits, such as what happens if the ID does not exist or if the database is empty. It does not contradict 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, concise phrase with no unnecessary words. It is front-loaded and effectively communicates the tool's purpose in minimal space.

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

Completeness3/5

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

Given the tool has one parameter with full schema description and read-only annotations, the description is moderately complete. However, it lacks information about the return format or structure, which would be helpful since there is no output schema. It is adequate but leaves some gaps.

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

Parameters3/5

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

Schema coverage is 100%, with the parameter 'avID' described in the schema as '思源块、文档、笔记本或数据库 ID' (Siyuan block, document, notebook, or database ID). The description does not add any new meaning beyond the schema, so it meets the baseline of 3.

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 '获取数据库字段定义' translates to 'get database field definitions', which is a specific verb and resource. It clearly states the tool retrieves field definitions for a database. However, it does not distinguish from sibling tools like 'get_database' which might retrieve the entire database object, leading to potential ambiguity.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternative tools such as 'get_database', 'create_database', or other database-related operations. The description does not provide context about prerequisites or when it is appropriate to call this tool.

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

get_fileA
Read-onlyIdempotent

读取工作空间文件;文本/JSON直接返回,二进制以 Base64 返回

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes以工作空间为根的路径

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and idempotentHint; the description adds valuable detail on return format (Base64 for binary, direct for text/JSON), enhancing transparency beyond structured fields.

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 concise clauses front-loading key behavior; every word earns its place with no redundancy.

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 a single parameter, no output schema, and strong annotations, the description fully covers return types and behavior, leaving no gaps.

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

Parameters3/5

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

Schema coverage is 100% with description 'path rooted at workspace'; the tool description does not add new meaning beyond the schema, so baseline score applies.

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 it reads a workspace file and specifies return behavior for text/JSON vs binary, distinguishing it from sibling tools like put_file (write) or remove_file.

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 tool is for reading file contents, but lacks explicit guidance on when to use it versus alternatives like read_dir (for directory listing) or put_file (for writing).

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

get_hpath_by_idA
Read-onlyIdempotent

根据 ID 获取人类可读路径

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

A3.6/5.0
Behavior4/5

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

Annotations already indicate read-only and idempotent behavior. The description adds that the result is a 'human-readable path', clarifying the output format. No hidden behaviors are omitted.

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 short sentence that immediately conveys the tool's purpose. No extra words or structure.

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 tool with one parameter and no output schema, the description is sufficient. It explains the input (ID) and output (human-readable path). However, it doesn't mention possible errors or edge cases.

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 description does not add any meaning beyond the input schema. The schema already describes the 'id' parameter with pattern and description. With 100% schema coverage, the description adds no additional parameter semantics.

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

Purpose4/5

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

The description clearly states the action ('get') and the resource ('human-readable path') given an ID. It is specific and distinct from sibling tools like get_hpath_by_path, but does not explicitly differentiate itself.

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 get_path_by_id or get_hpath_by_path. No context for when to apply or avoid this tool.

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

get_hpath_by_pathA
Read-onlyIdempotent

根据存储路径获取人类可读路径

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes存储路径
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds no behavioral context beyond this, but 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.

Conciseness5/5

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

A single, direct sentence conveying the core purpose without any superfluous words. Efficiently front-loaded.

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

Completeness4/5

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

Given no output schema and simple parameters, the description is nearly complete. It could briefly mention the return type (human-readable path) but is sufficient for a read-only lookup tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema's existing parameter descriptions.

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

Purpose5/5

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

The description clearly states the verb 'get' and the resource 'human-readable path' based on 'storage path', distinguishing it from siblings like get_hpath_by_id or get_path_by_id that use different identifiers.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_hpath_by_id or get_ids_by_hpath. The description lacks context for selection.

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

get_ids_by_hpathC
Read-onlyIdempotent

根据人类可读路径获取 ID

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes人类可读路径
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint. The description adds no extra behavioral context beyond what is in the annotations, such as error handling, performance implications, or side effects.

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

Conciseness4/5

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

The description is a single, concise phrase with no superfluous text. It is efficient but arguably too minimal, leaving out important details.

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, the description should hint at the format or nature of the returned IDs. It does not. For a simple 2-param tool, the description is incomplete without specifying what 'get ID' means in terms of output structure or multiplicity.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond the schema's descriptions, which are already present. Baseline 3 is appropriate.

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 ('Get') and the resource ('ID based on human-readable path'). It is specific about the input and output mapping. However, it does not differentiate from similar sibling tools like 'get_path_by_id' or 'get_hpath_by_path'.

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 lacks any context about prerequisites, typical use cases, or when to avoid it.

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

get_notebook_confB
Read-onlyIdempotent

获取笔记本配置

ParametersJSON Schema
NameRequiredDescriptionDefault
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds no extra behavioral context (e.g., error handling, response format). With existing annotations, a 3 is appropriate as it does not detract but also adds no value.

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?

Extremely concise (one phrase), front-loaded. No wasted words. However, it is so minimal that it may be under-specifying, but still earns a 4 for efficiency.

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

Completeness2/5

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

No output schema provided, and description does not hint at return values or behavior. Given the tool's simplicity, some guidance on expected output 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?

Input schema has 100% coverage with parameter description. The tool description does not add meaning beyond what the schema provides. Baseline 3 is warranted.

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 '获取笔记本配置' (Get notebook configuration) clearly states the action (get) and resource (notebook configuration). It distinguishes well from siblings like set_notebook_conf, but could be more specific about what configuration entails.

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 set_notebook_conf or list_notebooks. No context about prerequisites or typical use cases provided.

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

get_path_by_idB
Read-onlyIdempotent

根据 ID 获取存储路径

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

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, destructiveHint=false, and idempotentHint=true. The description does not add behavioral context beyond 'get storage path', which is consistent but not informative. 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 core purpose without extraneous words. Every word contributes value.

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 being a simple tool, there is no output schema, and the description does not explain what the 'storage path' return value looks like or its format. The agent may lack sufficient context to interpret results 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?

Schema coverage is 100%, and the schema fully describes the 'id' parameter with pattern and description. The description only echoes '由 ID' without adding new meaning, meeting the baseline for high schema 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 verb ('获取'/'get') and resource ('存储路径'/'storage path') with the input ID. However, it does not differentiate from sibling tools like get_hpath_by_id or get_hpath_by_path, which are conceptually similar.

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 (e.g., get_hpath_by_id for hierarchical paths). It lacks any contextual or exclusionary hints.

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

get_versionA
Read-onlyIdempotent

获取思源版本

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds no behavioral context beyond the basic function, such as authentication or potential side effects.

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

Conciseness5/5

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

The description is extremely concise with a single sentence that effectively communicates the tool's purpose. No extraneous information is present.

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 tool with no output schema, the description is minimal but sufficient to understand the basic function. However, it does not specify the return format or data type, which could aid an agent.

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

Parameters4/5

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

The input schema has zero parameters, so schema coverage is 100%. Per guidelines, a baseline of 4 is appropriate since no parameter documentation is needed.

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

Purpose5/5

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

The description '获取思源版本' clearly states the tool retrieves the SiYuan version. The verb 'get' and resource 'version' are specific, and it distinguishes from sibling tools like get_current_time.

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 usage guidelines are provided. The description does not indicate when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions.

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

get_workspace_infoA
Read-onlyIdempotent

获取脱敏后的 MCP 连接与安全配置

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already indicate readOnlyHint, idempotentHint, and non-destructive behavior. The description adds that the output is 'desensitized', which is a behavioral trait beyond annotations. However, it does not disclose the format or scope of the returned configuration.

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?

A single, clear sentence. No wasted words. Front-loaded with the action and resource.

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 no output schema, the description could be more helpful by listing typical fields returned. However, the tool is simple and annotations cover safety. The description is minimally adequate but lacks detail on what the configuration contains.

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?

There are zero parameters, so baseline is 4. The description does not need to add parameter details, and schema coverage is 100% (empty schema). No additional semantic value is required.

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 and resource: 'Get desensitized MCP connection and security configuration'. It clearly distinguishes from sibling tools, which focus on notebooks, documents, blocks, databases, files, etc.

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 provides no guidance on when to use this tool versus alternatives. While it is a simple getter, the lack of context for when to retrieve workspace info (e.g., initial setup or troubleshooting) means the 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.

insert_blockB

在指定锚点插入块;nextID、previousID、parentID 至少提供一个

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes块内容
nextIDNo思源块、文档、笔记本或数据库 ID
dataTypeNo输入格式markdown
parentIDNo思源块、文档、笔记本或数据库 ID
previousIDNo思源块、文档、笔记本或数据库 ID

TDQS

B3.4/5.0
Behavior2/5

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

The description identifies the action as insertion but offers no further behavioral context such as error handling, permissions, or side effects. Annotations are all false, so the description carries the burden, but it adds minimal transparency.

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

Conciseness5/5

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

Single sentence front-loads the purpose and constraint. No extraneous 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?

With no output schema and five parameters including an anyOf constraint, the description is too brief. It lacks info on return values, error conditions, or behavior when anchor IDs are invalid.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already describes all parameters. The description reiterates the anyOf constraint but adds no new meaning beyond what the structured schema provides.

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 inserts a block at a specified anchor point and lists the required anchor IDs. This distinguishes it from sibling tools like prepend_block, append_block, or update_block.

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

Usage Guidelines3/5

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

It specifies that at least one of nextID, previousID, or parentID must be provided, which is a key usage constraint. However, it does not explicitly compare with alternatives or mention 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.

list_docsB
Read-onlyIdempotent

列出指定笔记本路径下的文档

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes路径,根目录使用 /
sortNo思源排序模式
notebookYes思源块、文档、笔记本或数据库 ID
flashcardNo是否只列出闪卡相关文档
showHiddenNo是否显示隐藏文档
maxListCountNo最大数量

TDQS

B3.2/5.0
Behavior2/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the description adds no additional behavioral context. It does not mention potential pagination, sorting effects, or error behavior beyond schema.

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

Conciseness4/5

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

The description is a single concise sentence, front-loaded with the core purpose. It is appropriately sized for a simple listing tool, though it could benefit from more structure (e.g., brief usage notes).

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 simplicity and annotation coverage, the description is minimally adequate. However, it lacks details on return format (no output schema) and behavior with invalid paths or edge cases, which would help 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 100%, so the schema already documents all six parameters. The description adds no extra meaning beyond what is in the schema. Baseline 3 is appropriate.

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 in Chinese: '列出指定笔记本路径下的文档' (list documents under specified notebook path). The verb 'list' and resource 'documents' are specific, and it distinguishes from sibling tools like search_docs or get_hpath_by_path.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The description does not specify exclusion criteria or mention sibling tools. Given many sibling tools for document operations, this 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.

list_notebooksA
Read-onlyIdempotent

列出所有思源笔记本及其打开状态

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

Annotations already provide readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds the detail about returning open status, but no further behavioral traits like performance or limitations.

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?

A single concise sentence with no unnecessary text. Every word adds value.

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 list tool with no parameters and good annotations, the description is adequate. It could optionally detail the output format, but not strictly necessary.

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

Parameters4/5

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

No parameters exist. With 0 parameters and 100% schema coverage, baseline is 4. The description adds no parameter info as none needed.

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

Purpose5/5

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

The description clearly states the action (list) and what is listed (all notebooks and their open status). It distinguishes from sibling tools like open_notebook or close_notebook which have different purposes.

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

Usage Guidelines4/5

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

The description implies usage when a full overview of all notebooks with their open status is needed. No explicit alternatives or when-not-to-use, but given the simplicity, it's clear enough.

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

move_blockC

移动块;previousID 或 parentID 至少提供一个

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID
parentIDNo思源块、文档、笔记本或数据库 ID
previousIDNo思源块、文档、笔记本或数据库 ID

TDQS

C2.6/5.0
Behavior2/5

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

Annotations provide no destructive or idempotent hints. The description does not disclose behavioral details such as whether moving is immediate, if it affects child blocks, or any side effects.

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

Conciseness4/5

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

The description is a single sentence, very concise. However, it lacks structure (e.g., no separated sections) and could benefit from more detail without being verbose.

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

Completeness2/5

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

Given no output schema and a move operation with complex implications, the description is incomplete. It omits return value behavior, error conditions, and prerequisites (e.g., permissions, block type restrictions).

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions. The description restates the anyOf constraint ('previousID 或 parentID 至少提供一个'), adding no new semantic meaning beyond the schema.

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

Purpose3/5

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

The description states '移动块' (move block), which identifies the action and resource. However, it does not differentiate from sibling tools like 'move_docs' or 'transfer_block_ref', and doesn't clarify what 'move' entails (e.g., reordering vs. reparenting).

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 'move_docs' or 'transfer_block_ref'. The description only mentions a parameter constraint already in the schema.

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

move_docsC

移动一组文档

ParametersJSON Schema
NameRequiredDescriptionDefault
toPathYes目标路径
fromPathsYes源文档路径
toNotebookYes思源块、文档、笔记本或数据库 ID

TDQS

C2.4/5.0
Behavior2/5

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

The description says 'move' which implies mutation, but annotations indicate destructiveHint=false and readOnlyHint=false, leaving it unclear if the original is deleted. The description does not disclose behavioral traits beyond a basic verb.

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

Conciseness2/5

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

Extremely short (4 characters) but at the cost of informativeness. It should be longer to be useful.

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 three required parameters and no output schema, the description is insufficient. It doesn't explain the result of the move (e.g., what happens to original) or provide enough context for correct usage.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all parameters. The description adds no extra meaning beyond what the schema already provides.

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

Purpose3/5

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

The description states the action (move) and object (documents) but lacks specifics like whether it moves across notebooks or within. It does not differentiate from sibling tools like move_docs_by_id.

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 move_docs_by_id or rename_doc. The description gives no context.

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

move_docs_by_idC

按 ID 移动一组文档

ParametersJSON Schema
NameRequiredDescriptionDefault
toIDYes思源块、文档、笔记本或数据库 ID
fromIDsYes源文档 ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations provide minimal behavioral info (destructiveHint=false). The description does not disclose what 'move' entails (e.g., changing parent, affecting references), leaving behavioral ambiguity for a mutation operation.

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 (7 characters) with no fluff. However, it may be too terse to convey sufficient meaning without relying on the tool name.

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 simple operation and two parameters, the description is incomplete. It does not explain the result of the move (e.g., destination meaning) or any side effects, and there is no output schema.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both 'fromIDs' and 'toID'. The description adds no additional meaning beyond the schema, so baseline score of 3 is appropriate.

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 '按 ID 移动一组文档' clearly states the verb 'move' and the resource 'documents', specifying the method (by ID). However, it does not differentiate from sibling tool 'move_docs' which may move by path or other criteria.

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 'move_docs' or other document manipulation tools. The description lacks context for appropriate use cases.

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

open_notebookB

打开指定笔记本

ParametersJSON Schema
NameRequiredDescriptionDefault
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

B3.3/5.0
Behavior2/5

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

Annotations provide no behavioral hints (all false). Description does not disclose side effects, permissions, or any behavioral traits beyond the basic action. Lacks necessary context for a mutation tool.

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

Conciseness5/5

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

Single sentence with no extraneous information. Perfectly concise for the simplicity of the tool.

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 open operation, the description is adequate but minimal. Given the many sibling tools, more context about usage 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 coverage is 100% (one parameter fully defined). Description adds no additional meaning beyond the schema's description of the parameter.

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

Purpose5/5

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

Description 'Open the specified notebook' clearly states the action (open) and resource (notebook). It distinguishes from sibling tools like close_notebook, rename_notebook, etc., which have different verbs.

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. For example, it doesn't mention when to use open_notebook vs list_notebooks or close_notebook.

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

pandoc_convertC

执行思源 Pandoc 转换

ParametersJSON Schema
NameRequiredDescriptionDefault
dirYes转换临时目录
argsYesPandoc 参数

TDQS

C2.4/5.0
Behavior2/5

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

Annotations are all false and the description adds no behavioral context. It does not disclose side effects, authorization needs, or whether the tool modifies state beyond the conversion itself.

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

Conciseness2/5

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

One short sentence is concise but under-specifies the tool. It is front-loaded but lacks necessary detail, making it insufficient for an agent to understand the tool's behavior.

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?

Without an output schema, the description should address return values and side effects. It does not, leaving the agent without key information needed to use the tool 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?

Schema coverage is 100%, so the description does not need to compensate. However, it adds no extra meaning beyond the schema; for instance, it does not explain the format of 'dir' or the expected structure of 'args'.

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

Purpose3/5

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

The description states it executes a Pandoc conversion, which identifies the verb and resource. However, it lacks specificity about what content is converted (files, blocks, etc.), and does not distinguish it clearly from sibling tools related to blocks or documents.

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 does not mention any preconditions, contexts, 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.

prepend_blockB

在父块开头插入子块

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes块内容
dataTypeNo输入格式markdown
parentIDYes思源块、文档、笔记本或数据库 ID

TDQS

B3.2/5.0
Behavior2/5

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

All annotations are false, indicating no safety hints. The description does not disclose behavioral traits such as error handling, atomicity, or permission requirements. For a mutation tool, more transparency is needed. No contradiction with 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 conveys the core purpose. It is front-loaded and contains no redundant information, earning a high conciseness score.

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 no output schema and no annotations, the description lacks important context like return value, error conditions, prerequisites (e.g., parent block existence), and behavior in edge cases. This makes it incomplete for an agent to use confidently.

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 100% description coverage, so the schema already documents parameter meaning. The description adds no additional semantics beyond what is in the schema, meeting the baseline of 3.

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: inserting a child block at the beginning of the parent block. It uses a specific verb ('prepend') and resource ('block'), and distinguishes itself from siblings like append_block (insert at end) and insert_block (insert at arbitrary position).

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 compared to alternative insertion tools (insert_block, append_block, batch_insert_blocks). The description does not mention prerequisites, constraints, or best practices.

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

push_err_msgB

向思源界面推送错误消息

ParametersJSON Schema
NameRequiredDescriptionDefault
msgYes消息
timeoutNo显示毫秒数

TDQS

B3.2/5.0
Behavior2/5

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

No behavioral traits disclosed beyond annotations (all false). Description does not state side effects, error handling, or display behavior.

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

Conciseness4/5

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

Single sentence is efficient, but could benefit from slight expansion for clarity. No waste.

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 push tool with no output schema, description covers basic purpose but lacks details on behavior (e.g., whether errors stack, timeout effect).

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description does not add meaning beyond what the schema already provides.

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 specifies the action ('push') and resource ('error message to SiYuan interface'), clearly distinguishing from sibling tools like push_msg which likely handles normal messages.

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

Usage Guidelines2/5

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

No guidance on when to use this tool over alternatives (e.g., push_msg), no prerequisites or exclusions provided.

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

push_msgB

向思源界面推送普通消息

ParametersJSON Schema
NameRequiredDescriptionDefault
msgYes消息
timeoutNo显示毫秒数

TDQS

B3.4/5.0
Behavior2/5

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

Annotations are all false, providing no safety cues. Description adds no behavioral details beyond 'push message', omitting side effects, permissions, or return behavior.

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

Conciseness4/5

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

Single sentence, no wasted words. Could be slightly more structured but efficient for a simple tool.

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?

Minimal description covers basic purpose but lacks detail on what constitutes an ordinary message and how timeout works. Adequate for low complexity.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description does not add additional meaning beyond what's in 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 states 'push ordinary messages to the SiYuan interface' with a specific verb-resource combination. It distinguishes from sibling `push_err_msg` which pushes error messages.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool vs alternatives, but the purpose is implied for ordinary messages. Lack of explicit when-not or alternative guidance.

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

put_fileC
Destructive

通过 Multipart 写入工作空间文件

ParametersJSON Schema
NameRequiredDescriptionDefault
fileNo兼容字段:UTF-8 文本内容
pathYes目标工作空间路径
isDirNo是否创建目录
modTimeNoUnix 修改时间
fileNameNoMultipart 文件名
filePathNo要上传的本地文件路径
mimeTypeNoMIME 类型
contentBase64NoBase64 文件内容

TDQS

C2.6/5.0
Behavior2/5

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

Annotations declare destructiveHint: true, but the description adds no extra behavioral details. It does not mention permissions, side effects, or that it may overwrite existing files. The term 'Multipart' hints at upload mechanism but is not elaborated.

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 (one sentence). However, it is adequately front-loaded and contains no filler. It could benefit from slightly more detail without becoming verbose.

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

Completeness2/5

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

The tool has 8 parameters with a complex oneOf structure, yet the description provides no guidance on usage or return values. No output schema exists, so the description should cover what the tool returns, which it does not.

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

Parameters3/5

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

Schema coverage is 100% with descriptions in the schema. The description adds no additional parameter meaning, but the baseline is 3 due to high coverage. It does not clarify how parameters relate (e.g., oneOf usage).

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 '通过 Multipart 写入工作空间文件' indicates writing files via Multipart, but it's vague. It doesn't specify whether it creates or overwrites files, and 'Multipart' is not explained. Compared to siblings like get_file and remove_file, the purpose is somewhat clear but lacks precision.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., other file manipulation tools). No context about prerequisites or typical scenarios is provided.

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

read_dirC
Read-onlyIdempotent

列出工作空间目录

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes工作空间路径

TDQS

C2.9/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 description does not need to repeat safety traits. It adds no additional behavioral context (e.g., what happens if the path doesn't exist or the format of results).

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

Conciseness3/5

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

The description is a single sentence with no fluff, but it is very sparse. While concise, it could include more helpful details without becoming verbose. It earns its place but is minimal.

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 no output schema, the description should hint at the return value (e.g., list of file/directory names). It also lacks information about error handling or valid path formats. The description is incomplete for an agent to fully understand the tool's behavior.

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 100% coverage with a description for the 'path' parameter. The tool description does not add any additional meaning beyond what the schema provides, so it meets the baseline.

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 indicates the action (list) and resource (workspace directory). However, it is somewhat ambiguous whether it lists the directory itself or its contents, but given the sibling tools, it likely lists contents. It distinguishes from siblings like 'list_docs' which lists documents specifically.

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 like 'list_docs' or 'get_file'. There is no mention of problem context or exclusion criteria.

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

remove_database_columnB
Destructive

删除数据库字段

ParametersJSON Schema
NameRequiredDescriptionDefault
avIDYes思源块、文档、笔记本或数据库 ID
keyIDYes思源块、文档、笔记本或数据库 ID
removeRelationDestNo同时删除关联目标

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already indicate destructiveHint=true, so the description's 'Delete' is consistent. However, it adds no extra behavioral disclosure (e.g., whether it cascades, requires permissions, or is reversible).

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?

Extremely concise single phrase, no wasted words. However, it may be considered too brief for non-Chinese speakers, but structure is 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?

For a destructive tool with no output schema, the description lacks context about effects, return values, or post-condition state. More explanation 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 coverage is 100% and parameter descriptions are provided. The tool description does not add additional meaning beyond the schema fields.

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 'Delete database field' clearly communicates the action (delete) and resource (database column/field). It distinguishes from sibling tools like 'add_database_column' or 'rename_database'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., 'remove_database_rows'). No prerequisites or context provided.

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

remove_database_rowsC
Destructive

删除数据库条目

ParametersJSON Schema
NameRequiredDescriptionDefault
avIDYes思源块、文档、笔记本或数据库 ID
itemIDsYes条目 ID

TDQS

C2.9/5.0
Behavior2/5

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

The description simply states 'delete', which aligns with the destructiveHint=true annotation, but it adds no additional behavioral context such as whether the operation is reversible, requires permissions, or affects other data. Since the annotation already covers destructiveness, the description provides minimal extra value.

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 short sentence with no unnecessary words. It is appropriately concise, though it could be more informative without becoming verbose.

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

Completeness2/5

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

Given the large number of sibling tools with similar deletion purposes, the description fails to provide enough context for an agent to distinguish this tool from others. The missing guidance on when to use this tool specifically (versus delete_block, remove_doc, etc.) makes it incomplete for the decision-making process.

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 100%, with both parameters having descriptions in the schema. The tool description does not add any new information beyond what the schema already provides, so it meets the baseline but does not exceed it.

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

Purpose4/5

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

The description '删除数据库条目' (delete database entries) clearly states the verb (delete) and resource (database entries). However, it does not differentiate this tool from sibling tools like delete_block, remove_doc, or remove_database_column, which also perform deletions on various resources.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or what makes this tool distinct from other deletion tools (e.g., delete_block vs. remove_database_rows).

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

remove_docA
Destructive

按路径删除文档

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes文档路径
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

A3.6/5.0
Behavior3/5

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

Annotations already provide destructiveHint=true. Description adds the specific deletion method but does not disclose side effects, permanence, or required permissions 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?

Extremely concise single phrase, front-loaded with key information. No 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?

For a simple 2-parameter destructive tool with full annotation coverage and no output schema, the description is sufficient. Could include more context about when to use it over the similarly purposed 'remove_doc_by_id'.

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 100%, so the schema already describes both parameters. Description adds no extra meaning beyond what is in 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?

Description clearly states the verb '删除' (delete) and resource '文档' (document) with the method '按路径' (by path), distinguishing it from sibling 'remove_doc_by_id'.

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 'remove_doc_by_id', nor any prerequisites or exclusions. Only states what it does.

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

remove_doc_by_idB
Destructive

按 ID 删除文档

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

B3.3/5.0
Behavior2/5

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

Annotations already indicate destructiveHint=true, so description adds no behavioral context beyond confirming deletion. It does not disclose irreversibility, auth needs, or effects on connected blocks.

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?

A single, clear sentence. No unnecessary words. Front-loaded with essential information.

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 deletion tool with one parameter and destructive annotations, the description is adequate but lacks context on permanence, error conditions, or impact on related data.

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

Parameters3/5

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

Schema coverage is 100%, with a detailed description and pattern for the 'id' parameter. The description merely restates deletion by ID, adding no extra meaning 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 '按 ID 删除文档' clearly states the action (delete) and resource (document by ID). It distinguishes from sibling tool 'remove_doc', which likely deletes by other means, and other removal tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'remove_doc'. No prerequisites, side effects, or when-not conditions are mentioned.

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

remove_fileC
Destructive

删除工作空间文件

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes工作空间路径

TDQS

C2.9/5.0
Behavior2/5

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

The annotation 'destructiveHint: true' already signals this tool is destructive. The description adds no extra behavioral context, such as whether deletion is permanent, what happens to associated data, or if authentication is needed. With the annotation, the bar is lower, but the description still fails to provide useful behavioral details beyond the annotation.

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

Conciseness3/5

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

The description is a single short phrase in Chinese. It is concise but not structured as a complete sentence. While appropriate for a simple tool, it could be more informative with a brief sentence structure.

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 simplicity (1 required parameter, no output schema, destructive annotations), the description is minimally adequate. It explains the action but lacks completeness: it does not describe return values, error states, or whether the operation is reversible. This is acceptable for a straightforward delete operation, but more context would improve usability.

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

Parameters3/5

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

Schema coverage is 100% and the parameter 'path' has a description '工作空间路径'. The tool description does not add any additional meaning, such as path format, allowed characters, or whether the path must be absolute or relative. The baseline is 3 given high coverage, but no extra value is provided.

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 indicates the tool deletes a workspace file. The name 'remove_file' is specific. While the sibling set includes 'remove_doc' for documents, this tool is distinct in targeting files. However, the description does not explicitly differentiate from similar operations like 'remove_doc' or 'remove_database_rows', which limits clarity in a large sibling context.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool over alternatives, such as when to use 'remove_file' versus 'remove_doc' for documents, or any exclusions or prerequisites. There is no context on required file states or permissions.

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

remove_notebookA
Destructive

删除笔记本及其内容;可通过保护开关禁用

ParametersJSON Schema
NameRequiredDescriptionDefault
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

A4/5.0
Behavior4/5

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

Annotations already mark destructiveHint: true. The description adds that the deletion can be disabled via a protection switch, offering useful behavioral context beyond 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 extremely concise, using two clauses to convey the action and a safety feature. Every word is necessary and front-loaded with the main purpose.

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

Completeness4/5

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

For a simple destructive tool with one parameter and no output schema, the description is fairly complete. It could add a warning about irreversibility, but the protection switch info mitigates 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?

Schema coverage is 100% and the parameter 'notebook' already has a pattern and description. The description does not add additional meaning about the parameter, so baseline score applies.

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 it deletes a notebook and its content, which distinguishes it from other notebook operations like rename, create, open, or close, and from other remove tools like remove_doc.

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 mentions a protection switch that can disable the action, providing some context, but it does not explicitly guide when to use this tool versus alternatives like remove_doc or provide prerequisites.

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

rename_databaseD

重命名数据库

ParametersJSON Schema
NameRequiredDescriptionDefault
avIDYes思源块、文档、笔记本或数据库 ID
nameYes新名称

TDQS

D1.9/5.0
Behavior2/5

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

Annotations indicate destructiveHint=false and readOnlyHint=false, but the description adds no behavioral context beyond what annotations provide. It does not disclose effects, requirements, or side effects of renaming a database.

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

Conciseness2/5

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

The description is a single phrase, which is concise but lacks essential detail. It is under-specified and does not earn its place as a standalone explanation.

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 that there is no output schema and the description is minimal, the agent lacks information about return behavior, prerequisites, or side effects. The description is incomplete for a rename operation with sibling 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 coverage is 100% with descriptions for both avID and name. The tool description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate.

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

Purpose1/5

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

The description is '重命名数据库', which is a translation of the tool name 'rename_database'. It is a tautology, restating the name without adding any specific verb or resource detail. It fails to distinguish from sibling tools like rename_notebook or rename_doc.

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. Sibling tools include rename_notebook, rename_doc, etc., but the description offers no contextual usage advice or exclusions.

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

rename_docA

按存储路径重命名文档

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes文档存储路径
titleYes新标题
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already indicate not readOnly (write) and not destructive. Description adds no behavioral details beyond rename action; 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?

Single sentence, no verbose content; all information is essential.

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?

Minimal description for a write tool. Lacks return behavior, error details, or when to prefer over rename_doc_by_id; schema covers params but tool still feels underspecified.

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 covers all 3 parameters with descriptions. Description adds no parameter meaning beyond 'rename by storage path'; baseline 3 applies.

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

Purpose5/5

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

Description '按存储路径重命名文档' clearly states action (rename), resource (document), and method (by storage path). Distinguishes from sibling rename_doc_by_id.

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 vs. alternatives. Sibling rename_doc_by_id exists but not mentioned; context for choosing between them is absent.

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

rename_doc_by_idC

按 ID 重命名文档

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID
titleYes新标题

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, which is consistent with renaming (a mutation but not destructive). The description adds no behavioral information beyond the annotations—it does not clarify whether the rename is reversible, what happens to the old title, or if there are any side effects.

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

Conciseness4/5

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

The description is a single, efficient sentence that front-loads the core action. It is appropriately concise but could benefit from additional context without becoming verbose.

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

Completeness2/5

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

For a simple tool with two parameters and no output schema, the description is minimal. It does not explain the return value, potential errors, or the exact effect of renaming (e.g., whether the document's path changes). The agent may lack sufficient information to invoke the tool correctly in all contexts.

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 100% (both 'id' and 'title' have descriptions). The tool description adds no extra context for the parameters, so it meets the baseline of 3. The description does not compensate for any gaps in the schema.

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

Purpose4/5

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

The description clearly states the action (rename) and the resource (document by ID). The verb 'rename' and target 'document by ID' are specific and unambiguous. However, it does not differentiate from the sibling tool 'rename_doc', which might operate by path, leaving some ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like 'rename_doc' or 'rename_notebook'. There is no mention of prerequisites, context, or scenarios where this tool is appropriate or inappropriate.

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

rename_fileC
Destructive

重命名工作空间文件

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes源路径
newPathYes目标路径

TDQS

C2.8/5.0
Behavior2/5

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

The description is minimal and adds no behavioral details beyond what annotations already convey (destructiveHint: true). It does not specify side effects, such as whether the operation overwrites existing files at the target path.

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

Conciseness3/5

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

The description is extremely concise (one phrase). While it is front-loaded, it lacks any structure or additional details that would earn its place for an agent to understand usage nuances.

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 simple nature of the tool, the description could be sufficient, but it lacks details about path format constraints, overwrite behavior, or return values. With no output schema, agents lack guidance on what to expect.

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

Parameters3/5

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

Schema coverage is 100% with basic parameter descriptions ('源路径', '目标路径'), but the tool description adds no additional meaning. The baseline is 3 due to full schema coverage, but the descriptions are terse.

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 '重命名工作空间文件' translates to 'rename workspace file', which clearly states the action and the resource. However, it does not differentiate from sibling tools like rename_doc or rename_notebook, which also rename entities in the workspace.

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 like rename_doc or rename_doc_by_id, nor does it mention any prerequisites or conditions for use.

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

rename_notebookC

重命名笔记本

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes新名称
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

C2.9/5.0
Behavior2/5

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

All annotations are false (readOnlyHint, destructiveHint, etc.), and the description adds no behavioral information. It does not disclose side effects, permissions needed, or whether the operation is reversible, leaving the agent uninformed.

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, a single phrase. It has no wasted words, but it lacks sentence structure. It is efficient but could be more informative.

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

Completeness2/5

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

Given the lack of output schema and empty annotations, the description should provide context on return values or side effects. It does not, making it incomplete for an agent to fully understand the tool's behavior.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds no additional meaning beyond the schema, so it meets the baseline.

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 '重命名笔记本' (Rename notebook) clearly states the action and resource. It is a verb+resource pair that distinguishes from sibling rename tools for documents, files, databases, etc. However, it does not elaborate on the scope or nuances, so it's 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 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 sibling list includes many rename tools, but the description gives no differentiating context or prerequisites.

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

render_sprigC

渲染 Sprig 模板

ParametersJSON Schema
NameRequiredDescriptionDefault
templateYes模板内容

TDQS

C2.6/5.0
Behavior2/5

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

Annotations do not indicate read-only or destructive behavior, but description adds no behavioral detail (e.g., whether it modifies state, requires auth, or has side effects). For a tool that likely produces output or updates content, more transparency is needed.

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

Conciseness4/5

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

Single sentence is concise and front-loaded with the verb. However, it could benefit from additional context without becoming verbose.

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

Completeness2/5

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

Given the presence of a very similar sibling 'render_template', the description does not clarify what makes 'Sprig' unique. No output schema means return value behavior is entirely undocumented, making it incomplete for an AI agent.

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 has 100% description coverage for the single parameter 'template' ('模板内容'). Description adds no additional meaning beyond what the schema already provides, so baseline of 3 is appropriate.

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

Purpose3/5

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

Description '渲染 Sprig 模板' (Render Sprig template) clearly states the action and resource, but does not differentiate from sibling tool 'render_template', which likely has similar functionality. Without additional context, an agent may confuse the two.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like 'render_template'. No when-not or prerequisite information provided.

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

render_templateC

渲染模板文件

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID
pathYes模板绝对路径

TDQS

C2.9/5.0
Behavior2/5

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

The description does not disclose behavioral traits beyond annotations. With all annotations false, the agent cannot infer side effects or return behavior. No output schema is provided, and the description gives no hints about what rendering entails.

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 at one short sentence. It is front-loaded and contains no unnecessary 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 2 parameters and 100% schema coverage, the description lacks completeness. It does not explain the output or side effects, and with no output schema, the agent is left guessing what 'render' produces.

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 100%, so the baseline is 3. The tool description adds no extra meaning beyond the existing parameter descriptions, which already explain 'id' and 'path'.

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 (render) and resource (template file). It distinguishes from sibling tools like render_sprig by indicating it's for template files, though it lacks explicit differentiation.

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 does not include any context, exclusions, or usage scenarios.

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

search_blocksB
Read-onlyIdempotent

使用思源全文搜索查找内容块

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码
pathsNo限定笔记本/文档路径
queryYes搜索词、查询语法或正则
typesNo块类型开关,例如 {"d":true,"p":true}
methodNo0 关键词、1 查询语法、3 正则;不开放 SQL 模式
groupByNo0 不分组、1 按文档分组
orderByNo排序模式
pageSizeNo每页数量

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 and destructiveHint=false, so the description does not need to restate safety. It adds 'full-text search' context but no additional behavioral traits such as performance implications or index requirements. 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.

Conciseness4/5

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

The description is a single short sentence that conveys the core function. It is front-loaded and avoids verbosity, but being only in Chinese may reduce accessibility for multilingual agents.

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 8 parameters and nested objects, the description does not explain return values, query syntax, or typical usage patterns. The output schema is absent, and the description fails to compensate, leaving gaps for an agent to correctly invoke the tool.

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

Parameters3/5

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

Schema description coverage is 100% (all parameters have descriptions). The tool description adds no new parameter information beyond what the schema already provides, so a baseline of 3 is appropriate.

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 specifies the verb 'search' (via full-text search) and the resource 'content blocks', clearly distinguishing it from sibling tools like search_docs which search at document level. The purpose is unambiguous.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. It does not mention conditions, limitations, or relationships with other search-related sibling tools (e.g., search_docs, sql_query).

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

search_docsB
Read-onlyIdempotent

按标题搜索文档

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes搜索关键词
flashcardNo是否只搜索闪卡相关文档
excludeIDsNo排除的文档 ID

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the description's additional context that it searches by title is beneficial but minimal. No details on pagination or return format.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is concise but could benefit from more structural 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 output schema and moderate complexity in parameters, the description is too brief. It fails to explain return values, search behavior, or example usage, leaving gaps for an agent.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds little beyond the schema descriptions. It introduces a 'by title' constraint not in the schema, but this is vague and may be misleading.

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 searches documents by title (按标题搜索文档), specifying a verb and resource. However, it does not differentiate from sibling tools like search_blocks or list_docs, which also search or list documents.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as search_blocks or sql_query. The description lacks context for appropriate selection.

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

set_block_attrsC

设置块属性

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID
attrsYes属性键值

TDQS

C2.6/5.0
Behavior2/5

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

Annotations indicate the tool is not read-only (write operation) and not destructive, but the description adds no additional behavioral context. It does not clarify whether attrs are merged or overwritten, nor does it specify any side effects 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.

Conciseness4/5

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

The description is extremely concise (4 characters in Chinese) and front-loaded. While it efficiently states the core purpose, it may be too brief for an agent to infer full usage, but for a simple setter tool it is acceptable.

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?

Without an output schema, the description should at least imply return behavior (e.g., whether it returns the updated attributes). It does not mention whether existing attributes are merged or replaced, leaving ambiguity. The tool has a moderate complexity due to the nested attrs object.

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 100%, with both 'id' and 'attrs' having Chinese descriptions. The tool-level description provides no extra semantic value beyond the schema, so a baseline score of 3 is appropriate.

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 '设置块属性' translates the tool name 'set_block_attrs' into Chinese, clearly indicating the verb ('set') and resource ('block attributes'). However, it does not differentiate from sibling tools like update_block or get_block_attrs, lacking specificity about what constitutes 'attributes' vs other block properties.

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 (e.g., update_block for block content, get_block_attrs for reading). There is no mention of prerequisites, constraints, or preferred contexts.

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

set_database_cellB

设置单个数据库单元格;value 使用思源 AV Value JSON 结构

ParametersJSON Schema
NameRequiredDescriptionDefault
avIDYes思源块、文档、笔记本或数据库 ID
keyIDYes思源块、文档、笔记本或数据库 ID
valueYesAV Value 对象
itemIDYes思源块、文档、笔记本或数据库 ID

TDQS

B3.1/5.0
Behavior2/5

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

Annotations lack behavioral hints (all false). Description only says 'set' but does not disclose side effects, permissions, or what happens if cell doesn't exist.

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

Conciseness4/5

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

Single sentence, front-loaded with action and resource. Appropriate length for a simple tool, though could include brief usage context.

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?

Description lacks explanation of how the IDs relate (database, column, row) and what happens after setting. No return value information. Not sufficient for agent to understand full behavior.

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

Parameters3/5

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

Schema coverage is 100%, but description adds value by specifying the AV Value JSON structure for the 'value' parameter. Other parameters (avID, keyID, itemID) have no additional explanation beyond 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?

Description clearly states action ('set single database cell') and resource ('database cell'), and mentions value format. Distinguishes from sibling 'batch_set_database_cells' by specifying 'single'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives like batch_set_database_cells. No mention of prerequisites or when not to use.

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

set_notebook_confC

保存笔记本配置

ParametersJSON Schema
NameRequiredDescriptionDefault
confYes完整配置对象
notebookYes思源块、文档、笔记本或数据库 ID

TDQS

C2.9/5.0
Behavior2/5

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

Annotations declare readOnlyHint=false and destructiveHint=false, but the description only says 'save', implying mutation. It does not disclose whether the configuration is merged or overwritten, what permissions are needed, or what happens on failure. No additional behavioral context beyond the annotations is provided.

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. It gets straight to the point, but could benefit from slight expansion 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?

The tool has a nested object parameter and no output schema. The description does not explain the behavior (e.g., replace vs merge), return value, or error conditions. This is insufficient for a tool that modifies configuration.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters: 'conf' is '完整配置对象' and 'notebook' is '思源块、文档、笔记本或数据库 ID'. The description adds no further meaning beyond the schema, so a baseline of 3 is appropriate.

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 '保存笔记本配置' translates to 'Save notebook configuration', which clearly indicates the action (save) and the resource (notebook configuration). It distinguishes from the sibling tool 'get_notebook_conf' which retrieves configuration.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when to avoid using it, or comparison with related tools like 'get_notebook_conf'.

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

sql_queryB
Destructive

执行 SQL 语句;调用方应自行确认写入类语句的影响

ParametersJSON Schema
NameRequiredDescriptionDefault
sqlYesSQL 语句

TDQS

B3.3/5.0
Behavior3/5

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

Annotations already set destructiveHint=true, so the description adds a caution that the caller should confirm write impacts. This provides minimal extra behavioral context beyond the annotation.

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 with no wasted words. It efficiently conveys the core action and a warning, though it lacks structure like separating conditions or examples.

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

Completeness2/5

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

The description omits critical details: which database is targeted, return value, error handling, and transaction behavior. Given the destructive nature, more completeness is expected.

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

Parameters3/5

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

Schema coverage is 100% with a basic description for the sql parameter. The tool description does not add any further meaning, such as syntax examples or acceptable SQL dialects.

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 'Execute SQL statement', which is a specific verb+resource. It is distinct among siblings as no other tool directly executes SQL queries.

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 alternative tools like create_database or set_database_cell. The only hint is a warning about write statements, but no explicit when-to-use or when-not-to-use.

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

transfer_block_refC

转移块引用

ParametersJSON Schema
NameRequiredDescriptionDefault
toIDYes思源块、文档、笔记本或数据库 ID
fromIDYes思源块、文档、笔记本或数据库 ID
refIDsNo指定引用块 ID;省略表示全部

TDQS

C2.3/5.0
Behavior2/5

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

Annotations are all false, so the description must disclose behavioral traits. However, the description gives no information about side effects, permissions, or result behavior. It does not contradict annotations but fails to add value.

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

Conciseness3/5

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

The description is very concise (one short phrase) but lacks structure. It is not wasteful, but it is too terse to be informative. A slightly longer description with structured details would improve usability.

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 absence of an output schema and the presence of three parameters, the description is insufficient. It does not explain the operation's effect, return value, or any constraints, leaving the agent without enough context for reliable 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 100%, so the schema already documents parameters adequately. The description does not add any meaning beyond the schema's field descriptions, which are generic. Baseline 3 is appropriate.

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

Purpose2/5

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

The description is a single Chinese phrase '转移块引用' meaning 'transfer block reference'. While it indicates the general action, it lacks specificity about what exactly is being transferred (references from one block to another?) and does not differentiate from sibling tools like 'move_block' or 'update_block'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, constraints, or exclusions, leaving the agent uncertain about appropriate contexts.

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

unfold_blockD

展开块

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID

TDQS

D1.8/5.0
Behavior1/5

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

The description adds no behavioral context beyond the annotations. Annotations show it is not readOnly (implies mutation) and not destructive, but the description does not confirm or elaborate. No explanation of side effects, permissions, or reversibility is given.

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

Conciseness2/5

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

The description is extremely concise (three characters) but at the cost of informativeness. It does not earn its place because it adds no value beyond the tool name. Under-specification undermines conciseness.

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

Completeness2/5

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

Given the tool's simplicity (one parameter, no output schema), the description is incomplete. It fails to explain the effect of 'unfolding' a block, such as whether it expands a collapsed block or changes a property. The schema covers the parameter, but the tool's behavior is not fully described.

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 already describes the 'id' parameter comprehensively (100% schema coverage), specifying it is a block, document, notebook, or database ID. The tool description does not add any parameter information, but the baseline of 3 is appropriate since the schema covers the semantic load.

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

Purpose2/5

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

The description '展开块' (unfold block) essentially restates the tool name. It conveys the basic action but does not distinguish from sibling tools like 'fold_block' or specify what 'unfold' means in the context of Siyuan blocks. The verb and resource are clear, but no additional differentiation is provided.

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

Usage Guidelines1/5

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

No usage guidelines are provided. The description does not indicate when to use this tool, when not to, or any prerequisites. It fails to guide the agent on choosing between this tool and alternatives like 'fold_block'.

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

update_blockC

更新块内容

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes思源块、文档、笔记本或数据库 ID
dataYes新内容
dataTypeNo输入格式markdown

TDQS

C2.8/5.0
Behavior2/5

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

Annotations provide no read-only, idempotent, or destructive hints. The description does not disclose side effects, error behavior, or whether updates are full replacements or partial. For a mutation tool, this is insufficient behavioral context.

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

Conciseness3/5

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

The description is a single short sentence, which is concise. However, it lacks structure (no sections, examples, or warnings). It is appropriately sized for a simple tool but misses important information, making it minimally adequate.

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

Completeness2/5

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

No output schema is provided, and the description does not mention return values, success/failure indicators, or error conditions. Given that the tool mutates data, this is a significant omission. The description is not complete enough for reliable use.

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 100%, so the baseline is 3. The description adds no additional meaning beyond the schema; it does not explain the id format, data content expectations, or dataType implications beyond what the enum suggests.

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 'Update block content' clearly states verb (update) and resource (block). However, it does not differentiate from sibling 'batch_update_blocks' which updates multiple blocks, but the singleton update is implied by the singular name and required single id parameter.

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 insert_block, delete_block, or batch_update_blocks. The description lacks any context about prerequisites or typical use cases.

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

upload_assetB

上传一个或多个本地资源文件

ParametersJSON Schema
NameRequiredDescriptionDefault
filesYes本地文件绝对路径
assetsDirPathYes资源目录,例如 /assets/

TDQS

B3.2/5.0
Behavior2/5

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

Annotations indicate it is not readOnly (so it writes) and not destructive. The description adds 'upload' but does not disclose overwrite behavior, file size limits, or effect on existing files. With limited annotation details, the description should provide more 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.

Conciseness4/5

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

The description is a single sentence with no wasted words. It is front-loaded with the key action. However, it could be slightly more informative (e.g., mentioning it's for SiYuan asset system) without sacrificing brevity.

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 low complexity (2 required params, no output schema, no nested objects), the description is mostly adequate. However, it lacks context about the asset directory structure and whether the upload replaces or adds files. This might leave an AI agent uncertain about behavior.

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

Parameters3/5

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

Schema coverage is 100% and already describes the parameters (files as absolute paths, assetsDirPath as directory). The description adds no extra meaning beyond what's in the schema, so baseline 3 is appropriate.

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 ('upload') and the object ('local resource files'), mentioning 'one or more' adds specificity. It distinguishes from siblings like 'get_file' and 'remove_file', but 'put_file' is a close sibling and could be differentiated.

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 uploading local resource files, but it does not provide explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, such as when to use 'put_file' instead.

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

TDQS

B3.1/5.0
Disambiguation5/5

Each tool targets a distinct resource and action. Even where similar operations exist (e.g., rename by path vs ID), the descriptions clearly differentiate the parameter style. The set is well-organized by category (notebooks, docs, blocks, databases, files), minimizing confusion.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case. Variations like 'rename_doc_by_id' or 'get_hpath_by_path' follow a predictable extension scheme. No mixing of styles or ambiguous verbs.

Tool Count4/5

69 tools is large but appropriate for the comprehensive SiYuan note-taking domain, covering notebooks, documents, blocks, databases, files, and utilities. While slightly overwhelming, each tool serves a specific purpose and the scope justifies the count.

Completeness5/5

The tool surface covers all major CRUD operations for notebooks, documents, blocks, and databases, plus file management, export, templating, and system utilities. There are no obvious dead ends or missing essential operations for the stated purpose.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables interaction with SiYuan Note through its API for comprehensive note management. Supports searching, creating, editing documents, managing notebooks, and daily notes operations through natural language commands.
    41
    15
    Apache 2.0
  • A
    license
    C
    quality
    A
    maintenance
    Enables AI assistants to interact with SiYuan Note for comprehensive notebook management, document editing, and block-level content operations. It supports advanced features like full-text search and SQL queries via secure API integration.
    3
    46
    40
    ISC
  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to create, read, update, and manage SiYuan notes, supporting notebook management, document operations, block editing, database attribute views, search, file operations, and export.
    11
    17
    1
    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/xgq18237/siyuan_mcp_server'

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