Skip to main content
Glama

mcp-xxl-job

npm version License: MIT Node.js >= 18

MCP Server for XXL-JOB Admin — 通过 MCP 协议让 AI 助手直接管理 XXL-JOB 定时任务。

GitHub Repository:mcp‑xxl‑job

✅ This MCP server is indexed on Glama.ai

功能特性

  • 执行器组管理 — 查询执行器组列表及在线机器地址

  • 任务全生命周期 — 查询、新增、修改、删除、启动、停止定时任务

  • 手动触发执行 — 支持覆盖运行参数、指定执行器地址

  • 调度预演 — 根据 Cron 表达式预演未来触发时间

  • 执行日志 — 分页查询调度记录,增量拉取日志正文

  • 安全设计 — 自动登录、Cookie 会话维护、失效自动重登

  • 防字段丢失 — 修改任务采用「读取-合并-写回」策略

Related MCP server: rundeck-mcp-server

提供的 MCP 工具

工具

功能

list_job_groups

分页查询执行器组列表

list_jobs

分页查询任务列表(支持按执行器组、状态、描述等过滤)

get_job

查询单个任务完整配置

add_job

新增任务(支持 CRON / FIX_RATE / NONE 调度类型)

update_job

修改任务配置(未传入字段保持原值)

remove_job

删除任务

start_job

启动任务调度

stop_job

停止任务调度

trigger_job

手动触发一次执行

preview_next_trigger_times

预演未来触发时间

list_job_logs

分页查询执行日志

get_job_log_content

增量拉取日志正文

环境要求

  • Node.js >= 18

  • XXL-JOB Admin >= 2.3.0

配置

环境变量

变量

必填

说明

XXL_JOB_URL

调度中心地址,如 http://127.0.0.1:8080/xxl-job-admin

XXL_JOB_USERNAME

登录用户名

XXL_JOB_PASSWORD

登录密码

XXL_JOB_TIMEOUT_MS

HTTP 超时(毫秒),默认 15000

MCP 客户端配置

在 MCP 客户端(如 Claude Desktop、Cursor、Qoder 等)中添加以下配置:

方式一:全局安装后使用(推荐)

  • 安装:

npm install -g mcp-xxl-job

升级:全局安装的版本不会自动更新,需手动升级:

npm update -g mcp-xxl-job
# 或
npm install -g mcp-xxl-job@latest
  • 配置:

{
  "mcpServers": {
    "xxl-job": {
      "command": "mcp-xxl-job",
      "env": {
        "XXL_JOB_URL": "http://127.0.0.1:8080/xxl-job-admin",
        "XXL_JOB_USERNAME": "admin",
        "XXL_JOB_PASSWORD": "123456"
      }
    }
  }
}

方式二:通过 npx 使用

注意:如果你的 npm 配置了国内镜像源(如 npmmirror),npx 可能无法找到包。此时请使用全局安装方式,或指定官方源:

npx --registry=https://registry.npmjs.org mcp-xxl-job@latest

包名后加 @latest 可确保每次启动都获取最新版本(npx 有本地缓存,不加 @latest 可能会一直使用缓存的旧版本)。

  • 配置:

{
  "mcpServers": {
    "xxl-job": {
      "command": "npx",
      "args": ["-y", "mcp-xxl-job@latest"],
      "env": {
        "XXL_JOB_URL": "http://127.0.0.1:8080/xxl-job-admin",
        "XXL_JOB_USERNAME": "admin",
        "XXL_JOB_PASSWORD": "123456"
      }
    }
  }
}

提示:如果 npx 方式连接失败,请改用全局安装方式,或在 args 中添加 "--registry=https://registry.npmjs.org"

使用示例

配置完成后,你可以用自然语言让 AI 助手操作 XXL-JOB:

查询当前有哪些定时任务
新增一个任务:执行器组=demo-server,描述=数据同步,Cron=0 0 2 * * ? *,Handler=syncJobHandler
停止任务 id=5 的调度
查看任务 id=3 最近 10 条执行日志
预演 Cron 表达式 0 0/30 * * * ? 的未来触发时间

