Skip to main content
Glama

DBJavaGenix

把"用 LLM 看着数据库做反向工程"做成一件可重复、可审计的事。 Skills 定义"怎么做" · MCP 提供"能做什么" · MCP Apps 让结果"看得见"。

CI

graph LR
    Client[Claude Desktop / Cursor / Cherry] -->|Skill 加载| Skills
    Skills[".claude/skills/<br/>java-codegen-from-db<br/>springboot-migration"]
    Skills -->|按需调用| MCP

    subgraph MCP[MCP Server 29 工具]
        direction TB
        DB[db_* 连接 / 查询 / 描述]
        Atom[codegen_build_context<br/>codegen_render_entity/dao/service/<br/>controller/mapper]
        AI[ai_infer_business_names<br/>ai_recommend_template<br/>ai_summarize_schema]
        Vis[db_render_er_diagram]
        Obs[server_metrics / server_health<br/>ai_metrics / search_tools]
    end

    MCP -->|返回 _meta| Apps[MCP Apps 渲染]
    Apps -->|mermaid / dashboard / code-diff / tree| Client
    MCP -->|读取| Data[MySQL / SQLite + Mustache templates]

它解决什么问题

把数据库表反向生成成 Spring Boot 工程 (Entity/DAO/Service/Controller/Mapper) 不是新东西 —— EasyCode、MyBatis-Plus Generator、Renren-generator 都做了多年。LLM 时代的区别在于:

维度

老工具

DBJavaGenix v0.2

工作流谁定

用户在 IDE 点配置面板

Skill 文件显式编排 (LLM 不会乱调)

调用粒度

一个大按钮一步到位

6 个原子工具 (build_context + 5 个 render_*),LLM 可中途让用户改 context 重渲

启动开销

(插件,常驻)

默认 ~3300 tok / 渐进模式 ~985 tok (节省 70%)

命名

表前缀机械映射

15 条规则 + Claude API,识别 RBAC/电商/CMS 模式

输出可视化

IDE 内文本

MCP Apps: Mermaid ER 图 / 依赖仪表盘 / code-diff / 包结构树

可观测性

server_metrics + ai_metrics + server_health

Related MCP server: spring-api-intel-mcp

快速开始

Docker (推荐)

docker build -t dbjavagenix:latest .

claude_desktop_config.json 添加:

{
  "mcpServers": {
    "dbjavagenix": {
      "command": "docker",
      "args": ["run", "-i", "--rm",
               "-e", "DBJAVAGENIX_PROGRESSIVE=1",
               "-e", "ANTHROPIC_API_KEY",
               "dbjavagenix:latest"]
    }
  }
}

本地 dev

git clone https://github.com/ZhaoXingPeng/DBJavaGenix.git
cd DBJavaGenix
uv venv && uv pip install -e ".[dev]"
PYTHONPATH=src python -m dbjavagenix.cli server

第一次使用

在 LLM 客户端里说 "从数据库 myapp 的 sys_user / sys_role / sys_user_role 三张表生成 Spring Boot 代码",Claude 会:

  1. 加载 java-codegen-from-db Skill,按 5 阶段工作流推进

  2. 调用 db_connect_testdb_table_describedb_table_foreign_keys 收集 schema

  3. 调用 db_render_er_diagram → 客户端渲染 Mermaid ER 图

  4. 调用 ai_infer_business_names 推断 → sys_user_role 应是 UserRoleAssignment

  5. 调用 ai_recommend_template 推荐 → 检测到 RBAC,推 MybatisPlus-Mixed

  6. codegen_build_context + 5 个 codegen_render_* 分层生成,每层返回 code-diff

  7. 用户确认后写盘

核心能力 (Phase 1 → 5)

Phase 1 现代化基础

  • Python ≥ 3.11 / mcp ≥ 1.6 / Spring Boot 3.5 + Java 21 模板

  • 单元测试 360+,GitHub Actions CI 三 Job (lint / template-render / docker-build)

  • 多阶段 Dockerfile (python:3.11-slim + 非 root 用户)

Phase 2 Skills 层与原子工具

  • .claude/skills/java-codegen-from-db/SKILL.md 显式定义 5 阶段工作流

  • db_codegen_generate 拆为 6 原子工具,context 显式传递

  • search_tools 工具实现 progressive discovery,启动 token 节省 70.2%

  • 第二个 Skill springboot-migration (2.7→3.x 升级 checklist)

  • token usage benchmark

Phase 3 MCP Apps 集成

4 个交互式 UI 组件:

组件

类型

来源工具

ER 图

mermaid

db_render_er_diagram

依赖健康仪表盘

dashboard

springboot_analyze_dependencies

代码预览 + Diff

code-diff

codegen_render_* (6 个)

包结构树

tree

db_codegen_generate

客户端兼容性 + headless 验证

Phase 4 AI 语义增强

  • ai_infer_business_names: 15 条规则 + 可选 Claude API (Anthropic SDK + prompt caching)

  • ai_recommend_template: 检测 RBAC / 电商 / CMS / 工单 4 种模式

  • ai_summarize_schema: 整库自然语言概述

  • ai_metrics: 暴露 cache_hit_rate / tokens_saved

  • 设计取舍: 规则先于 LLM,无 ANTHROPIC_API_KEY 也能跑

Phase 5 可观测性与生产就绪

  • server_metrics: 每个工具的 calls / avg_duration / error_rate

  • server_health: Python / mcp / anthropic SDK 版本 + 模块导入状态

  • 结构化日志: DBJAVAGENIX_LOG_FORMAT=json 可输出单行 JSON,适合 Loki/ELK

  • 部署手册: 3 种部署模式 + 6 个排障场景

工具总览 (29 个)

类别

工具

连接 / 查询

db_connect_test / db_query_databases / db_query_tables / db_query_table_exists / db_query_execute

表结构

db_table_describe / db_table_columns / db_table_primary_keys / db_table_foreign_keys / db_table_indexes

代码生成 (atomic)

codegen_build_context / codegen_render_entity / codegen_render_dao / codegen_render_service / codegen_render_controller / codegen_render_mapper

代码生成 (legacy)

db_codegen_analyze / db_codegen_generate

Spring Boot 项目

springboot_validate_project / springboot_analyze_dependencies / springboot_read_config

可视化

db_render_er_diagram

AI 语义

ai_infer_business_names / ai_recommend_template / ai_summarize_schema / ai_metrics

可观测

server_metrics / server_health

元工具

search_tools (渐进发现)

与同类工具对比

维度

DBJavaGenix v0.2

EasyCode

MyBatis-Plus generator

Renren-generator

驱动方式

LLM + MCP

IDEA 插件

命令行 / Maven plugin

Web UI

工作流编排

