Skip to main content
Glama

Overview

The most complete MCP server for developer workflow automation. 32 tools that connect Jira (Cloud + Server) with GitHub/GitLab (cloud + self-hosted) — so your AI assistant can manage issues, branches, PRs, and deployments without you ever opening a browser tab.

It auto-detects your Jira version and git provider, enforces configurable safety rules, and lets you define custom YAML flow playbooks for repeatable workflows. Projects are configured once and remembered — each with its own Jira instance, git provider, branch conventions, credentials, and directory scopes. The project that matches your current directory activates automatically (default), or you can switch to another for the session (active). All credentials stay local in ~/.devflow-mcp/ — nothing is synced, nothing is tracked, nothing leaves your machine.


Related MCP server: Jira Cloud MCP Server

Just Talk to It

You don't memorize tool names. You talk naturally and the assistant picks the right tools.

"Set up a project for my Jira + GitHub"

> df_project_setup with:
    name: "my-backend"
    jiraUrl: "https://myteam.atlassian.net"
    jiraEmail: "dev@myteam.com"
    jiraToken: "ATATT3x..."
    jiraProjectKey: "PROJ"
    gitToken: "ghp_..."

Auto-detects:
  - Jira Cloud (API v3)
  - GitHub (org/my-backend)
  - Base branch: main
  - Scope: C:/repos/my-backend (your CWD, auto-added)

"List my projects"

Projects:
  my-backend    [default] [active]   scopes: C:/repos/my-backend
  my-frontend                        scopes: C:/repos/my-frontend

"Switch to my-frontend for this session"

Active project switched to: my-frontend (session only)
Default remains: my-backend (based on your current directory)

"Let's work on PROJ-123"

> Reading PROJ-123...
  Title: Add OAuth login
  Status: To Do | Priority: High

> Branch feat/PROJ-123 not found. Creating...
  branch: feat/PROJ-123-add-oauth-login
  base: main
  Confirm? (confirm: true to execute)

> Moved PROJ-123 → In Progress
> Assigned to you

"Show me my tasks for the ACME project"

ACME-45  Fix OAuth login             In Progress  High
ACME-52  Dashboard refactor          To Do        Medium
ACME-61  Update dependencies         To Do        Low

"Push my changes"

Preview:
  branch: feat/PROJ-123-add-oauth-login
  pending commits:
    - a1b2c3d feat: add login component
    - d4e5f6g feat: add auth service

Confirm? (confirm: true to execute)

"Merge main into my current branch"

Conflict detected:
  - src/auth/login.ts
  - src/config/routes.ts

Resolve the files and commit to complete the merge.

"Create a PR titled 'feat: add OAuth login'"

PR created:
  url: https://github.com/org/repo/pull/42
  title: feat: add OAuth login
  provider: github

"Comment on PROJ-123 that the PR is ready for review"

Preview:
  issue: PROJ-123
  comment: "PR ready for review: https://github.com/org/repo/pull/42"

Confirm? (confirm: true to publish)

"Create a fix branch for PROJ-456 with description fix-oauth-redirect"

Preview:
  branch: fix/PROJ-456-fix-oauth-redirect
  base: main
  actions: checkout main → pull → create branch

Confirm? (confirm: true to execute)

Installation

# Global — available across all your projects
claude mcp add --scope user devflow -- npx -y @cocaxcode/devflow-mcp@latest

# Per-project
claude mcp add devflow -- npx -y @cocaxcode/devflow-mcp@latest

Claude Desktop

{
  "mcpServers": {
    "devflow": {
      "command": "npx",
      "args": ["-y", "@cocaxcode/devflow-mcp@latest"]
    }
  }
}
{
  "mcpServers": {
    "devflow": {
      "command": "npx",
      "args": ["-y", "@cocaxcode/devflow-mcp@latest"]
    }
  }
}

Cursor / Windsurf

// .cursor/mcp.json or .windsurf/mcp.json
{
  "mcpServers": {
    "devflow": {
      "command": "npx",
      "args": ["-y", "@cocaxcode/devflow-mcp@latest"]
    }
  }
}

VS Code / Codex / Gemini CLI

{
  "mcpServers": {
    "devflow": {
      "command": "npx",
      "args": ["-y", "@cocaxcode/devflow-mcp@latest"]
    }
  }
}

Project Scopes

Each project has paths (scopes) — the directories that belong to it. A directory can only be the scope of one project.

This gives you two concepts:

  • Default project: The project whose scope matches your current working directory. This is automatic and persistent — if you are inside C:/repos/my-backend and that directory is a scope of my-backend, then my-backend is the default. No action needed.

  • Active project: The project you are currently working with. By default it equals the default project, but you can switch it manually with df_project_switch for the current session. This resets to the default when you restart.

df_project_list shows both the default and active indicators so you always know where you stand.

Practical example

"Set up a project called my-backend"
  → CWD (C:/repos/my-backend) is auto-added as scope

"Set up another called my-frontend"
  → Run from C:/repos/my-frontend, that directory becomes its scope

"List projects"
  → my-backend   [default] [active]    scopes: C:/repos/my-backend
     my-frontend                        scopes: C:/repos/my-frontend

"Switch to my-frontend"
  → Session switches. Now my-frontend is active for checking issues, etc.

"List projects"
  → my-backend   [default]             scopes: C:/repos/my-backend
     my-frontend  [active]              scopes: C:/repos/my-frontend

Close and reopen → my-backend is active again (matches CWD = default)

This means you can work across multiple projects with different Jira instances and git providers — the right credentials are always selected based on where you are, and you can always override for the session when needed.


Tools

32 tools organized in 5 categories.

Projects (5)

Tool

Description

df_project_setup

Configure a new project (Jira + Git, auto-detects everything)

df_project_update

Modify project configuration

df_project_list

List all configured projects (shows default + active)

df_project_switch

Switch the active project for the current session

df_project_delete

Delete a project

df_project_setup with:
  name: "my-project"
  jiraUrl: "https://myteam.atlassian.net"
  jiraEmail: "dev@myteam.com"
  jiraToken: "ATATT3x..."
  jiraProjectKey: "PROJ"
  gitToken: "ghp_..."

Auto-detects:
  - Jira Cloud (API v3)
  - GitHub (org/my-project)
  - Base branch: main
  - Scope: your CWD (auto-added)

Jira (6)

Tool

Description

Confirmation

df_issues

List my assigned issues (filters by project)

--

df_issue

Full issue detail

--

df_statuses

Available transitions for an issue

--

df_transition

Move issue to another status

Yes

df_assign

Assign issue to current user

--

df_comment

Comment on an issue

Yes

Git (7)

Tool

Description

Confirmation

df_branch

Create branch (feat/ or fix/) from base

Yes

df_find_branch

Search branch by issue key

--

df_checkout

Switch branch (with safety guard)

--

df_pull

Pull current branch from remote

--

df_push

Push current branch to remote

Yes

df_merge

Merge a branch into the current one

Yes

df_pr

Create PR (GitHub) or MR (GitLab)

--

Important: df_branch, df_checkout, and df_push verify the working directory before executing. They block if there are uncommitted files or unpushed commits, listing exactly what needs attention. This prevents accidental work loss.

Flows (5)

Tool

Description

df_flow_create

Create a custom flow

df_flow_list

List all flows

df_flow_get

View flow details

df_flow_update

Modify an existing flow

df_flow_delete

Delete a flow (protects start-task)

Rules (9)

Tool

Description

Level

df_rule_create

Create a global rule

Global

df_rule_list

List all rules

Global

df_rule_get

View rule details

Global

df_rule_update

Modify a rule

Global

df_rule_toggle

Enable/disable a rule

Global

df_rule_delete

Delete a rule

Global

df_rule_project_override

Enable/disable a global rule for a project

Project

df_rule_project_add