开发

# 克隆项目
git clone https://github.com/shaguocgl/mcp-xxl-job.git
cd mcp-xxl-job

# 安装依赖
npm install

# 编译
npm run build

# 运行
npm start

# 开发模式(自动重新编译)
npm run dev

测试

# 冒烟测试
npm run smoke

# 集成测试(需要可用的 XXL-JOB 实例)
npm run test:integration

# 客户端单元测试
npm run test:client

项目结构

mcp-xxl-job/
├── src/
│   ├── server.ts      # MCP 服务入口,注册所有工具
│   ├── client.ts      # XXL-JOB Admin HTTP 客户端
│   ├── config.ts      # 环境变量配置加载
│   └── models.ts      # 数据结构与校验逻辑
├── tests/
│   ├── smoke.ts       # 冒烟测试
│   ├── integration.ts # 集成测试
│   ├── test-client.ts # 客户端测试
│   └── mock-admin.ts  # Mock 服务器
├── package.json
├── tsconfig.json
└── .env.example       # 环境变量示例

技术栈

  • Runtime: Node.js >= 18

  • Language: TypeScript

  • MCP SDK: @modelcontextprotocol/sdk

  • Schema Validation: Zod

  • Transport: stdio

许可证

MIT © 2026

Available Tools

12 tools
add_job新增任务A

在 XXL-JOB 中新增一个任务。必填:执行器组 id、任务描述、调度类型与配置、JobHandler。未提供的可选项使用默认值:路由策略 FIRST、阻塞策略 SERIAL_EXECUTION、过期策略 DO_NOTHING、运行模式 BEAN。新增后默认为停止状态,可用 start_job 启动。

ParametersJSON Schema
NameRequiredDescriptionDefault
authorNo负责人
jobDescYes任务描述
jobGroupYes执行器组 id(可用 list_job_groups 查询)
alarmEmailNo报警邮件(多个逗号分隔)
childJobIdNo子任务 id(多个逗号分隔)
scheduleConfNo调度配置:CRON 时为 Cron 表达式(6~7 段),FIX_RATE 时为秒数
scheduleTypeYes调度类型:CRON=Cron 表达式,FIX_RATE=固定速度(秒),NONE=不调度
executorParamNo任务运行参数(可选)
executorHandlerYes执行器中的 JobHandler 名称(@XxlJob 注解值)
executorTimeoutNo任务超时时间(秒),0=不限制
misfireStrategyNo调度过期策略,默认 DO_NOTHING
executorBlockStrategyNo阻塞处理策略,默认 SERIAL_EXECUTION
executorRouteStrategyNo路由策略,默认 FIRST
executorFailRetryCountNo失败重试次数,0=不重试

TDQS

A4.2/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 burden. It discloses key behaviors: default values for routing, blocking, and misfire strategies, the BEAN run mode default, and that the job is created in a stopped state. This provides essential state-related transparency, though it does not cover error handling or side effects.

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

Conciseness5/5

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

The description is concise, consisting of two sentences that front-load the core action and then efficiently list required fields and defaults. Every sentence adds value without unnecessary fluff, making it well-structured for quick comprehension.

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 complexity (14 parameters, no output schema), the description covers required fields, defaults, and the initial stopped state, providing sufficient context for usage. It omits return value details, but this is not critical given the presence of related query tools like get_job and list_jobs.

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

Parameters3/5

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

The schema has 100% description coverage for all 14 properties, so the description adds minimal parameter-level meaning. It restates default values that are already in the schema and adds the run mode BEAN default, but this is more behavioral than parameter semantics. The baseline for high schema coverage is 3, and the description does not significantly elevate 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 clearly states the tool adds a new job in XXL-JOB with a specific verb ('新增') and resource. It lists required fields and differentiates from siblings by noting the default stopped state and referencing start_job for starting, making the purpose unmistakable.

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

Usage Guidelines4/5

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

The description specifies required inputs and default values for optional parameters, and mentions using start_job to start the created job. It does not explicitly contrast with update_job or other alternative tools, but the workflow context is clear enough for an agent to select this tool appropriately.

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