Skill 显式 5 阶段

配置面板

一次性代码

表单

工具粒度

6 原子 (可中途让用户改)

单按钮

单命令

单按钮

AI 命名

✅ 15 规则 + 可选 LLM

❌ 纯模板

模板扩展

✅ Mustache + 4 分类 (sb35-java21 含)

✅ Velocity

⚠️ 仅 MybatisPlus

⚠️ 仅 freemarker

ER 图渲染

✅ Mermaid (MCP App)

⚠️ 静态

依赖适配

✅ 智能档案 + 健康分

可观测性

✅ in-process metrics + health

客户端兼容

Claude Desktop / Cursor / Cherry / ...

仅 IDEA

CLI

浏览器

技术架构

详见 iteration-plan/01-target-architecture.md。三层职责:

[ Skills 层 ]  定义"怎么做" — .claude/skills/*.md  显式 5 阶段工作流
       ↓
[ MCP 层 ]     提供"能做什么" — 29 个原子工具  context 显式传递
       ↓
[ Apps 层 ]    让结果"看得见" — 4 个 UI 组件 (mermaid/dashboard/code-diff/tree)

每层都做"工程克制":

  • 不引入向量数据库 (schema 是结构化数据,LLM 直接读更准)

  • 不引入 LangChain (Skill 已显式编排,不需要 chain 抽象)

  • 不引入 prometheus_client / opentelemetry-sdk (stdio 单进程过度设计)

文档

文档

内容

iteration-plan/

6 阶段重构方案 (目标架构 / 路线图 / 决策记录 / 演示故事)

docs/deployment.md

部署模式 / 环境变量 / 健康检查 / 排障

docs/benchmarks/token-usage.md

tool schema token 测量

docs/screenshots/README.md

MCP Apps 4 组件客户端兼容性

docs/algorithms-overview.md

v0.2.1 schema 图算法 (topo / cluster / cycle)

docs/design-patterns-catalog.md

生成器与生成代码中的设计模式

docs/adr/

10 个 ADR (架构 / 原子 / 渐进 / 规则 / 不引依赖 / schema 算法 / 规范配置 / MCP v3 / 1h 缓存 / agentic)

.claude/skills/java-codegen-from-db/SKILL.md

主 Skill: 代码生成 5 阶段工作流

.claude/skills/springboot-migration/SKILL.md

第二 Skill: Spring Boot 2.7→3.x 迁移

路线图

  • Phase 1: 基础设施现代化 (Python 3.11 / mcp 1.6 / Spring Boot 3.5 模板 / CI / Docker)

  • Phase 2: Skills 层抽离 + 原子工具 + Progressive Discovery (token -70%)

  • Phase 3: MCP Apps 集成 (4 个 UI 组件)

  • Phase 4: AI 语义增强 (规则 + 可选 LLM)

  • Phase 5: 可观测性 + 生产就绪

  • Phase 6: 文档与演示

  • v0.2.1: Java 工程补完 (schema 算法 3 个 / 工程规范配置生成器 / 设计模式 catalog)

  • v0.2.2: MCP v3 + AI 工程化 (elicitation 表单 / sampling 借 LLM / 1h prompt caching / agentic-runner)

下一步 (v0.3 候选):

  • DB 后端扩展: PostgreSQL / Oracle 完整支持

  • 抓取 Claude Desktop / Cursor 截图入仓 (P3.5 收尾)

  • 集成测试: 用 Testcontainers 把 MySQL 拉起跑端到端

  • 性能: 把规则推断与 LLM 路径合并为同一返回 schema (current LLM 路径输出格式与规则略不同)

  • agentic-runner 加 subagent 支持 (Agent SDK 已就绪)

启动模式

模式

入口

触发

依赖

适用场景

MCP server

dbjavagenix server

客户端连接 (Claude Desktop / Cursor 等)

无额外

探索 / 多轮交互 / 默认

Agentic runner

server.agentic_runner.run_agentic()

CLI 单次启动

claude-agent-sdk + ANTHROPIC_API_KEY

批处理 / CI / 一次性任务

两种模式共用同一 database.mcp_tools 注册表 (ADR-010)。

调试技巧

# 启用 progressive 模式 (仅暴露 6 个 always_visible 工具)
DBJAVAGENIX_PROGRESSIVE=1 PYTHONPATH=src python -m dbjavagenix.cli server

# JSON 日志 (适合 Loki / ELK)
DBJAVAGENIX_LOG_FORMAT=json DBJAVAGENIX_LOG_LEVEL=DEBUG \
  PYTHONPATH=src python -m dbjavagenix.cli server

# headless 验证所有 MCP App 组件
PYTHONPATH=src python scripts/verify_mcp_apps.py

贡献

  1. Fork → 创建 feature/* 分支

  2. 写测试 (tests/unit/),pytest tests/unit/ 应保持 360+ 全过

  3. ruff check src/ tests/ 通过 (CI 会跑)

  4. 提 PR,链接到对应的 iteration-plan 阶段

许可证

MIT — 见 LICENSE

致谢

联系

Available Tools

29 tools
ai_infer_business_namesA

从数据库表/列推断 Spring Boot 项目中业务上合理的 Java 命名。默认基于 15 条命名规则; 设 prefer_llm=true 且 ANTHROPIC_API_KEY 可用时,优先调用 Claude (启用 prompt caching 节省 token)。返回每张表的 class_name + reason + table_kind (entity/association/log/dict/config)。

ParametersJSON Schema
NameRequiredDescriptionDefault
tablesYes待推断的表列表
prefer_llmNo是否优先调用 Claude API (需要 ANTHROPIC_API_KEY)
modelNoAnthropic 模型 IDclaude-sonnet-4-6

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden and discloses key behaviors: rule-based default, optional LLM invocation with prompt caching, output format. It lacks details on error handling or performance aspects.

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

Conciseness5/5

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

The description is concise (3-4 sentences), front-loaded with the main purpose, and includes all essential details without superfluous text.

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 purpose, modes, and output fields, it lacks details on error cases, performance implications, or example outputs. Given no output schema, more completeness would be beneficial.

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%, but the description adds significant context about how prefer_llm interacts with API key, the effect of model parameter, and the output structure (class_name, reason, table_kind), going beyond the schema.

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

Purpose5/5

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

The description clearly states the tool infers business-oriented Java names from database tables/columns for Spring Boot projects, distinguishing it from siblings like ai_summarize_schema or ai_metrics.

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

Usage Guidelines4/5

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

It explains two modes (rule-based vs LLM) and the precondition for LLM mode (API key). However, it does not explicitly contrast with sibling tools or state when not to use this tool.

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

ai_metricsA

返回进程内累积的 AI 调用指标 (Prompt Caching 命中率、token 消耗、错误次数)。对应 P4.4: ai.cache_hit_rate / ai.tokens_saved_via_cache 等。可在每次 ai_infer_business_names 等工具调用后查询。

ParametersJSON Schema
NameRequiredDescriptionDefault
resetNo查询后是否重置计数 (默认 false)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses the metrics returned and the reset parameter. It implies read-only behavior but does not explicitly state idempotency or side effects. Adequate but could be more thorough.

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

Conciseness5/5

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

Two sentences, no repetition, front-loaded with purpose. Every word earns its place. Highly 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 output schema and a simple parameter, the description is sufficient for understanding what the tool does. It mentions specific metrics and usage context. However, it could improve by describing the output format (e.g., JSON structure).

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 boolean param with description). The description adds minimal extra meaning beyond the schema, only clarifying that reset controls whether to reset counts after query. 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 tool returns accumulated AI call metrics (cache hit rate, token consumption, error counts) and references specific metric keys. It distinguishes itself from sibling tools which are about codegen, database, or server health, not metrics.

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 suggests querying after other AI tool calls like ai_infer_business_names, providing clear context. It does not explicitly state when not to use it or list alternatives, but the intended use is clear.

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

ai_recommend_templateA

根据整库表名 + FK 关系推荐 template_category (Default/MybatisPlus/MybatisPlus-Mixed/sb35-java21) + 生成选项 (useSwagger/useLombok/include_mapstruct/generate_dto/generate_vo)。检测 RBAC / 电商 / CMS / 工单 等典型业务模式。传 hint_modern_stack=true 强制推 sb35-java21 (Java 21 + jakarta)。

ParametersJSON Schema
NameRequiredDescriptionDefault
table_namesYes整库表名列表
foreign_keysNo可选, [{from_table, to_table, ...}]
hint_modern_stackNo用户偏好 Java 21 / Spring Boot 3.x → 强制推 sb35-java21

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It mentions detection of business patterns and forced template selection with hint_modern_stack, but does not disclose whether the tool has side effects, mutates state, or returns data. As a recommendation tool, it is likely read-only, but this is not explicit.

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 two sentences and covers the main purpose and a key parameter hint. It is concise but somewhat dense; the first sentence could be split for better readability. Nevertheless, every sentence contributes value.

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

Completeness3/5

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

The description explains what the tool recommends (template_category and generate options) but does not describe the output format or structure. Since no output schema exists, the agent would benefit from knowing what fields the recommendation contains. This gap limits 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?

Schema coverage is 100% and the description adds meaningful context for each parameter: table_names is a list of full table names, foreign_keys is optional with objects, and hint_modern_stack forces a modern stack template. It explains the effect of hint_modern_stack beyond the schema's default description.

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

Purpose5/5

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

The description clearly states the tool's purpose: to recommend a template_category and generate options based on table names and foreign keys, and also detect business patterns. This distinguishes it from sibling tools like codegen_render_* or db_query_*, which have different functions.

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

Usage Guidelines3/5

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

The description implies usage when needing template recommendations for databases with FK relationships, but does not explicitly state when to use this tool versus alternatives or when not to use it. The hint_modern_stack parameter provides a conditional use case, but no when-not or alternative tools are mentioned.

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

ai_summarize_schemaA

对整库 schema 做自然语言概述: 总览、模块划分 (按前缀)、核心实体 (列数 + 命中模式)、关键关系。便于用户理解大库,或在生成前对齐 LLM 的 mental model。

ParametersJSON Schema
NameRequiredDescriptionDefault
table_namesYes整库表名列表
foreign_keysNo可选 FK 关系 [{from_table, to_table, ...}]
table_column_countsNo可选, {表名: 列数} 用于推断核心实体

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the output structure but does not disclose any behavioral traits such as whether it performs AI inference, potential latency, required permissions, or side effects. The description adds context beyond the schema but lacks important behavioral disclosures.

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 that front-loads the main purpose and then lists components. It is concise and free of fluff, though a slightly more structured breakdown (e.g., bullet points) could enhance readability.

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

Completeness3/5

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

Given the complexity (3 params, no output schema), the description provides a good high-level overview. However, it does not specify the return format or structure of the 'overview, modules, entities, relationships', leaving ambiguity. It covers the tool's purpose but not all contextual details needed for correct invocation.

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

Parameters4/5

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

Schema description coverage is 100%, so the baseline is 3. However, the description adds value by explaining that table_column_counts infer core entities and that foreign_keys support key relationships, which goes beyond the brief schema descriptions. This clarifies the role of optional 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 it provides a natural language overview of the entire database schema, including modules by prefix, core entities with column counts, and key relationships. This distinguishes it from sibling tools like db_table_describe or ai_infer_business_names which have narrower scopes.

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 it is useful for understanding large databases or aligning LLM mental models before generation, but it does not explicitly contrast with sibling tools or state when not to use it. There is no guidance on alternatives or exclusions, making the usage context only implied.

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

codegen_build_contextA

构建代码生成所需的完整模板上下文(不写盘,不渲染)。这是原子代码生成工作流的第一步,后续 codegen_render_* 工具的输入。返回的 context dict 可被 LLM 检视或修改,再传给后续工具。

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesDatabase connection ID from db_connect_test
table_nameYesTable name to build context for
databaseNoDatabase name (optional, uses connection default)
template_categoryNoMybatisPlus-Mixed
authorNoZXP
package_nameNocom.example.generated
include_swaggerNo
include_lombokNo
include_mapstructNo
project_pathNoOptional target Spring Boot project path

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations provided, the description carries full burden. It discloses key behaviors: does not write to disk, does not render, returns a context dict. This is valuable for an agent to understand the non-destructive, preparatory nature of the tool. However, it does not mention error handling or input validation behaviors.

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

Conciseness5/5

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

The description is two concise sentences in Chinese, front-loaded with the core purpose and immediately providing workflow context. No redundant information.

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

Completeness4/5

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

Given the tool's role as a context builder and the existence of many sibling tools, the description adequately explains its purpose and position in the pipeline. It mentions the return type and how the context can be used. However, with 10 parameters and no output schema, more detail on the context contents or usage could improve completeness.

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

Parameters2/5

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

Schema description coverage is only 40% (4 of 10 parameters have descriptions). The description does not explain any parameters, leaving the agent to rely on the schema alone. It does not add meaning beyond what the schema provides, failing to compensate for the low coverage.

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

Purpose5/5

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

The description clearly states the tool builds the complete template context for code generation without writing to disk or rendering. It also identifies itself as the first step in the atomic code generation workflow, input for subsequent codegen_render_* tools, distinguishing it from sibling render tools.

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

Usage Guidelines4/5

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

The description provides clear context on when to use it (first step of codegen workflow) and how the output is used (inspect or modify before passing to render tools). It implies not to use when you need direct file output, but does not explicitly list alternatives or exclusions.

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

codegen_render_controllerA

渲染 REST Controller(@RestController + Bean Validation)。需要先调用 codegen_build_context 获取 context。

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYes从 codegen_build_context 返回的完整模板上下文 dict。包含 className/columns/primaryKeyType/templateCategory 等字段。LLM 应原样传递,可在传入前修改字段以重新渲染。

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It reveals the dependency on a prior context-building step, which is useful. However, it does not mention whether the tool generates files, overwrites existing code, requires specific permissions, or what the output is. The description is minimal, but the dependency is a key behavioral point.

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

Conciseness5/5

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

The description is extremely concise: two sentences, each serving a distinct purpose. The first sentence states the action and the result, the second provides the essential prerequisite. No filler or redundant information. 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?

Given the low complexity (1 parameter, no output schema), the description is nearly complete. However, the tool's output is not described at all; an agent might need to know whether the output is code, a file path, or something else. The description covers the prerequisite but lacks information about the result format. With no output schema, the description should at least hint at what the tool 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?

The input schema provides 100% coverage with a description for the 'context' parameter, stating it comes from codegen_build_context. The tool description adds no extra semantic meaning beyond what the schema already says. With high schema coverage, baseline is 3, and the description repeats the prerequisite without adding new details.

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 tool's function: rendering a REST Controller with @RestController and Bean Validation annotations. The verb 'render' combined with the resource 'REST Controller' makes the purpose unambiguous, and it distinguishes from sibling tools that render other artifacts like entities, mappers, services, or DAOs.

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 explicitly states the prerequisite: '需要先调用 codegen_build_context 获取 context' (need to call codegen_build_context first). This gives clear usage context. However, it does not discuss when to use this tool versus alternatives (e.g., when do you need a controller vs. a service), nor does it mention any exclusions 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.

codegen_render_daoA

渲染 DAO/Repository 层(JpaRepository 或 BaseMapper)。需要先调用 codegen_build_context 获取 context。

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYes从 codegen_build_context 返回的完整模板上下文 dict。包含 className/columns/primaryKeyType/templateCategory 等字段。LLM 应原样传递,可在传入前修改字段以重新渲染。

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses the rendering action and prerequisite but lacks details on side effects, idempotency, permissions, or error conditions. The information is adequate but minimal.

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

Conciseness5/5

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

Two succinct sentences with no redundant information. The key information is front-loaded, making it easy to parse. Every word serves a 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?

Given the simple single-parameter input and absence of output schema, the description is complete enough for its complexity. It covers the prerequisite and action. However, a note on what the output (rendered code) looks like could enhance completeness, but is not critical.

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 for the single parameter 'context'. The tool description adds the prerequisite step but does not significantly enhance parameter understanding beyond what the schema provides, meeting the baseline.

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 'render' and the resource 'DAO/Repository layer (JpaRepository or BaseMapper)', distinguishing it from sibling render tools for controller, entity, etc. It is specific and unambiguous.

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

Usage Guidelines4/5

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

The description explicitly states a prerequisite ('call codegen_build_context first'), guiding the agent on when to use this tool. However, it does not provide explicit when-not-to-use or alternative selection guidance among sibling render tools, which is a minor gap.

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

codegen_render_entityA

渲染 Entity 层(JPA @Entity / MybatisPlus @TableName)。需要先调用 codegen_build_context 获取 context。返回单个 java 文件源码。

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYes从 codegen_build_context 返回的完整模板上下文 dict。包含 className/columns/primaryKeyType/templateCategory 等字段。LLM 应原样传递,可在传入前修改字段以重新渲染。

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions the output (single Java file source) and dependency on a prerequisite, but doesn't detail error handling or side effects. Adequate but not rich.

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

Conciseness5/5

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

The description is two sentences with no wasted words. It front-loads the purpose, then states the prerequisite, then the output. Highly efficient.

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

Completeness4/5

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

Given the tool has only one parameter (well-documented in schema), no output schema, and a simple purpose, the description covers the prerequisite, output, and core functionality. Missing some error context but sufficient for typical 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% and the schema's parameter description already explains the context object well. The tool description adds minimal extra meaning beyond referencing the prerequisite, 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.

Purpose5/5

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

The description clearly states the tool renders the Entity layer (JPA @Entity / MybatisPlus @TableName) and returns a single Java file source. It distinguishes from sibling tools like codegen_render_controller by specifying 'Entity层'.

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 explicitly states a prerequisite: '需要先调用 codegen_build_context 获取 context', guiding the agent on the required prior step. It doesn't specify when not to use, but the context is clear.

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

codegen_render_mapperA

渲染 MyBatis XML mapper 或 MapStruct mapper。适用模板: Default(mapper.xml) / MybatisPlus-Mixed(mapper) / 含 useMapStruct(mapstruct_mapper)。sb35-java21 分类不需要 mapper,会返回空 files 列表。

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYes从 codegen_build_context 返回的完整模板上下文 dict。包含 className/columns/primaryKeyType/templateCategory 等字段。LLM 应原样传递,可在传入前修改字段以重新渲染。

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, but the description discloses that for the sb35-java21 category it returns empty files. However, it does not mention other behavioral aspects like idempotency, side effects, or context validation requirements.

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

Conciseness5/5

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

The description is concise, with each sentence serving a purpose: function, templates, exception. It is front-loaded and contains no extraneous information.

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

Completeness4/5

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

For a tool with one parameter, high schema coverage, no annotations, and no output schema, the description covers the main purpose, templates, and a special case. It lacks description of return format, but overall is fairly complete.

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

Parameters3/5

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

With 100% schema description coverage, the baseline is 3. The main description does not add significant value beyond the schema's detailed parameter explanation, only confirming the context should come from codegen_build_context.

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 renders MyBatis XML mapper or MapStruct mapper, specifies applicable templates, and distinguishes from sibling render tools by mentioning mapper-specific templates and the sb35-java21 category exception.

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

Usage Guidelines3/5

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

The description implies usage by listing applicable templates and noting when it returns empty, but it does not explicitly state when to use this tool over alternatives or provide exclusion criteria beyond the sb35-java21 case.

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

codegen_render_serviceA

渲染 Service 接口 + ServiceImpl 实现。需要先调用 codegen_build_context 获取 context。返回 2 个 java 文件。

ParametersJSON Schema
NameRequiredDescriptionDefault
contextYes从 codegen_build_context 返回的完整模板上下文 dict。包含 className/columns/primaryKeyType/templateCategory 等字段。LLM 应原样传递,可在传入前修改字段以重新渲染。

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for behavioral disclosure. It only states what the tool does (renders) and what it returns, but does not reveal potential side effects (e.g., file overwriting, project structure changes) or required permissions. This is a significant gap for a code generation tool.

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

Conciseness5/5

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

The description is extremely concise with two sentences. The first sentence captures the primary action, and the second provides a critical prerequisite and output summary. Every word earns its place.

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

Completeness4/5

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

Given the lack of output schema, the description compensates by stating the return type (2 java files). It covers the what, prerequisite, and output. However, it does not mention potential side effects (e.g., file location, overwrite behavior), which would elevate completeness for a code generation 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?

The single parameter 'context' is fully described in the input schema with a detailed description of its content and origin. The description reinforces the prerequisite, adding no new semantic meaning beyond the schema. With 100% schema coverage, the 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 tool renders Service interface and ServiceImpl implementation, distinguishing it from sibling render tools like codegen_render_controller and codegen_render_dao. It also specifies the output (2 java files), making the purpose unambiguous.

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

Usage Guidelines4/5

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

The description explicitly states the prerequisite: call codegen_build_context first to obtain the context. This provides clear contextual usage guidance. However, it does not mention when not to use this tool or suggest alternatives, but the context is sufficient for its pipeline role.

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

db_codegen_analyzeC

Analyze database table structure for code generation with template context

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesDatabase connection ID
table_nameYesTable name to analyze
databaseNoDatabase name (optional, uses connection default if not specified)
template_categoryNoTemplate category to use for context buildingMybatisPlus-Mixed
authorNoAuthor name for code generationZXP
package_nameNoJava package name for generated codecom.example.generated
project_pathNoTarget Spring Boot project path (with src/main/java)test_project

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full responsibility for behavioral disclosure. It does not state whether the tool is read-only, what side effects exist, or what 'template context' means. Important behavioral traits are missing.

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

Conciseness4/5

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

The description is a single sentence, which is concise. However, it could benefit from slight structuring (e.g., listing key aspects) to improve scannability. No wasted 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 7 parameters and no output schema, the description does not explain the output format or content. For a code-generation analysis tool, knowing what data is returned (columns, types, templates?) is essential. The description is incomplete for practical 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 coverage is 100%, so the schema already documents all parameters. The description adds marginal value by framing the analysis in terms of code generation, but does not clarify how parameters like template_category or project_path affect behavior beyond their schema descriptions.

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 analyzes database table structure for code generation, with an added hint about template context. This distinguishes it from generic table description tools like db_table_describe, but could be more explicit about what 'analyze' entails versus simple schema retrieval.

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 db_table_describe or codegen_build_context. The agent must infer based on the name and description alone.

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

db_codegen_generateA

[Legacy / single-shot] Generate Java code from database table analysis using templates. Prefer the atomic workflow: codegen_build_context + codegen_render_entity/dao/service/controller/mapper (P2.2). This single-shot tool also writes files to disk in one go, with no preview/edit cycle.

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesDatabase connection ID
table_nameYesTable name to generate code for
databaseNoDatabase name (optional, uses connection default if not specified)
template_categoryNoTemplate category to use for code generationMybatisPlus-Mixed
authorNoAuthor name for generated codeZXP
package_nameNoJava package name for generated codecom.example.generated
project_pathNoTarget Spring Boot project path (with src/main/java)test_project
include_swaggerNoInclude Swagger annotations in generated code
include_lombokNoInclude Lombok annotations in generated code
include_mapstructNoInclude MapStruct mappers in generated code

TDQS

A4.4/5.0
Behavior4/5

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

Discloses that it writes files to disk in one go with no preview/edit cycle. No annotations exist, so the description carries the full burden. It could mention overwriting behavior or error handling, but the key behavioral traits are communicated.

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

Conciseness5/5

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

Two sentences, no wasted words. The first sentence states purpose, the second provides usage guidance and behavioral note. Highly efficient.

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

Completeness4/5

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

For a tool with 10 parameters and no output schema, the description covers purpose, usage alternatives, and a key behavioral side effect. Missing return value description, but overall adequate given the 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 all 10 parameters, so baseline is 3. The description adds minimal extra meaning beyond the schema, e.g., 'using templates' and 'legacy/single-shot', which are contextual but not parameter-specific.

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

Purpose5/5

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

Clearly states it generates Java code from database table analysis using templates. Distinct from sibling tools by explicitly labeling itself 'single-shot' and contrasting with the atomic workflow.

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

Usage Guidelines5/5

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

Explicitly recommends preferring the atomic workflow (codegen_build_context + render_* tools) instead of this legacy single-shot tool. Also warns that it writes files to disk with no preview/edit cycle, guiding 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.

db_connect_testB

Test database connection and create connection session

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYesDatabase host address
portYesDatabase port number
usernameYesDatabase username
passwordYesDatabase password
databaseNoDatabase name (optional for initial connection)
database_typeYesDatabase type
charsetNoCharacter encodingutf8mb4

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description reveals that the tool creates a connection session, implying side effects. However, it does not clarify what happens on failure, whether the session persists, or if it's automatically cleaned up. This is adequate but lacks depth.

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

Conciseness4/5

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

Two actions in one sentence; very short and front-loaded. No unnecessary words. Could be slightly improved by separating test and create actions, but still concise.

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 7 parameters, no output schema, and no sibling differentiation in description, the description is moderately complete. It covers the basic purpose but omits return values, error handling, and lifecycle of the session.

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. The description does not add meaning beyond the parameter names and types; e.g., it doesn't explain the role of 'database' as optional or the significance of 'charset'.

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 tool tests a database connection and creates a session. This distinguishes it from siblings like db_query_execute (executes queries) and db_query_databases (lists databases).

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 other database tools, such as when to test connection before querying. No mention of prerequisites or alternatives.

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

db_query_databasesB

List all databases on the server

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesConnection identifier from db_connect_test

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description should explicitly note that the operation is read-only; "list" implies it, but other behavioral traits (error handling, permissions) are absent.

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

Conciseness5/5

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

The description is a single sentence with no waste, front-loading the purpose efficiently.

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

Completeness3/5

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

For a simple list operation with one parameter, the description is adequate but could mention the expected output (e.g., database names) to 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%; the description adds no meaning beyond the schema's parameter description, meeting the baseline but not exceeding it.

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

Purpose5/5

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

The description "List all databases on the server" uses a specific verb and resource, clearly distinguishing from sibling tools that list tables or execute 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 on when to use this tool vs alternatives, such as needing a prior connection from db_connect_test, which is implied by the schema but not stated in the description.

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

db_query_executeA

Execute custom SQL query (SELECT only for safety)

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesConnection identifier from db_connect_test
queryYesSQL SELECT query to execute
limitNoMaximum number of rows to return

TDQS

A3.5/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It states 'SELECT only for safety', implying read-only behavior, but lacks detail on error handling, performance impact, or authentication requirements.

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 effectively communicates core function. Could potentially include more details without becoming verbose, but current version is concise and direct.

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

Completeness2/5

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

No output schema exists, yet description does not explain what is returned (e.g., rows, columns, format). For a tool executing arbitrary queries, more context is needed for safe and effective 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 coverage is 100%, so parameters are already well-documented. Description adds no extra semantic meaning beyond the schema descriptions.

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

Purpose5/5

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

Clearly states the action (Execute), resource (custom SQL query), and constraint (SELECT only). Distinguishes from sibling tools like db_connect_test and db_query_tables.

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?

Implicitly restricts usage to SELECT queries via '(SELECT only for safety)', but does not explicitly state when to use this tool versus alternatives like db_query_tables or db_table_columns.

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

db_query_table_existsA

Check if a table exists in the database

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesConnection identifier from db_connect_test
databaseYesDatabase name
tableYesTable name

TDQS

A3.8/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It states existence check but doesn't disclose return type (likely boolean) or error behavior (e.g., invalid connection). Minimal but non-contradictory.

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 of 7 words, highly concise and front-loaded with purpose. No wasted information. Ideal for a simple lookup 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 tool with 3 simple parameters, no output schema, and no nested objects, the description is nearly complete. Missing detail on return value (e.g., boolean or error) but sufficient for basic 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 coverage is 100% with clear parameter descriptions. The tool description adds no extra meaning beyond the schema, so baseline 3 applies. Parameter semantics are adequately handled by 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 'Check if a table exists in the database', which is specific verb+resource. It distinguishes from sibling tools like db_query_execute (which runs queries) and db_query_tables (which lists tables).

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 when-to-use or when-not-to-use guidance. Usage is implied: check existence before other operations, but no alternatives or exclusions mentioned. Average for a simple boolean check tool.

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

db_query_tablesB

List all tables in a specific database

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesConnection identifier from db_connect_test
databaseYesDatabase name

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are present, so the description must carry the burden. 'List' implies a read-only operation, but no explicit statement about idempotency, side effects, or error conditions (e.g., invalid connection) is given. Minimal but adequate for a simple listing tool.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no wasted words. It efficiently conveys the tool's purpose.

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

Completeness2/5

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

No output schema is provided, and the description does not hint at the return format (e.g., table names only or metadata). Given the tool's complexity and missing output schema, more detail is needed for full 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% with both parameters described. The description adds no extra 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.

Purpose5/5

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

The description 'List all tables in a specific database' clearly states the action (list) and the resource (tables in a database), distinguishing it from sibling tools like db_query_databases (lists databases) and db_query_table_exists (checks a specific table).

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 vs alternatives (e.g., db_query_execute for arbitrary queries), nor prerequisites like the connection must be tested via db_connect_test (implied only by parameter description).

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

db_render_er_diagramA

生成多个表的 Mermaid ER 图 (MCP App: mermaid 组件)。调用前需已通过 db_connect_test 建立连接。支持 MCP Apps 的客户端会渲染图表;不支持的客户端会看到纯文本摘要 + mermaid 源码。

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesDatabase connection ID from db_connect_test
databaseYesDatabase name
tablesYes表名列表 (至少 1 个)
include_non_pk_columnsNo是否列出非主键/外键列 (默认 true)

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description bears full responsibility. It reveals the tool uses Mermaid and the MCP App component, and that unsupported clients see a plain text summary plus source. However, it does not discuss side effects, read-only nature, 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?

The description consists of two concise sentences with no superfluous information. It front-loads the purpose and immediately adds prerequisites and behavior, making it efficient for an agent to parse.

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, the description adequately covers the return format (rendered diagram or plain text + source) and the prerequisite. It lacks details on error handling or performance, but is otherwise complete for a diagram-generation 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 baseline is 3. The description does not add extra meaning beyond the schema beyond implicitly mentioning 'multiple tables' for the 'tables' parameter. No parameter-specific details or examples are given.

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 the tool generates Mermaid ER diagrams for multiple tables, which is a specific verb and resource. While it does not explicitly distinguish from siblings, the purpose is clear and distinct from other db_* tools.

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

Usage Guidelines3/5

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

The description includes a clear prerequisite: must have established a connection via db_connect_test before calling. However, it does not provide guidance on when not to use this tool or suggest alternatives.

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

db_table_columnsC

Get detailed column information for a table

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesConnection identifier from db_connect_test
databaseYesDatabase name
tableYesTable name

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It implies a read-only operation but does not confirm idempotence, permission requirements, or error handling (e.g., behavior if table missing). Minimal transparency beyond the basic action.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words. It is appropriately sized for a simple tool, though slightly more detail could be included without sacrificing 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 no output schema and no annotations, the description should provide more context about what 'detailed column information' includes. It does not mention return format, pagination, or relation to sibling tools, leaving gaps for an agent to infer.

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 explains each parameter. The description adds no extra meaning for parameters. Baseline of 3 is appropriate since the schema does the heavy lifting.

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

Purpose4/5

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

The description uses a clear verb+resource pattern ('Get detailed column information for a table'), distinguishing itself from sibling tools like db_table_foreign_keys or db_table_indexes. However, it does not specify what 'detailed' means (e.g., includes types, nullability, defaults), leaving slight 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 such as db_table_describe or db_query_tables. The description simply states what it does without any context about prerequisites, limitations, or use cases.

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

db_table_describeB

Get complete table structure information including columns, types, constraints

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesConnection identifier from db_connect_test
databaseYesDatabase name
tableYesTable name
include_java_typesNoInclude Java type mapping for columns

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided; the description implies a read operation but does not disclose permissions, error handling, or other behavioral traits beyond the basic function.

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, concise and front-loaded with the core purpose. Could be slightly more informative but retains 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?

Description lacks specifics on what exactly is included in the output (e.g., indexes, foreign keys, primary keys) given sibling tools cover those separately. No output schema provided to compensate.

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 clear parameter descriptions. The description adds no additional 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.

Purpose5/5

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

The description clearly states the tool gets 'complete table structure information including columns, types, constraints', which is specific and distinguishes it from sibling tools that 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 guidance on when to use this comprehensive tool versus individual sibling tools like db_table_columns or db_table_foreign_keys. The description does not mention alternatives or conditions.

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

db_table_foreign_keysC

Get foreign key relationships for a table

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesConnection identifier from db_connect_test
databaseYesDatabase name
tableYesTable name

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must convey behavioral traits. It merely states the action without disclosing side effects, required permissions, or output structure. The tool is a read operation, but this is not explicitly stated, and the return format (e.g., list of foreign key details) is omitted.

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 that front-loads the main action. Every word is meaningful; there is no redundancy or fluff. However, it sacrifices detail for brevity, which may reduce clarity for complex use cases.

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

Completeness2/5

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

For a tool with three parameters and no output schema, the description should at least hint at what the response contains (e.g., column names, referenced tables). It does not, leaving the agent unaware of the information returned. The sibling tools provide similar schema inspection but without output context, so the shortfall is moderate.

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 each parameter is documented in the schema (connection_id, database, table). The description adds no additional semantics, such as specifying that the table parameter should be fully qualified or that foreign keys reference limited tables. 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 uses a specific verb-resource pair: 'Get foreign key relationships for a table'. It clearly identifies the action and object, distinguishing it from other database tools like listing columns or indexes. However, it lacks differentiation among sibling tools such as db_table_columns or db_table_describe, which could also be used for schema exploration.

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, such as an active connection, nor does it explain whether it retrieves inbound, outbound, or both foreign key relationships. There are no examples or exclusions.

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

db_table_indexesC

Get index information for a table

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesConnection identifier from db_connect_test
databaseYesDatabase name
tableYesTable name

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits but only states the basic operation. No information about permissions, side effects, or return format is given, leaving significant gaps.

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 (six words) but lacks structure and detail. While front-loaded, it is too brief to be fully helpful.

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

Completeness2/5

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

Given the tool has 3 parameters, no output schema, and no annotations, the description is incomplete. It does not explain what 'index information' comprises or how to interpret the results.

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 for parameters, so the description adds no additional meaning beyond what the schema provides. The 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 states the verb 'Get' and the resource 'index information for a table', making the purpose evident. However, it does not differentiate from sibling tools like db_table_columns or db_table_foreign_keys, which could cause confusion.

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 db_table_columns or db_query_tables. The description lacks context for appropriate usage scenarios.

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

db_table_primary_keysC

Get primary key information for a table

ParametersJSON Schema
NameRequiredDescriptionDefault
connection_idYesConnection identifier from db_connect_test
databaseYesDatabase name
tableYesTable name

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It does not disclose any behavioral traits beyond the basic purpose (e.g., read-only, idempotent, error handling). 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.

Conciseness4/5

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

Single sentence that directly states purpose. No wasted words, but could be more informative without losing conciseness.

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

Completeness2/5

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

No output schema, but description does not explain return value structure. For a tool returning primary key info, agent would benefit from knowing format (e.g., column names, constraint names). Incomplete 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?

Schema has 100% coverage with basic descriptions. Tool description adds no extra meaning beyond what 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.

Purpose4/5

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

Description clearly states the verb 'Get' and resource 'primary key information for a table'. Distinguishes from sibling tools like db_table_columns and db_table_indexes. Could specify what 'information' includes, but overall clear.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. No mention of prerequisites or context. Agent must infer usage from name alone.

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

search_toolsA

按关键词搜索可用 MCP 工具,用于渐进式发现 (Progressive Discovery)。当用户提到的操作不在当前可见工具列表中时,先用此工具搜索,再调用返回的工具。示例: query='render dao' → 返回 codegen_render_dao + 相关工具。传空 query 列出所有 always_visible 工具。

ParametersJSON Schema
NameRequiredDescriptionDefault
queryNo搜索关键词 (支持空格分隔多 token)
limitNo返回前 N 个结果

TDQS

A5/5.0
Behavior5/5

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

The description discloses key behaviors: it returns tools matching the query, and empty query returns always_visible tools. No annotations are provided, but the description adequately covers the tool's behavior without 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?

Extremely concise: two sentences covering purpose, usage, and an example. No wasted words; every sentence adds value.

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?

Despite no output schema, the description is complete: it explains the return behavior (returns tools, example given), and covers the search functionality comprehensively. The context of progressive discovery is well explained.

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

Parameters5/5

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

The schema has 100% coverage for both parameters. The description adds meaning beyond the schema by explaining how 'query' works with space-separated tokens and that empty query lists always_visible tools, and clarifies the purpose of 'limit'.

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

Purpose5/5

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

The description clearly states the tool's purpose: searching available MCP tools by keyword for progressive discovery. It uses a specific verb ('搜索') and resource ('可用 MCP 工具'), and distinguishes from siblings by its role as a discovery tool.

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

Usage Guidelines5/5

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

Explicitly tells when to use: when the user's operation is not in the visible tool list. Also specifies that empty query lists always_visible tools, providing clear usage context and alternatives.

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

server_healthA

返回 server 健康状态: Python 版本、mcp SDK 版本、核心模块导入是否成功、DB 连接活跃数、OS 信息。用于部署后冒烟检查。

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the full burden. It transparently lists all return fields (Python version, mcp SDK version, core module import status, DB connection active count, OS info) and implies a read-only, non-destructive operation. Could mention that it does not modify state.

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 Chinese sentence that front-loads the purpose and lists key return fields. Every word is informative 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 zero parameters and no output schema, the description fully explains what the tool does and when to use it. It covers expected return values and use case (smoke testing). No gaps identified.

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 no parameters (schema description coverage 100%), so the baseline is 4. The description adds context about what the tool returns, which is useful but not parameter-specific.

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 returns server health status with specific fields (Python version, mcp SDK version, core module import status, DB connection active count, OS info). This differentiates it from sibling tools like 'server_metrics' which likely focuses on different metrics.

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 explicitly states the tool is used for post-deployment smoke testing (用于部署后冒烟检查), providing clear usage context. It does not mention alternatives, but the tool has no parameters and a straightforward purpose.

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

server_metricsB

返回 DBJavaGenix MCP server 的运行时指标: uptime、每个工具的调用次数 / 平均时延 / 错误率。轻量级 in-process,不依赖 Prometheus。

ParametersJSON Schema
NameRequiredDescriptionDefault
resetNo查询后重置计数器 (默认 false)

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool is in-process and does not require Prometheus, but it does not describe potential side effects of the 'reset' parameter, output format, or any rate limits. This is a moderate effort but incomplete.

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

Conciseness4/5

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

The description is concise (two sentences) and front-loaded with the key information. It is easy to parse, though could be more structured with headers or a clearer separation of functionality.

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

Completeness3/5

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

The tool has a simple interface (one optional parameter) and no output schema. The description gives the basic purpose and constraints but omits details like return format and how metrics are structured. It adequately covers the essentials but leaves room for improvement.

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 covers the 'reset' parameter with a description. Since schema description coverage is 100%, the tool description adds no extra meaning. 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 states the tool returns runtime metrics (uptime, per-tool call count, latency, error rate) and mentions it's lightweight in-process. However, it does not explicitly differentiate from sibling tools like 'ai_metrics' or 'server_health', which may cause 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 does not provide any guidance on when to use this tool versus alternatives. It neither states usage context nor when not to use it, leaving the agent to infer from the name alone.

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

springboot_analyze_dependenciesB

Analyze project dependencies and generate intelligent recommendations for code generation

ParametersJSON Schema
NameRequiredDescriptionDefault
template_categoryYesTemplate category for dependency analysisMybatisPlus-Mixed
database_typeYesDatabase type for driver dependenciesmysql
include_swaggerNoWhether to include Swagger/OpenAPI dependencies
include_lombokNoWhether to include Lombok dependencies
include_mapstructNoWhether to include MapStruct dependencies
project_pathNoPath to project root (optional, defaults to current directory).

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are available, and the description does not disclose behavioral traits such as side effects, authorization requirements, or rate limits. The tool appears to be read-only, but this is not explicitly stated.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently conveys the tool's purpose without extraneous 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?

The description lacks details about return values or output format, which are absent from an output schema. While it mentions 'intelligent recommendations', it does not specify what form those recommendations take, leaving some ambiguity.

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 6 parameters have descriptions in the input schema (100% coverage). The description adds no further semantic context beyond what the schema already provides, 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.

Purpose5/5

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

The description clearly states the tool's action (analyze dependencies) and output (generate intelligent recommendations for code generation). It distinguishes itself from sibling tools like codegen_render_* which focus on actual generation.

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 db_codegen_analyze or codegen_render_*. There are no prerequisites or conditions for use mentioned.

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

springboot_read_configB

Read Spring Boot project configuration (YAML/Properties/Bootstrap) and infer base package

ParametersJSON Schema
NameRequiredDescriptionDefault
project_pathNoOptional explicit project root to scan
active_profileNoProfile name to overlay (e.g. dev, prod)
include_profilesNoWhether to collect all available profile files
merge_strategyNoHow to merge base and profile configsoverlay

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description must fully disclose behavioral traits. It only states the action (read) and purpose (infer base package) without mentioning side effects, authorization needs, or performance characteristics. It does not clarify whether the tool accesses remote resources or has any destructive potential.

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, well-formed sentence of 11 words with no redundancy. It is front-loaded with the primary verb and resource, making the purpose immediately clear.

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 tool has 4 optional parameters and no output schema, the description lacks details about what 'infer base package' means or what the return value contains. For a tool with moderate complexity, additional context about expected output or behavior would be beneficial.

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 parameter-level meaning beyond what the schema already provides. For example, 'merge_strategy' enum values are not explained in context.

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

Purpose5/5

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

The description uses a specific verb ('Read') with a clear resource ('Spring Boot project configuration') and adds an additional purpose ('infer base package'). It distinguishes itself from siblings like springboot_validate_project and springboot_analyze_dependencies, which focus on validation and dependency analysis respectively.

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, typical scenarios, or when not to use it. The sibling tools list exists but the description lacks explicit context.

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

springboot_validate_projectB

Validate SpringBoot project structure and dependencies before code generation

ParametersJSON Schema
NameRequiredDescriptionDefault
check_dependenciesNoWhether to check project dependencies (default: True)
create_missing_dirsNoWhether to create missing standard directories (default: True)
template_categoryNoTemplate category to check dependencies forMybatisPlus-Mixed

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether the tool is read-only or has side effects. The parameters suggest possible directory creation, but this is not reflected in the description, leaving behavioral traits unclear.

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 that is front-loaded and contains no unnecessary words. However, it could be slightly expanded for clarity without losing conciseness.

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

Completeness2/5

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

Given three parameters and no output schema or annotations, the description is incomplete. It does not explain what 'validate' entails, what the output is, or whether the tool modifies the project structure. More detail is needed for a complete understanding.

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 all parameters described. The description adds no additional meaning beyond 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.

Purpose5/5

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

Description clearly states 'Validate SpringBoot project structure and dependencies before code generation', which is a specific action with a clear resource. It is distinct from siblings like 'springboot_analyze_dependencies' that focus solely on dependencies.

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 'before code generation', implying a usage context, but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are listed, and the context is only implied.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 29 tool updatesv0.1.1
    • First observedai_infer_business_names
    • First observedai_metrics
    • First observedai_recommend_template
    • First observedai_summarize_schema
    • First observedcodegen_build_context
    • First observedcodegen_render_controller
    • First observedcodegen_render_dao
    • First observedcodegen_render_entity
    • First observedcodegen_render_mapper
    • First observedcodegen_render_service
    • First observeddb_codegen_analyze
    • First observeddb_codegen_generate
    • First observeddb_connect_test
    • First observeddb_query_databases
    • First observeddb_query_execute
    • First observeddb_query_table_exists
    • First observeddb_query_tables
    • First observeddb_render_er_diagram
    • First observeddb_table_columns
    • First observeddb_table_describe
    • First observeddb_table_foreign_keys
    • First observeddb_table_indexes
    • First observeddb_table_primary_keys
    • First observedsearch_tools
    • First observedserver_health
    • First observedserver_metrics
    • First observedspringboot_analyze_dependencies
    • First observedspringboot_read_config
    • First observedspringboot_validate_project

TDQS

B3.4/5.0
Disambiguation5/5

Each tool targets a distinct action: database exploration, code generation layers, AI assistance, server health, and Spring Boot analysis. Overlap is minimal, and even similar tools (e.g., db_table_columns vs. db_table_describe) have clearly different purposes.

Naming Consistency3/5

While most tools follow a prefix_verb_noun pattern, there are inconsistencies: legacy tools use db_codegen_ instead of codegen_, and some tools (ai_metrics, server_health) omit the verb entirely. This mixed convention can confuse an agent.

Tool Count2/5

With 29 tools, the count exceeds the '25+' threshold for 'too many' per the rubric. The surface includes granular DB detail tools (e.g., separate tools for each table attribute) and duplicate code generation workflows (legacy vs. atomic), inflating the count unnecessarily.

Completeness4/5

The tool set covers the full lifecycle from database connection and schema analysis to AI-powered naming and code generation for various layers. Minor gaps include lack of batch generation for multiple tables or an update mechanism for changes after generation.

Maintenance

ActivityMaintained
ResponsivenessNo issues

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 natural language database operations on MySQL databases with AI integration, supporting CRUD operations, schema inspection, and audit logging with built-in security features including SQL injection protection and permission controls.
    454
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to read and write MySQL databases, dynamically switch databases/servers, and auto-configure from Spring Boot projects.
    454
    1
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables enterprise database schema exploration and Spring Boot code generation (MyBatis, JPA) through MCP, supporting both online DB connections and offline DDL parsing.
    -

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/ZhaoXingPeng/DBJavaGenix'

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