Create a project-only rule

Project

df_rule_project_remove

Remove a project rule or override

Project


Flows

Flows are YAML playbooks that define step sequences. They don't run automatically -- you tell the assistant when to use them.

Default: start-task

Triggered when you say something like "let's work on PROJ-123":

name: start-task
trigger: "when the user says 'let's work on', 'start task', 'new task' + issue ID"
steps:
  - tool: df_issue
    note: "Read issue detail and summarize the task"
  - tool: df_find_branch
    note: "Check if a branch already exists for this issue"
  - tool: df_branch
    confirm: true
    note: "Only if no existing branch was found"
  - tool: df_statuses
    note: "Get transitions to find the 'In Progress' transition ID"
  - tool: df_transition
    target: "In Progress"
    confirm: true
  - tool: df_assign
    note: "Assign the issue if it has no assignee"

Custom flows

Create your own by asking naturally:

"Create a flow called 'finish-task' that pushes, creates a PR, and comments on Jira"

name: finish-task
trigger: "when the user says 'finish task', 'wrap up' + issue ID"
steps:
  - tool: df_push
    confirm: true
    note: "Push pending commits"
  - tool: df_pr
    note: "Create PR/MR to base branch"
  - tool: df_comment
    confirm: true
    note: "Comment on the issue with the PR link"

The start-task flow can be modified but not deleted. Use df_flow_update to change any flow's steps, trigger, or name.


Rules

Rules are configurable guards that block or warn about actions. Two levels: global and per-project.

Default rules

Rule

Scope

Action

What it does

no-merge-to-base

git

block

Prevent direct push/merge to main/master

no-merge-from-dev

git

block

Prevent merging dev/develop/int branches out

no-close-issues

jira

block

Prevent closing issues (Done, Closed, Resolved...)

only-own-issues

jira

block

Prevent modifying issues assigned to others

Project overrides

Each project can override global rules or define its own:

# Disable a global rule for one project
df_rule_project_override: name="no-close-issues", enabled=false

# Add a project-only rule
df_rule_project_add: name="no-push-friday", scope="git", action="warn"

# Remove an override or project rule
df_rule_project_remove: name="no-close-issues"

Custom rules

df_rule_create:
  name: "no-push-friday"
  description: "Warn when pushing on Fridays"
  scope: "git"       # git | jira | all
  action: "warn"     # block | warn

Note: Rule resolution order: Global rules load first, then project overrides are applied (project wins), then project-specific rules are added. Rules are filtered by scope and enabled state before evaluation.


Storage

Everything lives in ~/.devflow-mcp/ — your home directory, never inside any git repository. Jira tokens, GitHub PATs, GitLab tokens — all stored locally with 600 permissions (owner-only read/write). Nothing gets committed, nothing gets pushed, nothing leaves your machine.

~/.devflow-mcp/
├── projects/              # Project configs (.json) — credentials included
│   ├── my-project.json    # Jira URL, token, GitHub PAT, branch rules, scopes
│   └── other-project.json
├── flows/                 # Flow definitions (.yaml)
│   └── start-task.yaml
├── rules/                 # Global rules (.json)
│   ├── no-merge-to-base.json
│   ├── no-merge-from-dev.json
│   ├── no-close-issues.json
│   └── only-own-issues.json
├── active-project         # Current active project (plain text)
└── config.json            # Server configuration

Project resolution works automatically: devflow-mcp matches your current working directory against each project's paths (scopes). The matching project becomes the default. You can override it for the session with df_project_switch, which sets the active project. On restart, the active project resets to whatever the default is for your CWD. If no match is found and no active project is set, it prompts you to configure with df_project_setup.


Compatibility

Jira

Type

API

Authentication

Jira Cloud

REST API v3

Email + API Token (Basic)

Jira Server / Data Center

REST API v2

Personal Access Token (Bearer)

Auto-detection via /rest/api/2/serverInfo -- no manual configuration needed.

Git providers

Provider

API

GitHub (cloud)

REST API v3

GitHub Enterprise

REST API v3 (custom URL)

GitLab (cloud)

REST API v4

GitLab self-hosted

REST API v4 (custom URL)

Auto-detection by parsing the repository's remote URL.


Architecture

src/
├── index.ts              # Entry point (stdio transport)
├── server.ts             # Factory: createServer() + instructions
├── lib/
│   ├── types.ts          # Interfaces, defaults, valid tool names
│   ├── storage.ts        # CRUD: projects, flows, rules, config
│   ├── git-exec.ts       # Git CLI wrapper (execFile)
│   ├── jira/
│   │   ├── client.ts     # JiraClient (Cloud v3 + Server v2)
│   │   └── types.ts      # Raw Jira API response shapes
│   └── git/
│       ├── detect.ts     # parseRemoteUrl (SSH/HTTPS, GitHub/GitLab)
│       ├── github.ts     # GitHubClient (REST API v3)
│       ├── gitlab.ts     # GitLabClient (REST API v4)
│       ├── factory.ts    # createGitProviderClient()
│       └── types.ts      # Git provider interfaces
└── tools/
    ├── project.ts        # 5 tools: setup, update, list, switch, delete
    ├── jira.ts           # 6 tools: issues, issue, statuses, transition, assign, comment
    ├── git.ts            # 7 tools: branch, find_branch, checkout, pull, push, merge, pr
    ├── flow.ts           # 5 tools: create, list, get, update, delete
    └── rule.ts           # 9 tools: CRUD global + 3 project-level

Stack: TypeScript · MCP SDK · Zod · YAML · tsup

Tests: 4 suites · 51 tests (Vitest + InMemoryTransport)


MIT · Built by cocaxcode

Available Tools

32 tools
df_assignA

Asignar un issue al usuario actual. Si el issue ya tiene asignado, no hace nada.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesClave del issue (ej: PROJ-123)

TDQS

A3.6/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 behavioral burden. It does disclose a key behavior—no-op when the issue already has an assignee—which is useful, but it omits return values, error behavior, and permission 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 a single concise sentence that front-loads the core action and adds only the important idempotency behavior. There is no redundant or filler content.

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

Completeness4/5

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

For a tool with one simple parameter and no output schema, the description is mostly complete: it defines the action, the scope, and the no-op case. It could mention what the tool returns on success or failure, but the call itself is unlikely to be misused.

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 issueKey parameter is already well documented. The description adds no additional parameter-level detail, which is acceptable given the schema covers the only parameter.

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

Purpose4/5

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

The description states a specific action ('Asignar un issue') and the target scope ('al usuario actual'), so the tool's purpose is unambiguous. It does not explicitly differentiate itself from sibling tools like df_issue or df_transition, but the current-user assignment scope is distinctive enough.

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

Usage Guidelines3/5

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

The description implies when to use the tool: to assign an issue to the current user, and it hints that calling it on an already-assigned issue has no effect. However, it provides no explicit 'when to use vs. alternatives' guidance or exclusion conditions.

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

df_branchA

Crear una nueva branch desde la rama base con formato feat/PROJ-123-desc o fix/PROJ-123-desc. Requiere confirm: true. Verifica que no haya cambios sin pushear.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeYesTipo de branch: feat o fix
confirmNotrue para crear la branch
issueKeyYesClave del issue de Jira (ej: PROJ-123)
descriptionYesDescripcion corta en kebab-case (ej: add-login)

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations present, the description carries the full behavioral burden. It discloses meaningful guardrails: the confirmation flag is mandatory and the tool verifies that no unpushed changes exist before proceeding. It could add more about whether the branch is created locally or remotely and what happens on failure, but the disclosed behavior is genuinely useful.

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

Conciseness5/5

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