get_job查询任务详情A

根据任务 id 查询 XXL-JOB 任务的完整配置详情。

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes任务 id

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'query', which implies a read-only operation, but does not explicitly confirm non-mutation, describe what happens if the job id does not exist, or outline the response structure. This is a gap for a simple retrieval tool with no annotation safety hints.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the verb and resource. It contains no redundant text or filler, making it appropriately sized for a simple tool with one parameter.

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

Completeness3/5

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

Given the tool's low complexity (one parameter) and no output schema, the description gives a general sense of the return value ('complete configuration details') but omits specifics such as the exact fields returned, error handling, or examples. The lack of an output schema means the description should provide a bit more context about what 'complete' includes, but it remains adequate 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?

The input schema already documents the only parameter jobId with the description '任务 id' (task id). The description's phrase 'based on task id' adds no additional meaning beyond the schema, and with 100% schema coverage, the description does not need to compensate. Baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states the tool queries the complete configuration details of an XXL-JOB task by its id. This specific verb+resource+scope distinguishes it from sibling tools like list_jobs, which lists jobs, and update_job, which modifies a job.

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 use when you have a job id and need full configuration details, but it does not explicitly state when to use this tool over alternatives like list_jobs or get_job_log_content. No exclusions or alternative recommendations are provided, leaving usage context implied rather than explicit.

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

get_job_log_content查看执行日志正文A

增量拉取某条执行记录的日志正文(来自执行器)。logId、executorAddress、triggerTime 取自 list_job_logs 的返回。日志较长时,用返回的 toLineNum+1 作为下一次 fromLineNum 继续读取,直到 isEnd=true。

ParametersJSON Schema
NameRequiredDescriptionDefault
logIdYes执行日志记录 id(list_job_logs 返回的 id)
fromLineNumNo起始行号,首次传 1,续读传上次 toLineNum+1
triggerTimeYes触发时间(list_job_logs 返回的 triggerTime 原值)
executorAddressYes执行器地址(list_job_logs 返回的 executorAddress)

TDQS

A4.6/5.0
Behavior5/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It reveals the tool's incremental pagination behavior and the source ('来自执行器'), and explicitly references return fields toLineNum and isEnd. This provides valuable operational context beyond what a typical 'get content' tool might state, aiding the agent in correctly looping through long logs.

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 exactly two sentences, front-loaded with the main purpose. The first sentence states what the tool does, and the second explains the pagination pattern. Every sentence earns its place, with no redundant filler.

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

Completeness4/5

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

The tool is relatively simple (fetch log content with pagination), and the description explains the pagination loop clearly. However, since there is no output schema, the description does not fully describe the response structure (e.g., the exact field name for the log content itself). It mention toLineNum and isEnd, which is helpful, but the overall return format is not specified. This is a minor gap, so a 4 is appropriate.

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 each parameter already has a clear description, including the fact that logId/executorAddress/triggerTime are obtained from list_job_logs and that fromLineNum should be set to previous toLineNum+1. The tool description adds little beyond restating these schema details, so it stays at the baseline 3.

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

Purpose5/5

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

The description clearly states the tool's action: '增量拉取某条执行记录的日志正文(来自执行器)' (incrementally pull the log body of a specific execution record from the executor). It uses a specific verb and resource, and it distinguishes this from sibling list_job_logs by emphasizing it retrieves the log content, not the log metadata.

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?

The description explicitly instructs that logId, executorAddress, and triggerTime come from list_job_logs, establishing a clear prerequisite. It also details the incremental reading protocol: use returned toLineNum+1 as the next fromLineNum until isEnd=true. This provides concrete when-to-use and how-to-continue guidance, going beyond just stating the tool's purpose.

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

list_job_groups查询执行器组列表A

分页查询 XXL-JOB 的执行器组(执行器)列表,返回 id、AppName、名称、注册方式、在线机器地址等信息。新增任务前通常需要先查执行器组 id。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,从 1 开始
titleNo按执行器名称过滤(可选)
appnameNo按执行器 AppName 过滤(可选)
pageSizeNo每页条数