Two short, front-loaded sentences deliver the action, naming rule, and required preconditions with no filler. Every sentence earns its place and no schema information is redundantly repeated.

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 four-parameter tool with no output schema and no annotations, the description supplies the essential operational context: base branch, naming pattern, mandatory confirm flag, and the unpushed-changes preflight check. It does not specify the return value or failure mode, but an agent has enough to invoke it correctly.

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 already documents all four parameters at 100% coverage, but the description adds value by showing how issueKey, type, and description combine into the branch name format feat/PROJ-123-desc. It also reinforces that confirm must be true, which is important operational context beyond the raw parameter descriptions.

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

Purpose5/5

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

The description opens with a specific action and object: 'Crear una nueva branch desde la rama base', and it gives the exact required naming convention feat/PROJ-123-desc or fix/PROJ-123-desc. This clearly distinguishes it from siblings like df_checkout or df_find_branch without needing to inspect schemas.

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 provides concrete preconditions: the tool requires confirm: true and checks that there are no unpushed changes before creating the branch. It does not explicitly name alternatives such as df_checkout for switching branches, so it stops short of a full when/when-not comparison.

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

df_checkoutA

Cambiar a una rama existente. Verifica que no haya cambios sin pushear antes.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchYesNombre de la rama

TDQS

A3.6/5.0
Behavior3/5

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

Without annotations, the description carries the full burden of behavioral disclosure. It does state a meaningful behavior: it verifies there are no un-pushed changes before switching. However, it does not explain what happens if such changes exist, whether it discards or preserves working tree changes, or what the tool returns. This adds partial transparency but leaves key behaviors undisclosed.

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

Conciseness5/5

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

The description consists of two short, front-loaded sentences with no filler. It states the purpose first, then the behavioral check. Every word earns its place, making it appropriately sized and well structured.

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

Completeness3/5

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

Given the tool has one parameter, no annotations, and no output schema, the description provides the core purpose and a key precondition. However, it omits error behavior (e.g., what if un-pushed changes exist or the branch is not found), return values, and side effects on the working tree. It is minimally adequate but not 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 input schema fully documents the 'branch' parameter as 'Nombre de la rama' (branch name), so baseline is 3. The description adds the semantic restriction that the branch must be an existing one ('a una rama existente'), which is not present in the schema. This extra constraint enhances parameter understanding beyond the schema.

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

Purpose4/5

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

The description states a clear action, 'Cambiar a una rama existente' (switch to an existing branch), identifying the verb and resource. The qualifier 'existente' distinguishes it from branch creation, and the additional verification about un-pushed changes adds a specific behavior. However, it does not explicitly name sibling tools, so it stops short of full sibling differentiation.

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 the user wants to switch to an existing branch, and the verification statement hints that a clean un-pushed state is expected. It does not mention alternative tools like df_push or df_branch, nor does it provide explicit when-not-to-use guidance. The guidance is mostly implicit.

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

df_commentA

Añadir un comentario a un issue de Jira. Requiere confirm: true para ejecutar.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesTexto del comentario
confirmNotrue para publicar el comentario
issueKeyYesClave del issue (ej: PROJ-123)

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. It discloses the confirmation guard, which is useful, but it does not mention permissions, idempotency, reversibility, or what happens if confirm is false. For a mutating tool, this leaves significant behavioral 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 short sentences, front-loading the action and then stating the critical execution requirement. There is no filler or redundant content.

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

Completeness3/5

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

The tool is simple and the schema covers all parameters, but with no output schema and no annotations, the description does not explain return values, side effects, or behavior when confirm is absent. The confirmation guard adds context, but the agent is left to infer the outcome of execution.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters. The description adds no meaning beyond the schema, except restating the confirm requirement that the schema already conveys.

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

Purpose5/5

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

The description states a specific verb and resource: 'Añadir un comentario a un issue de Jira' (add a comment to a Jira issue). This clearly distinguishes it from sibling tools like df_transition or df_assign, even without naming them.

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

Usage Guidelines3/5

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

It provides a clear intended use and a key prerequisite ('Requiere confirm: true para ejecutar'), but it does not contrast with alternatives such as df_issue or df_assign, nor explain when not to use this tool. Usage is 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.

df_find_branchA

Buscar si existe una rama local o remota que contenga un issue key (ej: PROJ-123). Devuelve la rama si existe o null.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesClave del issue (ej: PROJ-123)

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 of disclosure. It adequately reveals that the tool searches both local and remote branches and returns null when no match exists. It does not mention potential side effects or fetch behavior, but for a read-only lookup the key behavioral traits are disclosed.

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

Conciseness5/5

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

The description is two concise sentences with no filler. The purpose is front-loaded, the matching condition is stated immediately, and the return behavior is included without unnecessary detail.

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 lookup tool, the description covers the operation, the search scope, and the return value (branch or null). There is no output schema, but the return behavior is described. It is sufficiently complete for an agent to select and call this tool correctly.

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

Parameters3/5

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

The input schema already documents `issueKey` with 100% coverage and an example. The description adds slight semantic value by clarifying that the branch name must 'contenga' the issue key, but it mostly restates what the schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('Buscar') and resource ('una rama local o remota'), and clarifies the matching condition ('contenga un issue key'). It also specifies the return value ('Devuelve la rama si existe o null'), making the tool's purpose unambiguous and distinct from sibling branch-management 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: use this tool to check whether a branch matching an issue key already exists locally or remotely. It does not explicitly name alternatives or exclusion conditions, but the search-oriented purpose is clear enough for an agent to 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.

df_flow_createA

Crear un nuevo flow (playbook) con nombre, disparador y pasos. El AI lo ejecuta cuando el usuario dice algo que matchea el trigger.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre del flow (ej: pr-ready)
stepsYesPasos del flow: [{tool, confirm?, target?, note?}]
triggerYesDescripcion del disparador (ej: cuando el usuario dice "PR listo")

TDQS

A3.7/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 carry the behavioral burden. It discloses the auto-execution behavior (the AI runs it when trigger matches), which is valuable. However, it omits other behavioral details such as idempotency, overwrite behavior, or error conditions.

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

Conciseness5/5

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

The description is two concise sentences. The purpose is front-loaded, and the behavioral note about trigger execution is added without unnecessary fluff. Every word 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?

With 3 required parameters fully described in the schema and a concise description covering purpose and auto-execution, the tool is largely usable. However, it lacks details on error handling, idempotency, or what happens if a flow with the same name exists, which would be helpful for safe invocation.

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

Parameters3/5

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

The schema description coverage is 100% – all three parameters (name, trigger, steps) have descriptions. The description only restates these parameter names without adding new semantics or examples 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 verb 'Crear' (create) with the resource 'flow (playbook)' and lists the key attributes (name, trigger, steps). It also explains the tool's role in the system (executed when trigger matches), which distinguishes it from sibling tools like df_flow_update or df_flow_delete.

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 creation but does not explicitly contrast with alternatives like df_flow_update or df_flow_delete. It mentions the trigger execution context, which gives some situational guidance, but lacks explicit when-to-use/when-not-to-use language.

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

df_flow_deleteA

Eliminar un flow. El flow "start-task" requiere confirm: true.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre del flow a eliminar
confirmNotrue para confirmar eliminacion del flow default

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It labels the operation as deletion but does not mention permanence, side effects, required permissions, or consequences. The only additional behavioral detail is the narrow confirm requirement for the 'start-task' flow, leaving much undisclosed.

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

Conciseness5/5

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

Two short sentences: the first states the action directly, the second adds a relevant edge case. No filler or redundant restatement of the schema.

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 destructive tool with no annotations and no output schema, the description covers the basic action and one caveat but omits irreversibility, default flow behavior, and any guidance on comparing with sibling operations. It is adequate but has clear gaps.

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%, so baseline is 3. The description adds meaningful semantic detail by specifying that the 'start-task' flow requires confirm:true, which goes beyond the schema's generic boolean description and helps the agent set the correct value.

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

Purpose5/5

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

The description opens with 'Eliminar un flow', a specific verb and resource, and clearly distinguishes itself from flow creation, retrieval, listing, and update siblings. The additional caveat about 'start-task' doesn't muddy the core purpose.

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

Usage Guidelines2/5

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

No guidance is given on when to use this delete tool versus other flow management tools. The confirm:true note is a parameter prerequisite rather than a usage-context instruction, and no alternatives or exclusions are mentioned.

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

df_flow_getA

Ver el detalle completo de un flow (nombre, disparador y todos los pasos).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre del flow

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 behavioral burden. 'Ver' signals a read-only operation, and the description adds context by specifying the returned content (name, trigger, steps), but it does not disclose error behavior, permissions, or response format.

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

Conciseness5/5

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

A single sentence with no filler, front-loaded with the verb and resource. Every word contributes to explaining what the tool does.

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 getter, the description is nearly complete: it states what detail is returned, and the schema fully documents the parameter. It omits only not-found/error behavior, which is minor for a read operation.

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

Parameters3/5

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

Schema description coverage is 100%: the only parameter 'name' is documented as 'Nombre del flow'. The description adds no additional parameter-level meaning, so the baseline 3 applies.

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

Purpose5/5

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

The description uses the verb 'Ver' and identifies the resource as 'el detalle completo de un flow', enumerating name, trigger, and all steps. This clearly distinguishes it from df_flow_list, which would list flows rather than return full detail.

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

Usage Guidelines3/5

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

The description implies the tool is for retrieving complete flow detail, but it does not explicitly state when to use it instead of df_flow_list or other flow tools. No alternatives or exclusions are mentioned.

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

df_flow_listA

Listar todos los flows configurados con nombre, disparador y numero de pasos.

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?

With no annotations, the description carries the behavioral burden. 'Listar' signals a read-only operation and the description reveals the output contract (name, trigger, step count). It does not discuss project scope, sorting, or response format, but for a parameterless list tool this is sufficient.

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

Conciseness5/5

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

One short sentence with every element earning its place: action, scope, and output fields. No filler or repetition.

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

Completeness5/5

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

For a zero-parameter list operation with no output schema, the description provides everything needed: what is listed and what fields are returned. No prerequisite information is required.

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

Parameters4/5

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

The tool has zero parameters and 100% schema coverage, so the description does not need to explain parameters. Per the baseline for zero-parameter tools, this is correct.

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 ('Listar'), names the resource ('flows configurados'), and specifies the returned fields ('nombre, disparador y numero de pasos'). This makes it easy to distinguish from the related df_flow_get, which would retrieve a single flow.

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 phrase 'todos los flows configurados' gives clear context: use this when you need the full set of configured flows and their summary metadata. It does not explicitly mention alternatives such as df_flow_get for a single flow, so it stops short of a 5.

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

df_flow_updateA

Modificar un flow existente: cambiar disparador y/o pasos.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre del flow a modificar
stepsNoNuevos pasos
triggerNoNuevo disparador

TDQS

A3.7/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 states 'modify' implying mutation but does not explain side effects, prerequisites, or behavior on missing flows. For a mutation tool, this is a significant gap.

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

Conciseness5/5

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

A single, concise sentence with no unnecessary words. It effectively communicates the core purpose without padding.

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

Completeness3/5

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

The tool is simple with three parameters, all covered by the schema. However, it lacks behavioral details such as whether steps are replaced entirely or merged, and what happens if the flow does not exist. This is incomplete for a mutation tool, especially with no annotations.

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 has a description. The description adds context by mentioning 'disparador y/o pasos', which maps to trigger and steps, but does not provide additional semantics beyond the schema. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('modificar') and resource ('flow existente'), and clearly identifies the changeable aspects (trigger and/or steps). It distinguishes itself from siblings like df_flow_create and df_flow_delete by focusing on updating an existing flow.

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 phrase 'flow existente' implies this is for updating already-created flows, contrasting with creation/deletion. However, it does not explicitly state when not to use it or mention alternatives, leaving some inference required.

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

df_issueA

Obtener el detalle completo de un issue de Jira. Solo lectura, sin efectos secundarios.

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesClave del issue (ej: PROJ-123)

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 burden and explicitly discloses that the operation is read-only and has no side effects. This is valuable safety information for an agent, though it does not mention auth requirements or error behavior.

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

Conciseness5/5

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

The description is one short, front-loaded sentence followed by a safety qualifier. Every word contributes value and there is no redundancy.

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

Completeness4/5

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

For a simple single-parameter read-only tool, the description is nearly complete. It conveys the operation, scope, and safety profile, though the absence of an output schema means 'detalle completo' is somewhat undefined.

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 issueKey is fully documented in the input schema with an example format. Since schema description coverage is 100%, the description does not need to add parameter details, and it does not.

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

Purpose5/5

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

The description states a clear verb and resource: obtain the full detail of a single Jira issue. It distinguishes itself from siblings like df_issues by conveying that this tool targets one specific issue's complete detail, not a list.

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

Usage Guidelines4/5

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

The description gives clear context for use: when you need the complete detail of one Jira issue. It does not explicitly name alternatives or exclusions, but the read-only note and singular scope make the applicable use case clear.

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

df_issuesA

Listar mis issues asignados en Jira. Soporta filtros opcionales por proyecto y estado.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFiltrar por estado (ej: "To Do", "In Progress")
projectNoFiltrar por clave de proyecto (ej: PROJ)

TDQS

A4/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. 'Listar' clearly indicates a read-only operation, and 'mis issues asignados' transparently scopes results to the authenticated user. It does not explicitly declare side-effect freedom, but the listing verb and scope give sufficient behavioral clarity for a read 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 that names the verb and resource first, followed by the optional filters. Every word earns its place, with no filler or redundant detail. It is appropriately sized for a simple read 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 two optional filters and no output schema, the description adequately covers the key context: what it does, whose issues it lists, and what filters are available. It does not mention return format, but for a listing tool this is reasonably inferable, and no other critical information is missing for correct invocation.

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

Parameters3/5

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

Schema description coverage is 100%, with both status and project already described with examples. The description only mentions 'filtros opcionales por proyecto y estado,' which restates the schema without adding new semantic detail or context beyond what the parameter descriptions already provide. Baseline 3 applies.

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

Purpose5/5

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

The description clearly states the tool's verb ('Listar') and resource ('mis issues asignados en Jira'), specifying the scope as issues assigned to the user. This distinguishes it from siblings like df_issue (which likely targets a single issue) and df_statuses (which lists statuses), so an agent can identify the right tool without ambiguity.

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 stating its purpose (listing assigned issues) and mentions optional filters, but it does not explicitly compare with alternatives or state when not to use this tool versus df_issue, df_statuses, or other siblings. The guidance is implied through the phrasing, but no explicit routing to alternatives is provided.

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

df_mergeA

Mergear una rama en la rama actual. Requiere confirm: true. Si hay conflictos, los reporta sin abortar.

ParametersJSON Schema
NameRequiredDescriptionDefault
branchYesNombre de la rama a mergear en la rama actual
confirmNotrue para ejecutar el merge

TDQS

A4.2/5.0
Behavior4/5

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

No hay anotaciones, por lo que la descripción debe informar sobre el comportamiento. Indica que no se ejecuta sin confirm true y que ante conflictos los reporta sin abortar, lo cual es relevante para un comando mutador. No detalla todos los efectos secundarios ni la salida de éxito, pero cubre los riesgos principales.

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?

Dos frases breves y directas, con el propósito al inicio y sin relleno. 'Requiere confirm: true' y el comportamiento ante conflictos aportan información necesaria sin alargar el texto.

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?