TDQS

A4.3/5.0
Behavior4/5

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

No annotations provided, so the description carries the burden. It discloses the operation is a paged query and lists returned fields, adding context beyond the schema. It does not mention rate limits or authentication, but these are not critical for a simple read operation.

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

Conciseness5/5

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

Single sentence, front-loaded with the main action, and no redundant information. Every word earns its place.

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

Completeness5/5

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

For a list tool with fully described parameters and no output schema, the description provides sufficient context: purpose, return fields, and a typical usage scenario. It is complete enough for an agent to select and invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100% for all 4 parameters, so baseline is 3. The description adds the context that the id is needed for adding tasks, but does not elaborate on parameter syntax 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's function: '分页查询 XXL-JOB 的执行器组(执行器)列表' with specific return fields. It distinguishes from sibling tools by focusing on executor groups rather than jobs.

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?

Provides clear context: '新增任务前通常需要先查执行器组 id' (usually query executor group id before adding a task), indicating when to use this tool. However, it does not explicitly mention alternatives 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.

list_job_logs查询执行日志列表A

分页查询任务的执行日志(调度记录),支持按执行器组、任务、执行状态、调度时间范围过滤。返回每条记录的调度结果(triggerCode)、执行结果(handleCode)、执行器地址与触发时间,可据此调用 get_job_log_content 查看日志正文。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,从 1 开始
jobIdNo任务 id
jobGroupNo执行器组 id
pageSizeNo每页条数
logStatusNo执行状态:1=成功,2=失败,3=进行中
filterTimeEndNo调度时间截止,格式 yyyy-MM-dd HH:mm:ss
filterTimeStartNo调度时间起始,格式 yyyy-MM-dd HH:mm:ss

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full transparency burden. It discloses that the tool supports pagination, filtering, and returns specific fields (triggerCode, handleCode, executor address, trigger time), offering meaningful behavioral context beyond a generic 'list' statement.

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

Conciseness5/5

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

The description is two sentences, front-loads the core purpose, and includes no filler. Every clause adds value: purpose, filtering capabilities, return fields, and the follow-up tool reference.

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 list tool with no output schema, the description is fairly complete—it explains the returned fields and points to the next step (get_job_log_content). Minor gaps exist (e.g., pagination defaults, ordering), but these are partially covered by the schema's parameter defaults.

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 7 parameters fully described. The description only restates the filter categories (executor group, task, status, time range) that map to existing schema properties, adding no additional syntax or format details beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states it performs paginated queries of task execution logs with filtering by group, task, status, and time range—a specific verb+resource combination that distinguishes it from siblings. It also mentions returning specific fields and points to get_job_log_content, making its role unmistakable.

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

Usage Guidelines4/5

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

The description provides clear usage context by explaining that after listing logs, one can call get_job_log_content to view content, establishing a workflow and implicitly distinguishing this tool from the content viewer. It does not explicitly state when not to use it, but the intended alternative is clearly named.

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

list_jobs分页查询任务列表A

分页查询 XXL-JOB 任务列表,支持按执行器组、调度状态(0=停止/1=运行中)、任务描述、JobHandler、负责人过滤。

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo页码,从 1 开始
authorNo负责人过滤
jobDescNo任务描述模糊匹配
jobGroupNo执行器组 id(可用 list_job_groups 查询)
pageSizeNo每页条数
triggerStatusNo调度状态:0=停止,1=运行中
executorHandlerNoJobHandler 名称过滤

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 transparency burden. It discloses that this is a read-only query operation ('查询') and that it is paginated ('分页'), which is useful. It does not add deeper behavioral context like permission requirements, result ordering, or total-count behavior, and it largely repeats the filter options already present in the schema.

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 compact sentence that front-loads the core purpose and then enumerates the filter options. It is minimal and contains 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?

For a list tool with no output schema, the description adequately conveys the core purpose and filter capabilities. It does not describe the response structure, but 'list tasks' makes the output obvious. Given the tool's simplicity and the schema covering parameter details, it is sufficiently complete.

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

Parameters3/5

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

Schema description coverage is 100% (all 7 parameters have descriptions), so the baseline is 3. The description lists the same filter categories (executor group, status, task description, JobHandler, author) but does not provide additional semantic value beyond what the schema already defines.

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 begins with '分页查询 XXL-JOB 任务列表' (paged query of XXL-JOB task list), which clearly states the verb (query), resource (task list), and pagination aspect. It also lists specific filter criteria, distinguishing it from sibling tools like get_job (single job) and list_job_groups (executor groups).

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

Usage Guidelines4/5

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

The description implies its use case by stating it supports filtering by various criteria, making it clear this is the general list/query tool. However, it does not explicitly mention alternatives or provide when-not-to-use guidance, such as pointing to get_job for single-job retrieval.

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

preview_next_trigger_times预演未来触发时间A

根据调度类型与配置(如 Cron 表达式)预演未来若干次触发时间,用于校验调度配置是否符合预期。

ParametersJSON Schema
NameRequiredDescriptionDefault
scheduleConfYes调度配置:CRON 为 Cron 表达式,FIX_RATE 为秒数
scheduleTypeYes调度类型

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of explaining behavior. It indicates a non-destructive preview ('预演'), but does not explicitly state that no changes are made, what the tool returns in detail, or whether it requires an existing job. There is no mention of side effects or limitations, leaving the agent with incomplete behavioral context.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently states the action, input basis, and purpose. No redundant words or unrelated details, perfectly sized for the tool's simplicity.

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

Completeness3/5

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

Given the tool's simple two-parameter nature and full schema coverage, the description is adequate for basic understanding. However, the absence of an output schema and annotations means the description should clarify the return format (e.g., number of trigger times, timezone) and explicitly confirm no side effects, which it does not fully deliver.

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

Parameters3/5

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

The schema descriptions cover both parameters fully (scheduleType and scheduleConf), including the distinction between CRON and FIX_RATE. The description adds only a general reference to 'Cron expression' but no additional semantics beyond the schema, so 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's function: to preview future trigger times based on scheduling type and configuration. The verb 'beforehand' (预演) and resource 'future trigger time' are specific, and it distinguishes itself from siblings like trigger_job that actually execute jobs.

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 a use case ('用于校验调度配置是否符合预期' – to verify scheduling configuration) but does not explicitly state when to use this tool over alternatives, nor does it mention any exclusions. While the context is present, there is no direct guidance on when not to use it or how it relates to other job-related tools.

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

remove_job删除任务A

永久删除指定任务(不可恢复,任务配置与历史日志将一并清除)。

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes任务 id

TDQS

A4/5.0
Behavior4/5

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

Since no annotations are provided, the description carries the burden of disclosing behavioral traits. It explicitly states the deletion is permanent, irrecoverable, and clears job configuration and historical logs. This is critical context beyond a simple 'remove' and covers the most important destructive aspects, though it omits details about permissions or behavior if the job is running.

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-structured sentence that conveys the action, the object, and the consequences without any wasted words. It is front-loaded with the key verb 'permanently delete' and maintains high information density.

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

Completeness4/5

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

For a simple deletion tool with one parameter and no output schema, the description covers the essential behavior and its aftermath. However, it does not mention what the tool returns (e.g., success indicator or deleted job ID), which would be helpful for an agent to verify completion. This small gap prevents a perfect score.

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

Parameters3/5

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

The input schema already fully describes the sole parameter 'jobId' with a clear description. The tool description provides no additional parameter semantics. With 100% schema coverage, the baseline is 3, and the description does not add value beyond the schema.

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

Purpose5/5

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

The description clearly states the action (permanent deletion) and the resource (specified job). It distinguishes itself from sibling tools like stop_job or update_job by emphasizing irreversibility and the removal of both configuration and historical logs.

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

Usage Guidelines3/5

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

The description implies usage for permanently removing a job but provides no explicit guidance on when to use this over alternatives (e.g., stop_job for temporary suspension). The irreversible warning subtly indicates it is not for temporary actions, but no direct when/when-not guidance is given.

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