Para una herramienta de dos parámetros sin esquema de salida, la descripción cubre la condición de ejecución y el manejo de conflictos, suficiente para invocarla correctamente. Sería más completa si describiera la salida/resultado en éxito, pero no impide la selección ni la llamada.

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?

La cobertura del esquema es del 100% y ambas propiedades ya tienen descripciones significativas (branch y confirm). La descripción añade poco más allá de reforzar que confirm debe ser true, así que el esquema hace el trabajo principal.

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?

La descripción usa un verbo específico y el recurso exacto: 'Mergear una rama en la rama actual'. Esto delimita claramente la operación y la distingue de herramientas hermanas como df_checkout, df_pull o df_push.

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?

Comunica claramente el contexto de uso (merge en la rama actual) y una condición previa concreta: confirm: true. No menciona explícitamente alternativas o exclusiones, pero el caso de uso queda lo bastante claro.

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

df_prA

Crear un Pull Request (GitHub) o Merge Request (GitLab) para la rama actual.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNoDescripcion del PR/MR
titleYesTitulo del PR/MR

TDQS

A3.6/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 reveals that the tool creates a PR/MR, but does not mention side effects, authentication requirements, whether it pushes the branch, or what happens if a PR already exists.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It efficiently conveys the action, target platform, and branch scope.

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 two-parameter creation tool with complete schema descriptions, the description is largely sufficient. It covers what is created and for which branch, though it does omit some contextual details about preconditions and side effects.

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 title and body parameters are already documented in the schema. The tool description adds no additional parameter meaning, which matches the baseline of 3.

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

Purpose5/5

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

The description states a specific action ('Crear... Pull Request o Merge Request') and a clear scope ('para la rama actual'). It unambiguously identifies the resource being acted on and is distinct from siblings like df_merge or df_push.

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 is appropriate when the current branch is ready for a PR/MR, but it does not explicitly state when to prefer this tool over alternatives, nor does it mention exclusions or preconditions such as needing a remote branch or avoiding duplicate PRs.

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

df_project_deleteC

Eliminar un proyecto configurado.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre del proyecto a eliminar

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It indicates deletion but does not explain whether the action is irreversible, what artifacts are removed, whether special permissions are required, or what response is returned. This is a meaningful gap for a destructive operation.

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

Conciseness4/5

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

The description is a single, concise sentence with no wasted words and the action is front-loaded. It is efficient, though its brevity limits the amount of useful operational context it conveys.

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 one-parameter delete operation, the description plus schema are minimally adequate for invoking the tool. However, with no annotations and no output schema, the description omits important operational context such as permanence, side effects, and preconditions, 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.

Parameters3/5

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

Schema description coverage is 100%, and the single parameter 'name' is already documented as 'Nombre del proyecto a eliminar.' The tool description does not add meaning beyond the schema, but it does not need to because the schema fully explains the parameter.

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

Purpose4/5

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

The description states a specific action ('Eliminar' = delete) and resource ('proyecto configurado' = configured project), making the core purpose clear. It is implicitly distinct from sibling operations like df_project_update, df_project_list, and df_project_switch, though it does not explicitly name alternatives.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool, what preconditions exist, or when to prefer sibling tools such as df_project_update or df_project_list. The only usage information is implied by the verb 'Eliminar.'

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

df_project_listA

Listar todos los proyectos configurados.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action and does not mention side effects, read-only nature, output format, ordering, or any other behavioral characteristics.

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

Conciseness5/5

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

A single, direct sentence with no filler. It is appropriately sized for a trivial zero-parameter listing operation.

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 zero-parameter list operation, the description is essentially complete: it names the resource and the action. The lack of output schema or return-value notes is a minor gap, but not critical for such a simple read-style operation.

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

Parameters4/5

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

The tool has zero parameters, so semantic enrichment is largely unnecessary. The baseline of 4 applies because there is no parameter detail the description must compensate for.

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 ('Listar') and resource ('todos los proyectos configurados'), clearly indicating the operation and scope. It distinguishes this tool from project mutation and flow/rule listing siblings by focusing on listing configured projects.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives like df_project_switch or df_flow_list. There is no mention of prerequisites, context, or exclusions, leaving the agent to infer usage solely from the operation name.

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

df_project_setupA