start_job启动任务B

启动指定任务的调度(使其按调度配置自动执行)。

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes任务 id

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 full responsibility for behavioral disclosure. It states that scheduling is started, but does not disclose idempotency, permission requirements, effect on already-running jobs, or potential error conditions. This is a significant gap for a state-changing 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, well-structured sentence. It front-loads the action and resource, with a parenthetical that adds clarifying detail about automatic execution. There is no wasted 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?

Given the low complexity (one required parameter, no output schema, no nested objects), the description is minimally adequate. However, it lacks behavioral context such as return values, idempotency, or preconditions, which leaves an agent uncertain about edge cases.

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

Parameters3/5

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

The schema provides 100% coverage for the single parameter jobId with description '任务 id'. The tool description adds no additional semantic detail beyond what the schema already states, so the baseline score of 3 applies.

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

Purpose5/5

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

The description uses a specific verb ('启动' = start) and resource ('指定任务的调度' = scheduling of the specified task), clearly distinguishing it from sibling tools like trigger_job (immediate execution) and stop_job. The parenthetical clarifies that the effect is automatic execution according to schedule configuration.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives. It does not mention trigger_job for immediate execution or stop_job to halt scheduling. Usage is only implied by the phrasing, with no exclusionary or comparative context.

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

stop_job停止任务A

停止指定任务的调度(不再自动执行,历史配置保留)。

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes任务 id

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries full burden. It discloses the main behavior (no longer automatically executed) and that historical configuration is retained, adding useful context. However, it does not mention whether running instances are affected or if the action is reversible via start_job.

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 redundant information. It efficiently conveys the action and its key consequence.

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

Completeness4/5

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

For a simple one-parameter tool with no output schema, the description adequately explains the operation and its effect. Sibling tools provide additional context, and the description is sufficient for an agent to invoke it correctly.

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

Parameters3/5

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

The schema description covers the only parameter (jobId) at 100%, so the baseline is 3. The tool description adds no additional parameter-specific meaning beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states the tool stops the scheduling of the specified task and preserves historical configuration, distinguishing it from remove_job and complementing start_job. It provides a specific verb and resource with a clear scope.

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

Usage Guidelines3/5

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

The description implies when to use this tool (to suspend auto-execution while retaining config) but does not explicitly mention alternatives like start_job or remove_job. No when-not-to-use guidance is provided.

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

trigger_job手动触发一次执行A

手动触发指定任务立即执行一次(不影响原有调度状态)。可覆盖运行参数,也可指定执行器地址列表(为空则按任务配置的路由策略选择)。

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes任务 id
addressListNo执行器地址列表(多个逗号分隔),不传则按路由策略自动选择
executorParamNo本次执行的运行参数(覆盖任务默认参数)

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 the full burden. It discloses key behaviors: immediate execution, no impact on scheduling state, parameter override, and addressList routing behavior. These add valuable context beyond the raw operation. However, it does not mention return values, error conditions, or asynchronous behavior, which is a gap.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the primary action, then concise supplementary details about parameter override and addressList behavior. Every sentence earns its place with no redundant words.

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

Completeness3/5

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

The tool has no output schema and no annotations. The description covers the core purpose and parameter behavior, but omits important contextual information such as return format, potential errors, and whether the trigger is asynchronous. For a trigger operation, this leaves some gaps for the agent.

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

Parameters3/5

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

The input schema already describes all three parameters with 100% coverage, so the baseline is 3. The description only paraphrases the schema's parameter meanings (override params, address list semantics) without adding new information, such as parameter syntax or constraints.

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

Purpose5/5

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

The description clearly states the tool manually triggers a specified job to execute immediately once, and emphasizes it does not affect the original scheduling state. This distinguishes it from sibling tools like start_job/stop_job, providing a specific verb, resource, and scope.

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

Usage Guidelines4/5

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

The description implies the appropriate context: use when an immediate one-time execution is needed without changing the schedule. It also explains the behavior of the optional addressList parameter (empty means use configured routing strategy). However, it does not explicitly mention when not to use or name alternative tools, preventing a 5.

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

update_job修改任务A

修改 XXL-JOB 任务配置。采用先读取现有全量配置、合并本次变更、再整体提交的方式,未传入的字段保持原值不变。调度状态(启动/停止)请用 start_job / stop_job,不在此工具处理。

ParametersJSON Schema
NameRequiredDescriptionDefault
jobIdYes任务 id
authorNo负责人
jobDescNo任务描述
jobGroupNo执行器组 id
alarmEmailNo报警邮件
childJobIdNo子任务 id
scheduleConfNo调度配置(Cron 表达式或固定秒数)
scheduleTypeNo调度类型
executorParamNo任务运行参数
executorHandlerNoJobHandler 名称
executorTimeoutNo任务超时时间(秒)
misfireStrategyNo调度过期策略
executorBlockStrategyNo阻塞处理策略
executorRouteStrategyNo路由策略
executorFailRetryCountNo失败重试次数

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses the read-modify-write strategy and that omitted fields retain original values, which is crucial behavioral context beyond a simple 'update'. However, it does not mention error handling, return values, or prerequisites like the job existing, leaving some gaps.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the purpose, then the behavioral strategy, then the exclusion. Every sentence earns its place with no redundancy, making it highly concise and well-structured.

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 15 parameters and no annotations, the description covers the essential behavioral contract well, including the update strategy and exclusions. However, it omits details about return values and error conditions, and lacks discussion of edge cases like job not found, so it is not fully complete.

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

Parameters4/5

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

The schema has 100% description coverage for 15 parameters, so the baseline is 3. The description adds the critical merge semantic—unpassed fields retain original values—which applies to all parameters and is not evident from the schema, enhancing parameter understanding.

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 modifies XXL-JOB task configuration, using the specific verb '修改' (modify) and resource '任务配置' (task configuration). It also distinguishes from siblings by explicitly excluding scheduling status changes, which are handled by start_job/stop_job.

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?

The description explicitly instructs to use start_job/stop_job for scheduling status and states this tool does not handle that, providing clear when-not-to-use guidance. It also implies usage for partial updates by explaining the merge approach, helping the agent decide when to invoke it.

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

Tool Schema Changelog

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

  1. 12 tool updatesv1.0.1
    • First observedadd_job
    • First observedget_job
    • First observedget_job_log_content
    • First observedlist_job_groups
    • First observedlist_job_logs
    • First observedlist_jobs
    • First observedpreview_next_trigger_times
    • First observedremove_job
    • First observedstart_job
    • First observedstop_job
    • First observedtrigger_job
    • First observedupdate_job

TDQS

A4.1/5.0

Scored across 12 tools

Disambiguation5/5

Each tool targets a distinct operation on a distinct resource: job configs, job groups, schedules, and logs. Tools like trigger_job vs start_job and update_job vs start/stop are clearly differentiated by their descriptions, leaving no ambiguity.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using lowercase snake_case (e.g., get_job, list_jobs, start_job, remove_job). The pattern is uniform across the entire set, with only minor variation in noun plurality that does not affect predictability.

Tool Count5/5

With 12 tools, the server is well-scoped for its purpose. Each tool covers a necessary operation in the XXL-JOB workflow without redundancy or excessive granularity.

Completeness5/5

The tool set provides full lifecycle coverage for job management: create, read, update, delete, start/stop, manual trigger, schedule preview, and log retrieval. No significant gaps are apparent for the stated domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for scheduling and executing Claude Code CLI tasks via cron expressions, featuring a web dashboard and webhook support. It enables users to dynamically create custom MCP servers, manage recurring AI jobs, and track execution history with token and cost analytics.
    24
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    MCP server that exposes all AgileConfig RESTful APIs as tools, enabling AI assistants to manage configuration, applications, users, nodes, and more via natural language.
    36
    5 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that lets AI agents manage cron jobs through natural language — adding, listing, pausing, removing, running, and viewing logs of scheduled jobs with plain-English schedule parsing, automatic log capture, missed-run detection, and failure alerts.
    MIT