Configurar un nuevo proyecto: vincula Jira + Git provider. Auto-detecta tipo de Jira, version API, provider Git y rama base. IMPORTANTE: Pide al usuario TODOS los datos de credenciales (email, token, URL). NUNCA inventes ni asumas credenciales.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre del proyecto
gitUrlNoURL base del GitLab self-hosted (ej: https://gitlab.empresa.com). Si no se pasa, se extrae del remote.
jiraPatNoPersonal Access Token para Jira Server — PREGUNTA AL USUARIO
jiraUrlYesURL de Jira — PREGUNTA AL USUARIO, no la inventes (ej: https://myteam.atlassian.net)
gitTokenYesToken de GitHub o GitLab — PREGUNTA AL USUARIO, es un secreto
jiraEmailNoEmail de Jira Cloud — PREGUNTA AL USUARIO, no uses emails de otros contextos
jiraTokenNoAPI Token de Jira Cloud — PREGUNTA AL USUARIO, es un secreto que solo el tiene
gitProjectNoPath completo del proyecto en GitLab (ej: grupo/subgrupo/repo). Util cuando el remote es un fork pero se quiere vincular al proyecto principal.
jiraProjectKeyYesClave del proyecto en Jira — PREGUNTA AL USUARIO (ej: PROJ, DEV, BACK)

TDQS

A3.7/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 behavioral transparency burden. It explicitly discloses that the tool auto-detects Jira type, API version, Git provider, and base branch, and it clearly instructs the agent to request credentials rather than assume them. It stops short of describing side effects or persistence, but the key behavioral traits are present.

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

Conciseness5/5

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

The description is three short, purposeful sentences. It front-loads the core purpose, then adds auto-detection behavior and a critical credential warning. There is no filler, repetition, or unnecessary overlap with the schema.

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

Completeness3/5

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

For a tool with 9 parameters, no annotations, and no output schema, the description covers the setup purpose, auto-detection, and credential handling reasonably well. However, it does not describe the expected result or return value, nor does it clarify what side effects occur after setup, leaving some ambiguity 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?

Schema description coverage is 100%, so the baseline of 3 applies. Each parameter already has detailed instructions such as 'PREGUNTA AL USUARIO' and examples. The description adds only a general credential-handling policy rather than parameter-specific semantics, so it does not exceed the baseline.

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

Purpose4/5

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

The description opens with 'Configurar un nuevo proyecto' — a specific action and resource — and clarifies that the tool links Jira and a Git provider. It distinguishes from siblings mainly through the word 'nuevo' (new project), though it does not explicitly name df_project_update or state when to use one over the other.

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 intended use case is implied: setting up a new project that links Jira and Git. The IMPORTANTE block adds practical guidance by telling the agent to ask the user for all credentials and never invent them. However, it does not explicitly discuss alternatives or exclusions, such as using df_project_update for existing projects.

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

df_project_switchA

Cambiar el proyecto activo (de sesion). Al reiniciar vuelve al default por scope.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre del proyecto

TDQS

A3.6/5.0
Behavior3/5

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

No hay anotaciones, por lo que la descripción es la única fuente de comportamiento. Revela un rasgo importante: el cambio es solo de sesión y se revierte al reiniciar. Sin embargo, no menciona efectos colaterales, permisos necesarios ni qué ocurre con operaciones posteriores dependientes del proyecto activo.

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?

La descripción es breve, directa y sin palabras de relleno. La acción principal está al inicio y el matiz de comportamiento ('Al reiniciar vuelve al default por scope') está integrado de forma compacta.

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?

Para una herramienta de un solo parámetro requerido y sin schema de salida, la descripción cubre lo esencial: qué hace y su carácter transitorio. Aun así, el significado de 'default por scope' no está definido, lo que deja un pequeño margen de ambigüedad.

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?

El schema ya documenta el parámetro 'name' como 'Nombre del proyecto' y la cobertura es del 100%. La descripción no añade significado adicional sobre el formato, origen o validación del nombre, por lo que se mantiene la línea base de 3.

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

Purpose4/5

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

La descripción comienza con el verbo 'Cambiar' y el recurso 'proyecto activo', dejando claro que la operación es cambiar el proyecto activo de la sesión. Es distinguible de otros tools de proyecto porque se enfoca en el proyecto 'activo' y no en crear, listar o actualizar proyectos, aunque no menciona explícitamente a ningún sibling.

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

Usage Guidelines3/5

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

La frase 'Al reiniciar vuelve al default por scope' aporta contexto útil sobre cuándo tiene efecto el cambio, pero no indica explícitamente cuándo usar esta herramienta frente a alternativas como df_project_list o df_project_setup. El uso queda implícito: cambiar el proyecto activo para la sesión actual.

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

df_project_updateB

Modificar la configuracion de un proyecto existente.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre del proyecto a modificar
gitUrlNoURL base del GitLab self-hosted (ej: https://gitlab.empresa.com)
jiraPatNoNuevo PAT para Jira Server
jiraUrlNoNueva URL de Jira
gitTokenNoNuevo token de Git provider
jiraEmailNoNuevo email para Jira Cloud
jiraTokenNoNuevo API Token para Jira Cloud
baseBranchNoRama base (main/master)
gitProjectNoPath completo del proyecto en GitLab (ej: grupo/subgrupo/repo)
jiraProjectKeyNoNueva clave del proyecto en Jira

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says it modifies configuration; it does not reveal whether changes are reversible, whether they affect existing flows, whether authentication is required, or what the response looks like. For a mutation tool, this is a significant gap.

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

Conciseness4/5

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

The description is a single concise sentence with no filler words and the verb-object structure is front-loaded. It is efficient, although it is brief enough to under-specify operational context.

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

Completeness2/5

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

Given 10 parameters, no annotations, and no output schema, the description is too thin to fully orient an agent. It does not mention the required 'name' parameter, the relationship to sibling tools, or the behavior/return value of the update operation.

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 input schema already documents all 10 parameters with meaningful descriptions. The tool description itself adds no parameter-specific detail, but given full 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.

Purpose4/5

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

The description states a specific action ('Modificar la configuracion') and a clear resource ('un proyecto existente'), which distinguishes it from related tools like df_project_setup by focusing on existing projects. However, it does not explicitly name sibling tools or specify which configuration aspects are modifiable.

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 use case is implied: modify configuration of an existing project, as opposed to creating one with df_project_setup. But there is no explicit when-to-use guidance, no exclusion of alternatives, and no mention of prerequisites or required input like the project 'name'.

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

df_pullA

Hacer pull de la rama actual desde el remote.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It merely restates the action without explaining side effects such as merge vs. rebase, potential conflicts, or requirements like a clean working tree. Minimal behavioral information is provided.

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

Conciseness5/5

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

The description is a single concise sentence, front-loaded with the verb. It has no wasted words and is easy to parse, making it efficient for an agent to quickly understand the tool's purpose.

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

Completeness3/5

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

Given the tool has no parameters and no output schema, the description covers the core action but lacks detail on behavior, preconditions, or results. For a zero-parameter operation, it is minimally adequate but could mention merge vs. rebase behavior or potential outcomes.

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, so there is nothing to explain beyond the schema. The baseline score of 4 applies because there is no parameter schema to describe, and the description correctly implies no inputs are needed.

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

Purpose5/5

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

The description states a specific verb ('pull') and resource ('current branch from remote'), which clearly distinguishes it from sibling tools like push, checkout, and merge. The action is unambiguous and matches the tool's name.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. Usage is implied by the action name, but it doesn't mention conditions, prerequisites, or contrast with other git operations like merge or rebase.

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

df_pushA

Hacer push de la rama actual al remote. Requiere confirm: true para ejecutar. Sin confirm devuelve preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNotrue para ejecutar el push

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 successfully discloses a key behavioral trait: 'Requiere confirm: true para ejecutar. Sin confirm devuelve preview.' This tells the agent that the tool is preview-only by default and only mutates the remote when confirm=true. It does not discuss potential failure modes or remote state effects beyond that.

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

Conciseness5/5

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

The description is only two sentences and front-loads the primary action. Every word contributes meaning; no filler or redundant schema repetition.

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

Completeness4/5

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

Given the simple one-parameter tool and no output schema, the description covers purpose, parameter behavior, and safety confirmation. It lacks explicit mention of remote mutation side effects, but the 'push' action and confirm gate largely compensate.

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?

Beyond the schema's 'true para ejecutar el push', the description clarifies that omitting confirm yields a preview, which is not stated in the schema. This fully defines the parameter's behavior and default.

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: 'Hacer push de la rama actual al remote' (push the current branch to the remote). It uses a specific verb and resource, and the action is distinct from sibling tools like df_pull.

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 through the action 'push current branch to remote' and explains the confirm requirement, but it does not explicitly state when to prefer this tool over alternatives or when not to use it. No sibling differentiation is mentioned.

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

df_rule_createA

Crear una regla configurable. Las reglas pueden bloquear o advertir sobre acciones.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre de la regla (ej: no-merge-to-main)
scopeYesAmbito: git, jira, o all
actionYesAccion: block (bloquea) o warn (solo avisa)
descriptionYesDescripcion de lo que hace la regla

TDQS

A3.7/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 burden. It does add useful behavioral context by explaining that rules can block or warn about actions. However, it does not disclose potential side effects of creation, authorization requirements, or what happens on success/failure.

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

Conciseness5/5

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

Two short sentences with no filler. The primary action 'Crear una regla configurable' is front-loaded, and the second sentence adds relevant context about what rules do.

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 4-required-parameter creation tool with no output schema, the description plus schema is minimally sufficient to invoke it correctly. Still, it lacks any mention of return value, side effects, or setup prerequisites, and the absence of annotations increases the need for such 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 description coverage is 100%, so the schema already documents all four parameters including enums for scope and action. The description only reinforces the action/enum semantics ('bloquear o advertir') and does not add new parameter-level detail beyond the schema.

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

Purpose5/5

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

The description uses the specific verb 'Crear' plus the resource 'regla', and clarifies what rules do ('Las reglas pueden bloquear o advertir sobre acciones'). This cleanly distinguishes df_rule_create from sibling operations like df_rule_update, df_rule_list, and df_rule_delete.

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

Usage Guidelines3/5

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

The description implies the tool should be used when creating a new rule, which is clear from 'Crear una regla configurable'. However, it gives no explicit guidance about when not to use it or which sibling(s) to prefer (e.g., df_rule_update for modifying an existing rule), leaving the agent to infer the selection logic.

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

df_rule_deleteC

Eliminar una regla.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre de la regla a eliminar

TDQS

C2.9/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 for behavioral disclosure. It only repeats the deletion action implied by the tool name and does not warn that deletion is likely irreversible, affect rule project overrides, or remove associated configurations. Some credit is given because 'eliminar' does clearly signal a destructive operation.

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

Conciseness4/5

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

The description is extremely brief with no filler or redundant content. It is front-loaded as a direct action phrasecars, though the brevity also contributes to the lack of usage and behavioral guidance.

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 one-parameter deletion tool with full schema coverage, the description plus schema technically provides enough information to invoke it. However, it lacks context about what deletion entails, possible side effects, or how it differs from toggling or updating a rule. This is adequate but clearly incomplete.

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

Parameters3/5

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

Input schema coverage is 100%: the single required parameter 'name' is already described as the name of the rule to delete. The description adds no additional parameter semantics, which is acceptable given that this is a minimal one-parameter tool.

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 'Eliminar una regla' clearly identifies the operation as deleting a ruleeb, distinguishing it from sibling tools like df_rule_create, df_rule_update, and df_rule_toggle. It uses a specific verb and resource, though it does not add any extra scoping or differentiation text.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus other rule-related tools such as df_rule_update or df_rule_toggle. The description does not state prerequisites, exclusions, or consequences, so an agent must infer usage solely from the tool name and schema.

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

df_rule_getB

Ver el detalle completo de una regla.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre de la regla

TDQS

B3.3/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 of disclosing behavior. 'Ver' indicates a read operation with no mutation implied, which is a useful signal, but it does not mention error cases, required permissions, or what the returned detail contains. The transparency is adequate for a simple get 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 a single, focused sentence with no filler or redundant content. It front-loads the tool's purpose clearly and is appropriately sized for a simple get operation.

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 one-parameter read tool, the description is minimally viable: it states the action and resource, and the schema covers the parameter. However, with no output schema and no annotations, the description leaves ambiguity about the exact structure of the returned rule details and how this differs from list behavior.

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

Parameters3/5

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

The schema already fully describes the single required parameter 'name' as 'Nombre de la regla', with 100% coverage. The description adds no extra meaning about the parameter, so it does not go beyond the baseline set by the input schema.

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

Purpose4/5

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

The description clearly states the tool's action and resource: viewing the complete details of a rule. It is specific enough to convey the core purpose, but it does not explicitly contrast with sibling tools such as df_rule_list, which likely lists rules rather than fetching one rule's full detail.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like df_rule_list, df_rule_update, or df_rule_delete. There are no exclusions, prerequisites, or context hints, leaving the agent to infer usage 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.

df_rule_listA

Listar todas las reglas configuradas con su estado (activada/desactivada).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. 'Listar' implies a read-only operation, and the description adds that the output includes activation state. However, it does not explicitly state side-effect-freedom, permission requirements, or pagination/response behavior.

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

Conciseness5/5

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

The description is a single compact sentence with no filler. It front-loads the action and resource, then adds the key detail about rule state, making every word informative.

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 parameterless list operation with no output schema, the description is largely sufficient: it tells the agent what will be returned (all configured rules with status). It could be more complete by describing the output shape or empty-result behavior, but the low complexity keeps the gap small.

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

Parameters4/5

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

The tool has zero parameters, so there is nothing for the description to clarify beyond the schema, which already covers 100% of the parameter space. The baseline for a zero-parameter tool is 4, and the description provides appropriate context by stating the scope of what will be listed.

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 ('Listar') and a specific resource ('todas las reglas configuradas'), and it clarifies the returned data includes each rule's state. This clearly distinguishes df_rule_list from single-rule tools like df_rule_get and from mutating tools like df_rule_create or df_rule_delete.

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 states what the tool does but gives no explicit guidance on when to choose it over alternatives such as df_rule_get or df_rule_flow_list. There are no conditions, exclusions, or comparisons, so an agent must infer usage from the tool name and context.

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

df_rule_project_addB

Añadir una regla propia que solo aplica al proyecto actual.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre de la regla
scopeYesAmbito
actionYesAccion
descriptionYesDescripcion de la regla

TDQS

B3.2/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. 'Añadir' implies a state-changing action, but the description does not mention permissions, idempotency, whether it can overwrite existing rules, or what happens if a rule with the same name already exists. This is a significant gap for a mutation tool.

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

Conciseness5/5

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

The description is a single, direct sentence with no redundant words. It front-loads the essential fact: this is a project-scoped rule addition. It is appropriately concise.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description needs to compensate by explaining side effects, prerequisites, and how this differs from similar rule tools. It only states the basic action and scope, leaving important contextual information missing for an agent to select and invoke the tool confidently.

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

Parameters3/5

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

The input schema fully documents all four parameters with names and descriptions, so the baseline is 3. The tool description adds the project-scope context but does not enrich the meaning of the individual parameters beyond what the schema already provides.

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

Purpose4/5

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

The description states a clear verb ('Añadir'), a resource ('regla'), and a specific scope ('solo aplica al proyecto actual'). It is understandable, but it does not explicitly distinguish this tool from sibling tools like df_rule_create or df_rule_project_override, so it falls short of full clarity.

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 phrase 'solo aplica al proyecto actual' implies this is for project-scoped rules, but it does not explicitly say when to use this tool versus df_rule_create or df_rule_project_override. Usage context is present but alternatives and exclusion conditions are not mentioned.

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

df_rule_project_overrideA

Activar o desactivar una regla global para el proyecto actual. El override solo aplica a este proyecto.

ParametersJSON Schema
NameRequiredDescriptionDefault
enabledYestrue para activar, false para desactivar en este proyecto
ruleNameYesNombre de la regla global a sobreescribir

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 behavioral burden. It usefully discloses that the override applies only to the current project, but it does not mention reversibility, what happens to an existing override, required permissions, or side effects. That is a meaningful but incomplete disclosure.

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

Conciseness5/5

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

Two short, focused sentences with the action first and the scoping constraint second. No filler or redundancy; every word earns its place.

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

Completeness4/5

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

For a low-complexity two-parameter toggle with fully documented parameters, the description covers the action and the crucial project-only scope. The only gaps are lack of confirmation/return behavior and explicit prerequisite about the current project, which are minor for this tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description reinforces the enabled semantics and adds the override concept, but it does not add detail beyond the schema's own parameter descriptions.

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

Purpose5/5

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

The description uses a specific verb ('Activar o desactivar') and a specific resource ('una regla global para el proyecto actual'), and the second sentence ('El override solo aplica a este proyecto') distinguishes it from global rule tools such as df_rule_toggle. An agent can tell what this tool does without opening the schema.

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

Usage Guidelines4/5

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

The description clearly conveys that this tool is for project-scoped overrides and that the effect is limited to the current project, which orients the agent toward using it instead of a global rule toggle. It does not explicitly name alternatives or state when not to use it, so it stops short of a 5.

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

df_rule_project_removeB

Eliminar una regla propia del proyecto actual o quitar un override de regla global.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre de la regla a eliminar

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 carries the full burden of behavioral disclosure. It states the removal behavior but does not mention that the action is destructive, irreversible, or restricted by permissions, nor what happens if the rule is in use. The added distinction between project rules and global overrides is helpful but insufficient for a deletion 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?

A single, concise sentence that front-loads the action and then clarifies the two supported scopes. There is no filler or repetition.

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

Completeness3/5

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

This is a simple one-parameter tool without an output schema, so the description need not explain return values. However, it lacks explicit guidance on how this tool relates to sibling tools like df_rule_delete or df_rule_project_add, and it omits any note about destructive effects, which leaves some contextual ambiguity for an agent.

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

Parameters3/5

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

Schema description coverage is 100%, with 'name' documented as 'Nombre de la regla a eliminar'. The tool description adds no parameter-level detail beyond that, so the baseline of 3 applies: the schema already handles the semantics.

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

Purpose4/5

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

The description clearly states the action ('Eliminar') and the target ('regla propia del proyecto actual' or 'override de regla global'), which is more specific than the tool name alone. It does not explicitly differentiate itself from sibling df_rule_delete, but the project-scoped vs. global-scoped distinction adds useful clarity.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when removing a project-specific rule or removing a global-rule override in the current project. However, it does not explicitly contrast with df_rule_delete or df_rule_project_add, leaving the agent to infer the boundary between deleting a rule and removing an override.

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

df_rule_toggleC

Activar o desactivar una regla.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre de la regla
enabledYestrue para activar, false para desactivar

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 the full burden of behavioral disclosure, but it only restates the core toggle action. It does not mention persistence, idempotence, required permissions, side effects, or what the tool returns after toggling.

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, front-loaded sentence with no filler. It efficiently conveys the core purpose, though it is minimal enough that it could arguably carry more context.

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

Completeness3/5

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

The tool is simple, with only two fully documented parameters and no nested objects, so the schema covers the invocation essentials. However, the absence of annotations and any note about return values or choice vs. df_rule_update leaves the description only minimally viable.

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

Parameters3/5

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

Schema description coverage is 100%: both `name` and `enabled` are already documented. The description adds no new parameter-level meaning beyond restating that the rule is activated or deactivated, 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.

Purpose4/5

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

The description clearly states the action ('Activar o desactivar') and the resource ('una regla'), so an agent understands this toggles a rule's enabled state. However, it does not explicitly distinguish this from the sibling df_rule_update, which could also change the enabled field.

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

Usage Guidelines2/5

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

No usage context is provided: the description does not explain when to prefer df_rule_toggle over df_rule_update or any other sibling. There are no conditions, exclusions, or alternative routing hints.

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

df_rule_updateB

Modificar una regla existente.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesNombre de la regla a modificar
scopeNoNuevo ambito
actionNoNueva accion
descriptionNoNueva descripcion

TDQS

B3/5.0
Behavior2/5

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

There are no annotations, so the description must carry the full burden of behavioral disclosure. It only conveys mutation ('modify'), but does not state whether the update is partial or full, what permissions are required, whether changes are reversible, or what response to expect.

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

Conciseness3/5

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

The description is very concise and front-loaded, but it is under-sized relative to the tool's complexity. While it avoids filler, it provides little more than a terse restatement of the tool's name and does not earn its place as a complete guide.

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

Completeness2/5

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

With no annotations, no output schema, and only a one-sentence description, the tool lacks important context about update semantics, how the required name identifies an existing rule, and whether omitted fields are left unchanged or cleared. An agent can infer basic behavior from the schema but not enough to invoke the tool confidently.

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

Parameters3/5

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

All four parameters have descriptions in the input schema (100% coverage), so the description adds no additional parameter meaning. The schema already documents that name identifies the rule and scope, action, and description are new values, so the baseline 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 states a specific verb ('Modify') and a resource ('an existing rule'), making the action unambiguous. It clearly differentiates from sibling tools like df_rule_create, df_rule_delete, and df_rule_toggle, even without naming them.

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 offers no guidance on when to use this tool versus alternatives such as df_rule_toggle, df_rule_create, or df_rule_project_override. It merely restates the function, leaving an agent to infer usage from the tool name and schema.

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

df_statusesA

Listar las transiciones disponibles para un issue (los estados a los que se puede mover desde su estado actual).

ParametersJSON Schema
NameRequiredDescriptionDefault
issueKeyYesClave del issue (ej: PROJ-123)

TDQS

A3.8/5.0
Behavior3/5

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

There are no annotations, so the description carries the burden. The verb 'list' signals a read-only operation and the parenthetical explains what kind of data is returned, but permissions, error conditions, or the need for the issue to exist are not disclosed. No contradiction with annotations exists.

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

Conciseness5/5

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

The description is a single, well-structured sentence with a helpful parenthetical clarification. It is front-loaded, contains no filler, and every part contributes to understanding what the tool does.

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, this description conveys the essential call intent and describes the semantic result: the states an issue can move to from its current state. It would benefit from explicitly stating the return format or whether transition IDs are provided, but the core is complete enough to select and invoke the tool correctly.

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

Parameters3/5

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

The input schema already fully documents the single required parameter issueKey with an example. The description adds the context that the transition list depends on the issue's current state, but it does not substantially enrich what the schema already provides, matching the baseline for high schema coverage.

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

Purpose5/5

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

The description states a specific action ('Listar') and a specific resource ('las transiciones disponibles para un issue'), and clarifies the scope as the states reachable from the issue's current state. This clearly sets it apart from siblings like df_transition, which moves the issue, and df_issues, which lists issues.

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

Usage Guidelines3/5

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

The description implies that the tool should be used when one needs to know an issue's possible next states, but it does not explicitly mention alternatives or say that df_transition should be used to actually execute a transition. The usage context is understandable but not stated as guidance.

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

df_transitionA

Mover un issue a un nuevo estado. Requiere confirm: true para ejecutar. Sin confirm devuelve preview.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmNotrue para ejecutar la transicion
issueKeyYesClave del issue (ej: PROJ-123)
transitionIdYesID de la transicion (obtenido de df_statuses)

TDQS

A4.4/5.0
Behavior4/5

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

There are no annotations, so the description carries the behavioral burden. It discloses a key dual-mode behavior: actual execution only with confirm=true, and a preview otherwise. This goes beyond the schema and alerts the agent to the non-destructive default.

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

Conciseness5/5

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

Two short sentences with no filler. The core action, execution requirement, and fallback preview behavior are all front-loaded and immediately actionable.

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 three-parameter mutation tool, the description plus the fully documented schema covers what is needed to invoke it correctly. It lacks details about the preview's return shape or permissions, but these are minor given the straightforward scope and no output schema.

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 meaning beyond the schema by specifying the effect of omitting confirm: it returns a preview. This complements the schema's 'true para ejecutar la transicion' and clarifies the confirm parameter's role.

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

Purpose5/5

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

The description states a specific action and resource: 'Mover un issue a un nuevo estado' (move an issue to a new state). This clearly separates it from sibling tools like df_assign or df_comment by framing the operation as a state transition.

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 gives concrete invocation guidance: 'Requiere confirm: true para ejecutar. Sin confirm devuelve preview.' This tells the agent when the tool executes versus when it only previews, and explicitly states the required confirm flag. It does not discuss alternatives, 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.

Tool Schema Changelog

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

  1. 32 tool updatesv0.1.15
    • First observeddf_assign
    • First observeddf_branch
    • First observeddf_checkout
    • First observeddf_comment
    • First observeddf_find_branch
    • First observeddf_flow_create
    • First observeddf_flow_delete
    • First observeddf_flow_get
    • First observeddf_flow_list
    • First observeddf_flow_update
    • First observeddf_issue
    • First observeddf_issues
    • First observeddf_merge
    • First observeddf_pr
    • First observeddf_project_delete
    • First observeddf_project_list
    • First observeddf_project_setup
    • First observeddf_project_switch
    • First observeddf_project_update
    • First observeddf_pull
    • First observeddf_push
    • First observeddf_rule_create
    • First observeddf_rule_delete
    • First observeddf_rule_get
    • First observeddf_rule_list
    • First observeddf_rule_project_add
    • First observeddf_rule_project_override
    • First observeddf_rule_project_remove
    • First observeddf_rule_toggle
    • First observeddf_rule_update
    • First observeddf_statuses
    • First observeddf_transition

TDQS

B3.2/5.0

Scored across 32 tools

Disambiguation4/5

Most tools target a distinct resource and action, such as df_pull vs df_push or df_issue vs df_issues. The main ambiguity is in the rule family, especially df_rule_project_add, df_rule_project_override, and df_rule_project_remove, whose boundaries overlap more than the others.

Naming Consistency3/5

All tools share the df_ prefix and snake_case, but the action placement is mixed: git/issue tools tend to be action-first (df_pull, df_assign, df_checkout), while flows/rules/projects use resource-first names (df_flow_create, df_rule_update, df_project_setup). This is readable but not a single consistent pattern.

Tool Count2/5

32 tools is a large surface, and while it spans several domains, the rule subsystem alone has 9 tools with significant overlap. This feels heavier than needed and could be consolidated without losing capability.

Completeness2/5

Project, flow, and rule lifecycles are mostly covered, and Jira transitions/assign/comment support common workflow actions. However, there is no git commit or status tool, which creates a dead end in a standard branch-commit-push-PR flow, and Jira issue creation/update is also missing.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers