Skip to main content
Glama

codeforge-mcp

CodeForge — an MCP (Model Context Protocol) server that exposes Senior Software Engineer / Technical Lead capabilities as individual tools. Any MCP-compatible client — Claude Desktop, Cursor, VS Code, Claude Code — can call these tools to delegate engineering tasks to a model playing a senior-engineer persona.

The server is prompt-mediated for reasoning tools: code generation, code review, RCA, etc. each return a structured prompt that locks the host LLM into the senior-engineer persona and a strict output schema. The reasoning happens in the client's LLM, so no second LLM API key is needed.

Jira tools call the Jira REST API directly.


Tools exposed

Tool

Purpose

generate_code

Generate clean, scalable, production-ready code with tests, logging, and docs.

scaffold_service

Scaffold a new Comviva Spring Boot microservice (pom, packaging, logging, Kafka, Consul, OpenAPI) per the standards in standards/comviva-springboot.md.

generate_test_cases

Generate a JUnit 5 + Mockito test class for one Java class with @DisplayName on every test, @Nested groups per method, AssertJ assertions, and Comviva copyright header. For project-wide tests, the host LLM iterates over source files and calls this per class.

review_code

Review a pull request / diff with severity-tagged findings anchored to file:line.

analyze_bug

Root-cause a bug from symptoms, stack trace, logs, and source.

generate_rca

Produce a publish-ready Root Cause Analysis report for an incident.

jira_get_issue

Fetch a Jira issue.

jira_search_issues

JQL search.

jira_create_issue

File a new issue (bug, story, task, epic).

jira_update_issue

Update fields on an issue.

jira_transition_issue

Move an issue through workflow states.

jira_add_comment

Attach investigation notes, RCA, or implementation updates.

jira_link_issues

Link related issues (Blocks, Relates, Caused by, etc.).

jira_add_remote_link

Attach a PR / deployment / dashboard URL to an issue.

recommend_architecture

Propose a scalable system design for a goal.

review_architecture

Review an API / database / microservice / pipeline / cloud infra design.

identify_tech_debt

Inventory technical debt and produce a refactor roadmap.

review_cicd_pipeline

Validate a CI/CD pipeline config.

review_infra_config

Review Kubernetes / Docker / Terraform / Helm / CloudFormation.

deployment_readiness_check

Pre-deploy go/no-go review with rollback and observability checks.

generate_documentation

Tech design, API reference, runbook, README, or module overview.

generate_adr

Architecture Decision Record (MADR style).

generate_implementation_plan

Phased implementation plan with risks and definition of done.

generate_migration_strategy

Migration strategy with stages, cutover, and rollback.


Related MCP server: Aurai Advisor (上级顾问 MCP)

Install & build

cd D:/eclipse-workspace/MRTM_7.12/mrtm/codeforge-mcp
npm install
npm run build

This produces dist/index.js.


Configure environment

Jira tools require credentials. Copy .env.example to .env and fill in:

JIRA_HOST=https://your-company.atlassian.net
JIRA_EMAIL=you@company.com
JIRA_API_TOKEN=<API token from id.atlassian.com/manage-profile/security/api-tokens>
JIRA_DEFAULT_PROJECT=MRTM

.env is not loaded automatically — pass these as real environment variables when the MCP client launches the server (see the next section). Tools that don't touch Jira work without these variables.


Register with an MCP client

Claude Desktop

Edit %APPDATA%\Claude\claude_desktop_config.json (Windows) and add:

{
  "mcpServers": {
    "codeforge": {
      "command": "node",
      "args": ["D:/eclipse-workspace/MRTM_7.12/mrtm/codeforge-mcp/dist/index.js"],
      "env": {
        "JIRA_HOST": "https://your-company.atlassian.net",
        "JIRA_EMAIL": "you@company.com",
        "JIRA_API_TOKEN": "<token>",
        "JIRA_DEFAULT_PROJECT": "MRTM"
      }
    }
  }
}

Restart Claude Desktop. The tools will appear in the tool picker.

Claude Code (CLI)

claude mcp add codeforge node "D:/eclipse-workspace/MRTM_7.12/mrtm/codeforge-mcp/dist/index.js" \
  -e JIRA_HOST=https://your-company.atlassian.net \
  -e JIRA_EMAIL=you@company.com \
  -e JIRA_API_TOKEN=... \
  -e JIRA_DEFAULT_PROJECT=MRTM

Cursor / VS Code (with MCP extension)

Add an entry in the client's MCP settings pointing to the same node dist/index.js command with the env vars above.


Company standards (used by scaffold_service)

The conventions for new microservices live in standards/comviva-springboot.md — packaging, copyright header, constructor injection, @Slf4j parameterized logging, Spring Kafka config pattern, Consul config layout, error handling, JPA, scheduling, Dockerfile. Edit that file to refine conventions; scaffold_service re-reads it on every call (no rebuild needed).

Example invocation from Claude

Scaffold a new service called rewardservice that consumes the reward.events Kafka topic, persists a RewardLedger entity to MySQL, and exposes GET /rewards/{customerId} to read balances.

The MCP client picks scaffold_service, fills in the args, and the host LLM produces the full project — pom.xml, RewardserviceApplication.java, config/KafkaConfig.java, service/RewardEventConsumer.java, dao/RewardLedgerRepository.java, model/RewardLedger.java, controller/RewardController.java, application.yml, bootstrap.yml, consul-prop.yml, logback-spring.xml, Dockerfile, and tests — all carrying the Comviva copyright header and following every rule in the standards file.


How the prompt-only tools work

When you call review_code, the server doesn't itself invoke an LLM. It returns a single text block containing:

  1. A senior-engineer persona prelude (role, tone, standards).

  2. The supplied inputs (the diff, PR title, etc.) embedded in a task description.

  3. A strict output contract — the exact sections, severity scale, table columns, and rules the LLM must follow.

The host LLM (Claude Desktop, Cursor, etc.) then executes that prompt as its next reasoning step. Because the contract is strict and the persona is consistent across tools, you get reproducible, high-quality output without standing up a second LLM endpoint.

If you later want the server to call an LLM itself (e.g. for batch jobs without a host UI), wire an Anthropic client into each tool's handler and post the existing prompt body to it. The current architecture is designed to make that swap trivial.


Adding a new tool

  1. Create src/tools/yourTool.ts exporting a ToolDefinition:

    import { z } from "zod";
    import { withPersona } from "../prompts/persona.js";
    import type { ToolDefinition } from "./types.js";
    
    const Schema = z.object({ /* inputs */ });
    
    export const yourTool: ToolDefinition = {
      name: "your_tool",
      description: "What it does, in one sentence.",
      inputSchema: Schema,
      handler: async (raw) => {
        const input = Schema.parse(raw);
        return { content: [{ type: "text", text: withPersona("...prompt body...") }] };
      },
    };
  2. Register it in src/tools/index.ts under the right capability group.

  3. npm run build. The client picks up the new tool on next restart.


Sharing with the team

Two distribution paths — start with A, promote to B once the standards stabilise.

A. Git clone

Maintainer (one-time): push this folder to GitHub.

Each teammate (one-time):

git clone https://github.com/ThakurAnketPratapSingh/codeforge-mcp.git
cd codeforge-mcp
setup.bat      # Windows
./setup.sh     # macOS / Linux / Git Bash

setup.bat / setup.sh installs deps, builds, and runs claude mcp add codeforge ... automatically. Teammates add their own Jira creds afterwards (re-register with -e JIRA_* flags — see the setup script output).

Getting updates:

git pull && setup.bat

Standards live in standards/comviva-springboot.md, versioned with the repo, so git pull is how new conventions reach every teammate.

B. Public npm (npmjs.com)

The package is published to the public npm registry as @anketpsingh/codeforge-mcp. Anyone with Node.js installed can grab it — no token needed.

⚠️ Public publication means standards/comviva-springboot.md is searchable on npmjs.com. Make sure that's intended.

Maintainer — one-time setup:

  1. Create a free account at https://www.npmjs.com/signup

  2. Enable 2FA on the account (npm requires it for publishing).

  3. Authenticate on this machine:

    npm login

    Enter username, password, email, and the OTP from your authenticator.

Maintainer — each release:

npm run release:patch   # 0.1.0 → 0.1.1, builds, publishes
npm run release:minor   # 0.1.0 → 0.2.0
npm run release:major   # 0.1.0 → 1.0.0

prepublishOnly rebuilds from clean automatically. Only dist/, standards/, README.md, and .env.example ship.

Each teammate — one-time:

npm install -g @anketpsingh/codeforge-mcp
claude mcp add codeforge codeforge-mcp

No .npmrc or token required — it's public.

Getting updates:

npm install -g @anketpsingh/codeforge-mcp@latest

Per-user secrets (both paths)

Jira credentials are per-user. Each teammate adds their own via claude mcp add ... -e JIRA_EMAIL=... -e JIRA_API_TOKEN=... after the base install. Shared values (JIRA_HOST, JIRA_DEFAULT_PROJECT) go in the README so everyone copies them verbatim.

Evolving the standards

standards/comviva-springboot.md is the single source of truth. To change a convention:

  1. Edit the file

  2. Path A: commit, push, teammates git pull && setup.bat

  3. Path B: bump version, npm run release:minor, teammates npm install -g @anketpsingh/codeforge-mcp@latest

Standards changes are visible in git log standards/ — useful when investigating "why does the generator do X now".


Project layout

codeforge-mcp/
├── src/
│   ├── index.ts              # stdio entry point
│   ├── server.ts             # MCP server wiring
│   ├── prompts/persona.ts    # shared senior-engineer persona
│   ├── jira/client.ts        # Jira REST client (Cloud v3 / ADF)
│   └── tools/
│       ├── types.ts          # ToolDefinition shape, error helper
│       ├── index.ts          # tool registry
│       ├── codeGeneration.ts
│       ├── codeReview.ts
│       ├── bugAnalysis.ts
│       ├── rca.ts
│       ├── jira.ts
│       ├── architecture.ts
│       ├── devops.ts
│       └── documentation.ts
├── package.json
├── tsconfig.json
└── .env.example

Available Tools

24 tools
analyze_bugB

Analyze symptoms, stack traces, logs, and source to find the root cause of a bug. Returns a structured prompt that yields a hypothesis with evidence, severity, priority, recommended fix, and prevention actions.

ParametersJSON Schema
NameRequiredDescriptionDefault
logsNoRelevant log excerpts (trim to the bug window).
symptomYesWhat the user / monitor observed. Include error messages verbatim.
stackTraceNoStack trace, if any.
environmentNoDeployment env, version, traffic profile, recent changes.
sourceContextNoSource snippets of the suspected code paths.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses that the tool returns a structured prompt rather than a direct answer, and enumerates the fields (hypothesis, evidence, severity, priority, fix, prevention). It stops short of stating permissions, side effects, or whether the analysis is read-only.

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 tight sentences, front-loaded with the purpose and immediately followed by the return behavior. Every clause earns its place with 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?

With no output schema, the description helpfully explains what the tool returns, and parameter coverage is complete via the schema. The main missing piece is usage/routing guidance against similar siblings like generate_rca.

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 each of the five parameters is already documented in the schema. The description lists the same input types (symptoms, stack traces, logs, source) without adding format or syntax detail, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (analyze) and resource (bug) plus the input types it consumes (symptoms, stack traces, logs, source). However, it does not differentiate itself from the sibling 'generate_rca', which is a closely related root-cause-analysis tool an agent could easily confuse with this one.

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 implies its use case ('to find the root cause of a bug') but gives no explicit when-to-use, when-not-to-use, or alternative tool guidance. With a sibling like generate_rca present, the absence of routing guidance is a real gap.

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

deployment_readiness_checkA

Perform a pre-deployment readiness check. Returns a structured prompt assessing risk, validating rollback, observability, and go/no-go gates.

ParametersJSON Schema
NameRequiredDescriptionDefault
riskLevelNo
blastRadiusNoWhich users / services / regions are affected by this change.
changeSummaryYesWhat is being deployed.
observabilityNoDashboards, alerts, and logs that will signal trouble.
rollbackMechanismNoToday's rollback mechanism: blue/green, canary, feature flag, redeploy-previous.

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose one important behavioral trait: the tool returns a "structured prompt" rather than executing a check itself, implying a read-only, non-mutating operation. However, it omits permissions, whether it inspects live systems, and any side effects or rate limits.

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 tightly written sentences: the first states the action, the second the return. Zero filler and the essential purpose is front-loaded.

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

Completeness4/5

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

There is no output schema, and the description compensates by characterizing the return (a structured prompt assessing risk, rollback, observability, and go/no-go gates). With only one required parameter and well-documented optional ones, an agent has enough to call it correctly; only the absence of precondition/permission detail keeps it from a 5.

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 80%, so the schema already documents changeSummary, blastRadius, observability, and rollbackMechanism. The description adds no per-parameter meaning beyond what the schema supplies (the enum riskLevel is self-explanatory), so the baseline of 3 is correct.

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 gives a specific verb+resource: "Perform a pre-deployment readiness check," and the second sentence enumerates what the check covers (risk, rollback, observability, go/no-go gates). This is clear. It does not name or contrast any sibling tool, so it falls short of 5, but no sibling (review_cicd_pipeline, review_infra_config) plainly overlaps in function.

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?

"Pre-deployment" implies the usage window, but there is no explicit when-to-use statement, no prerequisites, and no guidance on when a different tool (e.g. review_cicd_pipeline, review_infra_config) would be a better fit. Usage is implied rather than stated.

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

generate_adrA

Generate an Architecture Decision Record (ADR) in the MADR-style format. Returns a structured prompt the host LLM completes into a fully-formed ADR.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYesDecision title, e.g. 'Adopt Kafka for cross-service eventing'.
statusNoproposed
contextYesThe problem / forces driving the decision.
optionsYesOptions under consideration (at least two).
decisionYesThe chosen option and rationale.
consequencesNoKnown consequences: positive, negative, neutral.

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the burden, and it does disclose the key non-obvious behavior: this does not produce a finished ADR, only a structured prompt the host LLM must complete. That is genuinely useful. It does not mention determinism, side effects, or that the output format is MADR-prescribed content.

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

Conciseness5/5

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

Two sentences, front-loaded with the verb and format, then immediately the crucial distinction that the return value is a prompt rather than a document. No waste.

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

Completeness3/5

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

For a prompt-emitting generator with no output schema, the description covers the essentials: format, inputs by schema, and output shape. It is silent on how the prompt should be used (templating, tool chaining, expected host LLM behavior) and on edge cases like missing consequences, which for a generation tool aimed at a host LLM is a meaningful gap.

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

Parameters3/5

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

Schema coverage is 83%, so the schema describes five of six parameters well, including the enum for status and minItems=2 for options. The description adds only the 'MADR-style' framing and none of the parameters; baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb (Generate) and resource (ADR in MADR style), and adds what it returns: a structured prompt for the host LLM. It doesn't name a sibling, but it is distinguishable from generate_documentation and recommend_architecture by its ADR/MADR framing.

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?

Usage is implied by context ('generate an ADR'), and the two-stage nature (prompt the host LLM completes) hints at a workflow. There is no explicit when-to-use vs generate_documentation, recommend_architecture, or generate_implementation_plan, and no guidance on when not to use it.

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

generate_codeB

Generate clean, scalable, production-ready code for a feature. Returns a structured prompt the host LLM executes to produce code, tests, logging, error handling, and docs following industry best practices.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoSurrounding architecture: frameworks in use, conventions, neighbouring services.
featureYesPlain-English description of the feature or component to build.
languageYesTarget language/runtime, e.g. 'TypeScript', 'Java 21 + Spring Boot 3'.
constraintsNoHard constraints (latency budgets, compliance, library versions, etc.).
includeDocsNoGenerate inline + module-level documentation.
includeTestsNoGenerate unit + integration tests.

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It does disclose a genuinely non-obvious trait — the tool returns a structured prompt the host LLM executes rather than writing code itself, implying a read-only/analysis posture — but says nothing about permissions, whether any files are written, or invocation limits.

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

Conciseness4/5

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

Two sentences, front-loaded with the core action and then the return behavior. 'clean, scalable, production-ready' is mild marketing padding, but nothing is redundant enough to waste space.

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

Completeness3/5

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

With no output schema and no annotations, the description does explain the return value (a structured prompt), which is the most important missing piece. It still leaves the agent unsure how this differs from scaffold_service or whether constraints/includeDocs actually alter the prompt content.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all six parameters, including defaults for includeTests and includeDocs. The description adds no syntax, format, or constraint-interpretation guidance beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

The description names a specific verb ('Generate') and resource ('code for a feature') plus the artifacts produced (tests, logging, error handling, docs). However, it never distinguishes itself from close siblings like scaffold_service, generate_test_cases, or generate_documentation, which an agent would need to route between.

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 explicit when-to-use, when-not-to-use, or alternative named anywhere in the description. Given the crowded sibling set (scaffold_service, generate_test_cases, generate_documentation, generate_implementation_plan), the absence of routing guidance is a real gap.

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

generate_documentationA

Generate technical documentation — design doc, API reference, runbook, README, or module overview — from supplied source material. Returns a structured prompt the host LLM completes into the document.

ParametersJSON Schema
NameRequiredDescriptionDefault
docTypeYesType of documentation to generate.
subjectYesWhat is being documented (component name, API name, system area).
audienceNoPrimary readers: 'new joiners', 'on-call engineers', 'API consumers', etc.
sourceMaterialYesSource code, OpenAPI spec, design notes, existing docs to base the output on.

TDQS

A3.8/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 behavioral burden, and it discloses a genuinely non-obvious trait: the tool returns a structured prompt for the host LLM to complete rather than the finished document. This prevents a wrong mental model of the return value. It does not mention token/length limits or permissions, which is why it is not a 5.

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

Conciseness5/5

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

Two sentences, zero filler, with the core action front-loaded and the return-behavior caveat immediately after. Every clause 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?

With no output schema, the description must explain what comes back, and it does so clearly via the structured-prompt return. Combined with 100% schema coverage for a four-parameter tool, an agent has what it needs to invoke it correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so every parameter is already documented in the schema; the description adds only loose references ("doc types", "source material") that map to existing fields. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose4/5

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

States a specific verb (generate) and resource (technical documentation) and enumerates the five concrete doc types matching the docType enum. It stops short of differentiating from siblings like generate_adr or generate_implementation_plan, which also produce documents, so an agent must infer the boundary.

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?

"From supplied source material" implies the precondition, and the listed doc types hint at scope. There is no explicit when-to-use vs. alternatives guidance and no exclusions telling the agent when to reach for a sibling generation tool instead.

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

generate_implementation_planB

Generate a phased implementation plan for a feature or change. Returns a structured prompt yielding milestones, dependencies, risks, and a definition of done.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoCurrent state, surrounding systems, prior art.
featureYesThe feature or change to plan.
constraintsNoHard constraints (timeline, team size, freeze windows, compliance).
knownUnknownsNoThings you already know you don't know.

TDQS

B3.2/5.0
Behavior3/5

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

No annotations are provided, so the description carries the disclosure burden. It usefully reveals that the tool returns a 'structured prompt' containing milestones, dependencies, risks, and a definition of done, which is real behavioral value. It says nothing about permissions, side effects, or whether any state is created, leaving gaps.

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

Conciseness4/5

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

Two tight sentences with zero filler, front-loading the action and then the return content. Slightly under-elaborated for the number of concerns it could address, but nothing is wasted.

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?

With no output schema, the description compensates by summarizing the return structure (milestones, dependencies, risks, definition of done), and all four parameters are documented in the schema. The remaining gap is the absence of any usage/disambiguation guidance against the many sibling generators.

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 (feature, context, constraints, knownUnknowns) with clear descriptions. The description adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb ('Generate') and a distinctive resource ('phased implementation plan for a feature or change'), which separates it from siblings like generate_migration_strategy and recommend_architecture. It does not, however, explicitly route the agent away from any named sibling, so it stops short of a 5.

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

Usage Guidelines2/5

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

There is no explicit when-to-use guidance, no prerequisites, and no mention of alternative tools such as recommend_architecture or generate_adr that also produce planning artifacts. Usage must be inferred entirely from the resource name.

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

generate_migration_strategyB

Generate a migration strategy from one technology / version / pattern to another. Returns a structured prompt yielding stages, dual-write/dual-read plans, validation, cutover, and rollback.

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesTarget technology / version / pattern.
fromYesSource technology / version / pattern being migrated away from.
scopeYesWhat is in scope: services, datasets, customers, regions.
constraintsNoDowntime tolerance, deadlines, dual-write requirements.

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It usefully discloses the return shape (structured prompt yielding stages, dual-write/dual-read plans, validation, cutover, rollback), but says nothing about side effects, permissions, whether output is persisted, or determinism of the generation.

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

Conciseness5/5

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

Two sentences, zero filler. The purpose is front-loaded and the return-shape detail follows, with every clause earning 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 four-parameter generation tool with a fully documented schema and no output schema, the description covers what it does and what it returns. The remaining gap is routing guidance relative to the other planning/architecture generators, which limits it from being 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%, so the schema already documents all four parameters, including constraints like downtime tolerance and deadlines. The description adds no syntax, format, or example guidance beyond the loose 'one technology to another' framing, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Generate a migration strategy from one technology / version / pattern to another'), which is clearly distinct from plan/architecture siblings. However, it never names or contrasts with the nearest alternatives such as generate_implementation_plan or recommend_architecture, so sibling differentiation is left to inference.

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 explicit when-to-use, when-not-to-use, or prerequisite guidance. An agent cannot tell from this text whether this tool should precede or follow generate_implementation_plan, or under what circumstances a migration strategy is the right artifact versus an implementation plan.

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

generate_rcaA

Generate a detailed Root Cause Analysis report for a production incident. Returns a structured prompt the host LLM completes into a publish-ready RCA document with summary, timeline, root cause, impact, resolution, corrective actions, preventive measures, and lessons learned.

ParametersJSON Schema
NameRequiredDescriptionDefault
impactNoQuantified impact: users affected, revenue, SLO burn, etc.
timelineNoFree-form timeline of events from detection through resolution.
rootCauseNoKnown or suspected root cause, if already identified.
resolutionNoWhat was done to resolve / mitigate.
extraContextNo
detectionTimeNoISO-8601 timestamp when first noticed.
incidentTitleYesShort name for the incident, e.g. 'Checkout 500s 2026-06-20'.
resolutionTimeNoISO-8601 timestamp when mitigated / resolved.
affectedSystemsNoServices / regions / customer segments affected.

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose a genuinely important trait – it returns a structured prompt the host LLM completes, rather than the finished document itself – which is valuable beyond structured fields. However, it omits permission requirements, how optional params (8 of 9 are optional) are handled when absent, and any limits.

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

Conciseness4/5

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

Two sentences, front-loaded with the core action, with no filler. The second sentence is long but each listed section earns its place by telling the agent what the generated document will contain.

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?

No output schema exists, so the description must characterize the return value – and it does, describing the structured prompt and its component sections. For a 9-parameter generation tool this is largely complete, with only optional-parameter behavior left unaddressed.

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 89%, so the schema already documents nearly every parameter. The description lists the output sections (summary, timeline, root cause, impact, resolution, corrective actions, preventive measures, lessons learned), which loosely maps to the input fields but adds little syntax or format meaning beyond the schema.

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

Purpose5/5

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

States a specific verb ("Generate") and resource ("detailed Root Cause Analysis report") scoped to "a production incident," and no sibling tool overlaps with this capability, so an agent can distinguish it immediately.

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 context "for a production incident" implies post-incident usage, but the description never states when to reach for this versus e.g. analyze_bug or jira_create_issue, nor any preconditions or exclusions. Usage is inferable but not guided.

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

generate_test_casesA

Generate a complete JUnit 5 + Mockito test class for one Java class, with @DisplayName annotations on every test class, nested group, and test method for readable test reports. Follows Comviva standards (copyright header, package layout). Call once per class; for 'tests for all classes in the project', the host LLM should glob the sources and invoke this tool per file.

ParametersJSON Schema
NameRequiredDescriptionDefault
classNameYesFully-qualified or simple class name of the class under test (SUT), e.g. 'MenuService' or 'com.comviva.menuservice.service.MenuService'.
sourceCodeYesFull Java source of the class under test. The generator reads this to derive collaborators, method signatures, branches, and exception paths.
useAssertJNoUse AssertJ (assertThat) for assertions. If false, falls back to JUnit 5 assertions.
coverageTargetsNoOptional list of method names or scenarios that MUST be covered. Use when a specific branch isn't obvious from the source.
packageOverrideNoOverride the test package. Default: same package as SUT under src/test/java.
includeIntegrationTestNoAlso produce a Spring-context integration test (*IT.java suffix) using @SpringBootTest. Off by default — most classes only need unit tests.

TDQS

A4.4/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 behavioral burden. It discloses output conventions (@DisplayName on every class, nested group, and method; copyright header; package layout), which is useful, but never says whether the generated test is returned as text or written into the repository, nor whether it overwrites an existing file. For a code-generation tool that ambiguity matters.

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?

Three sentences, front-loaded with what is produced, then conventions, then invocation cadence. Every sentence carries distinct information with no repetition of the name or schema.

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?

There is no output schema, so the description stands in for the return contract, and it does describe the structure of the generated artifact reasonably well. It stops short of stating the delivery mechanism (returned string vs. written file) and any write-side effects, which is the one thing an agent still has to guess.

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 the baseline is 3, and the description adds real value on top: it explains when coverageTargets is needed (when a branch isn't obvious from the source) and confirms the default package/IT behavior. It does not add syntax detail beyond what the schema strings already say.

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?

States a specific verb and resource: generate a JUnit 5 + Mockito test class for one Java class. It also names the framework stack and header conventions, so an agent can distinguish it from generate_code or scaffold_service without reading 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 Guidelines5/5

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

Explicitly says 'Call once per class' and prescribes the exact alternative workflow for the project-wide case (glob sources, invoke per file). It also flags that integration tests are off by default and most classes only need unit tests, which is real when-to-use guidance.

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

identify_tech_debtB

Identify technical debt in a codebase and propose a refactoring strategy. Returns a structured prompt covering debt inventory, business impact, refactor roadmap, and quick wins.

ParametersJSON Schema
NameRequiredDescriptionDefault
hotspotsNoKnown problem modules / packages, if any.
symptomsNoSymptoms attributed to debt: slow PRs, on-call pain, flaky tests, regressions.
codebaseSummaryYesHigh-level summary of the codebase: structure, age, languages, scale.

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full behavioral burden. It does valuable work by disclosing that the return value is a 'structured prompt' covering four named sections (rather than a finished analysis), which is important and not in any schema. However, it omits any detail about permissions, execution cost, or how the four sections are framed.

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 tight sentences with no filler: the first states purpose, the second enumerates the return structure. The function is front-loaded and everything present 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?

There is no output schema, so the description must characterize the return, and it does so by naming the four sections of the produced prompt. Combined with the fully documented inputs, this is nearly complete, though it stops short of explaining how the four sections relate or what an agent should do with the returned prompt.

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 all three parameters (hotspots, symptoms, codebaseSummary) are already documented in the schema. The description adds no parameter-level syntax, format, or interaction detail beyond what the schema provides, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Identify technical debt in a codebase') plus the secondary action ('propose a refactoring strategy'). It does not explicitly distinguish itself from nearby siblings like review_code or review_architecture, but the purpose is unambiguous 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 Guidelines2/5

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

The description never says when to reach for this tool versus alternatives such as review_code, review_architecture, or recommend_architecture, nor does it state any prerequisites or exclusions. Usage must be inferred entirely 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.

jira_add_commentB

Add a comment to a Jira issue. Use to attach investigation notes, RCA summaries, or implementation updates.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentYesInvestigation notes, RCA summary, implementation update, etc.
issueKeyYes

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 says nothing about auth/permission requirements, whether the comment triggers notifications, whether Jira markup is supported, or what the call returns, all of which are relevant for a write operation.

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

Conciseness5/5

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

Two short sentences, front-loaded with the purpose and followed by the use cases. No filler, no redundancy; every clause earns its place.

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

Completeness3/5

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

For a simple two-parameter tool with no output schema, the description covers purpose and usage scenarios adequately. It stops short of the behavioral specifics (permissions, response, formatting) that would make the definition fully self-sufficient given the absence of annotations.

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

Parameters2/5

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

Schema coverage is only 50%: 'comment' is documented in the schema and effectively restated here, while 'issueKey' has no description in either place. The description does not compensate for that gap or add format/syntax guidance beyond what the schema already supplies.

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 gives a specific verb+resource: 'Add a comment to a Jira issue.' That is unambiguous and easy to distinguish from siblings like jira_create_issue or jira_update_issue, though it never explicitly contrasts itself with 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?

The second sentence offers concrete use cases (investigation notes, RCA summaries, implementation updates), which is implied guidance on when the tool fits. However, it names no alternatives and sets no exclusions or prerequisites, so an agent still has to infer that this is the tool to use whenever a comment is needed.

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

jira_create_issueB

Create a Jira issue. Useful for filing bugs after analysis, opening tracking tickets for RCA action items, or creating stories from implementation plans.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsNo
summaryYes
priorityNoPriority name: Highest, High, Medium, Low, Lowest.
issueTypeNoIssue type name: Task, Bug, Story, Epic, etc.Task
parentKeyNoParent issue key for sub-tasks / epic children.
projectKeyNoProject key. Falls back to JIRA_DEFAULT_PROJECT.
descriptionNo
assigneeAccountIdNo

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 behavioral burden, and it discloses almost nothing beyond the word 'Create'. It does not mention that 'summary' is the only required field, that a project key falls back to a default, what the call returns (the new issue key, needed for follow-ups), or any permission/auth requirements. For a mutation tool with zero annotation coverage 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?

Two short sentences, purpose front-loaded, with the use cases earning their place by routing the agent from analysis siblings to this action tool. No filler or redundancy.

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

Completeness2/5

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

For an 8-parameter mutation tool with no annotations and no output schema, the description is under-specified: it omits the required-field constraint, the default project fallback behavior, and any indication of the return value. An agent could call it, but not confidently or correctly in edge cases.

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

Parameters2/5

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

With only 50% schema description coverage, half the parameters (labels, summary, description, assigneeAccountId) have no documentation in either the schema or the description. The description adds no parameter guidance at all, so it fails to compensate for the coverage gap.

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

Purpose4/5

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

The description states a specific verb and resource ('Create a Jira issue'), which is unambiguous and clearly distinguishable from siblings like jira_update_issue or jira_get_issue. It does not explicitly name those siblings, but the verb+resource pairing is precise enough that the agent knows what the tool does.

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 second sentence gives concrete triggering scenarios: filing bugs after analysis, opening tickets for RCA action items, and creating stories from implementation plans. This connects well to sibling tools like analyze_bug and generate_rca, giving clear context for when to reach for it, though it names no exclusions or explicit alternatives.

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

jira_get_issueC

Fetch a Jira issue by key.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsNoOptional field allowlist.
issueKeyYesIssue key, e.g. 'MRTM-1234'.

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 behavioral burden. 'Fetch' implies a read with no side effects, but the description says nothing about auth requirements, error behavior for missing keys, or what the call retrieves.

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?

A single front-loaded sentence with no padding; the verb and resource lead. It is efficient but arguably under-specified rather than optimally sized.

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

Completeness3/5

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

For a simple two-parameter read tool with a full-coverage schema this is minimally adequate, but with no annotations and no output schema the description could reasonably state what is returned or note the read-only nature.

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 both parameters (issueKey with an example, and the optional fields allowlist) are already documented. The description adds no syntax or format detail beyond the schema, so the baseline of 3 applies.

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

Purpose4/5

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

States a specific verb and resource ('Fetch a Jira issue') and adds the key-based scope, which implicitly separates it from the sibling jira_search_issues. It does not, however, explicitly name that sibling or clarify what makes this distinct from other jira_* reads.

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 when-to-use guidance, no prerequisites, and no mention of alternatives such as jira_search_issues for when the key is unknown. The agent must infer usage entirely from the name.

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

jira_search_issuesC

Search Jira issues with a JQL expression.

ParametersJSON Schema
NameRequiredDescriptionDefault
jqlYesJQL expression.
fieldsNo
maxResultsNo

TDQS

C2.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 behavioral burden, and it discloses almost nothing: no read-only confirmation, no mention of the 100-result hard cap, no pagination behavior, no statement of what happens when JQL is malformed. A search tool with zero annotation coverage needs far more than one sentence.

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?

A single front-loaded sentence with zero filler, so it is efficient in form. The brevity is arguably under-specification rather than conciseness, but as structure it is clean and the purpose is stated first.

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

Completeness2/5

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

For a three-parameter query tool with no output schema, no annotations, and only one-third of parameters documented, the description should explain result shape, pagination, and field selection. None of that is present, leaving the agent to guess at core behavior.

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

Parameters2/5

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

Schema description coverage is only 33% — the lone documented parameter, jql, is described tautologically as 'JQL expression.' The description adds no meaning for fields (which fields are returned, whether it defaults to all) or maxResults (the schema caps it at 100, which is worth calling out). It does not compensate for the coverage gap.

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?

States a specific verb (Search) and resource (Jira issues) with the mechanism (JQL expression), which is enough to distinguish it from jira_get_issue or jira_create_issue in the sibling list. However, it never explicitly contrasts itself with those siblings or states the scope of what it returns.

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

Usage Guidelines2/5

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

No guidance on when to use this versus jira_get_issue for a known key, nor any prerequisites such as required Jira permissions or project scope. The agent must infer that this is the broad-query tool 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.

jira_transition_issueB

Transition a Jira issue to a new status (e.g. 'In Progress', 'Done'). Optionally posts a comment with the transition.

ParametersJSON Schema
NameRequiredDescriptionDefault
commentNoComment posted with the transition.
issueKeyYes
transitionNameYesTransition name as shown in Jira workflow, e.g. 'In Progress'.

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 behavioral burden. It usefully discloses the side effect that a comment may be posted, but says nothing about required permissions, that transitionName must match an actual workflow transition, or what happens on an invalid transition.

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

Conciseness5/5

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

Two sentences, no filler, purpose and optional side-effect front-loaded. Every clause earns its place.

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

Completeness3/5

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

With no annotations and no output schema, the description covers the core purpose and the comment side effect, but leaves the agent without permission prerequisites, workflow-validation behavior, or any indication of the result. Adequate but visibly incomplete for a mutation tool.

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

Parameters3/5

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

Schema description coverage is 67%; transitionName is well documented in the schema and the description reinforces the 'as shown in Jira workflow' nuance. issueKey is undocumented in both places, and the description adds no format detail 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?

States a specific verb ('Transition') and resource ('a Jira issue') with a target ('a new status') and concrete examples. It is distinguishable from jira_update_issue in principle because it names status transition rather than field editing, though it never explicitly says so.

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

Usage Guidelines2/5

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

No guidance on when to use this versus jira_update_issue or jira_add_comment, even though both overlap (status change vs field update; the optional comment vs the dedicated comment tool). Usage is only implied by the verb choice.

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

jira_update_issueC

Update a Jira issue's fields.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelsNo
summaryNo
issueKeyYes
priorityNo
descriptionNo
extraFieldsNoRaw additional fields passed straight through to Jira.
assigneeAccountIdNo

TDQS

C2.3/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 behavioral burden, yet it discloses nothing beyond the tautological implication that a mutation occurs. It does not say whether omitted fields are preserved or cleared, what permissions are needed, or how failures behave for a 7-parameter write operation.

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

Conciseness2/5

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

The single sentence is front-loaded and free of filler, but for a 7-parameter mutation tool it is under-specified rather than concise. Brevity here costs the agent needed information instead of saving it.

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

Completeness1/5

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

A write tool with no annotations, no output schema, nested/raw fields (extraFields), and near-zero parameter documentation requires substantially more description than one sentence. Nothing about field-merge behavior, permissions, or error handling is covered.

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

Parameters1/5

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

Schema description coverage is only 14% — just the pass-through extraFields property is documented. The description compensates for none of this, leaving labels, summary, priority, description, and assigneeAccountId with no semantic guidance in either place.

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

Purpose4/5

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

The description states a specific verb (Update) and resource (a Jira issue's fields), so an agent knows it is a field-mutation tool rather than a workflow tool. It does not, however, distinguish itself from sibling mutators like jira_transition_issue or jira_add_comment, which also modify an issue.

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 jira_transition_issue, jira_add_comment, or jira_link_issues, all of which also change an issue. No prerequisites, no exclusions, no routing information.

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

recommend_architectureA

Recommend a scalable system design for a stated goal. Returns a structured prompt covering architecture decisions, component diagram-as-text, data flow, scaling strategy, failure modes, and an explicit decision log.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalYesWhat is being designed or improved (e.g. 'real-time loyalty event ingestion at 50k req/s').
cloudNoTarget cloud / platform: AWS, GCP, Azure, on-prem, k8s.
currentStateNoToday's architecture, pain points, constraints.
nonFunctionalNoNon-functional requirements: compliance, multi-region, RTO/RPO, etc.
scaleRequirementsNoTraffic, data volume, latency, availability targets.

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations, the description carries the full burden, and it does disclose the substantive behavior: the tool returns a structured prompt containing architecture decisions, a text component diagram, data flow, scaling strategy, failure modes, and a decision log. It does not state whether anything is persisted or what permissions are needed, but for a generative, side-effect-free tool the disclosed output shape is meaningful context beyond the schema.

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

Conciseness5/5

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

Two tight sentences with zero filler; the purpose is front-loaded and the return contents follow immediately. Nothing is repeated from the schema or name.

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?

There is no output schema, so the description usefully enumerates what the structured prompt will contain, and all five input params are covered by the schema. The only material gap is routing guidance against sibling design/review tools, which does not affect call correctness.

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 all five parameters (goal, cloud, currentState, nonFunctional, scaleRequirements) are already well documented with examples. The description adds no parameter-level syntax or format guidance, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Recommend a scalable system design') with the scope qualifier 'for a stated goal'. It clearly distinguishes design recommendation from the sibling review_architecture, though it never names that sibling explicitly.

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?

Usage is only implied: the tool takes a design goal plus optional current-state/constraints and produces a design. There is no explicit when-to-use guidance and no exclusion pointing to review_architecture for existing systems or generate_implementation_plan for execution detail.

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

review_architectureB

Review an existing architecture (API, database, microservice, event pipeline, or cloud infra) for scalability, reliability, security, and operability. Returns a structured prompt that yields graded findings and prioritized remediation.

ParametersJSON Schema
NameRequiredDescriptionDefault
concernsNoSpecific concerns to prioritize (e.g. 'cost', 'multi-region failover').
descriptionYesArchitecture description, diagram-as-text, or doc excerpt.
componentTypeYesWhat is being reviewed.

TDQS

B3.3/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 the key behavioral trait — the tool returns a structured prompt rather than an analysis result — which is unusual and valuable. However, it says nothing about permissions, side effects, determinism, or output shape, leaving notable gaps for a tool with no annotation coverage.

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

Conciseness5/5

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

Two sentences, no filler, and the most important and surprising fact (it returns a prompt, not findings) is placed second where it is easily read. Every clause earns its place.

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

Completeness3/5

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

No output schema, no annotations, and the description does not specify what the returned structured prompt looks like or how to consume it, nor does it distinguish the tool from its many review-adjacent siblings. The 'returned prompt' behavior is disclosed but not elaborated, leaving an agent under-informed for routing and follow-through.

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 including the enum for componentType and examples for concerns. The description adds no parameter-level detail beyond what the schema provides, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb+resource ('Review an existing architecture') and scopes the domains checked (scalability, reliability, security, operability). It doesn't explicitly differentiate from siblings like review_code or review_infra_config, which overlap as 'review' tools, but the enumeration of architecture types and concern dimensions makes the intent clear.

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

Usage Guidelines2/5

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

No when-to-use guidance and no routing to alternatives. An agent cannot tell from this description when to pick review_architecture over review_infra_config or review_code, despite obvious surface overlap among the sibling review tools.

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

review_cicd_pipelineA

Validate a CI/CD pipeline configuration for correctness, security, efficiency, and best practices. Returns a structured prompt yielding severity-tagged findings and recommended fixes.

ParametersJSON Schema
NameRequiredDescriptionDefault
contextNoWhat the pipeline builds / deploys.
pipelineTypeYesCI/CD platform.
pipelineConfigYesPipeline config file content (yaml/groovy/etc.).

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 burden. It usefully discloses the output shape ('severity-tagged findings and recommended fixes'), which matters because there is no output schema. But it says nothing about whether the tool only reads (no mutation of the pipeline), size limits on config input, or how findings are scoped, leaving the safety profile unstated.

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

Conciseness5/5

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

Two sentences, zero filler; the purpose and validation dimensions are front-loaded, with the return behavior second. Nothing is restated from the title or schema.

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 three-parameter analysis tool with no output schema, the description covers what it does and what it returns, which is the key missing structured information. It stops short of stating input constraints (e.g., supported config formats, size limits) or how it relates to the other review_* tools.

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

Parameters3/5

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

Schema description coverage is 100%, so pipelineType, pipelineConfig, and context are already documented, including the platform enum. The description adds no syntax or format detail beyond the schema, so the baseline 3 applies.

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

Purpose4/5

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

States a specific verb (validate) and resource (CI/CD pipeline configuration) and enumerates the review dimensions (correctness, security, efficiency, best practices). The resource is narrow enough to be told apart from review_code, review_architecture, and review_infra_config, though no sibling is named explicitly.

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?

Usage is implied by the narrow resource — an agent can infer this applies to pipeline configs rather than general code or infra. However, there is no explicit when-to-use guidance, no exclusions, and no routing advice against the neighboring review_* and review_infra_config tools.

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

review_codeA

Review a pull request or diff. Returns a structured prompt that yields severity-tagged, file:line-anchored findings across correctness, security, performance, maintainability, and tests.

ParametersJSON Schema
NameRequiredDescriptionDefault
prTitleNoPull request title.
languageNoPrimary language, e.g. 'Java', 'TypeScript'.
diffOrCodeYesUnified diff (preferred) or full source of the change under review.
focusAreasNoRestrict the review to these dimensions. Default: all dimensions.
prDescriptionNoPull request description / motivation.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It usefully discloses that the return is a structured prompt producing severity-tagged, file:line-anchored findings across five areas — a genuinely non-obvious behavioral trait. However, it says nothing about permissions, mutation/reversibility (a review tool is implicitly read-only but this is unstated), or any limits, leaving part of the safety profile undocumented.

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

Conciseness5/5

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

Two sentences, front-loaded with the action and followed by the return shape. Every clause earns its place with no filler.

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

Completeness4/5

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

There is no output schema, so the description correctly compensates by describing the return value (a structured prompt with severity-tagged findings), and all parameters are schema-documented. The only meaningful omission is when to choose this over the other review_* siblings.

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 all five parameters are already documented. The description's enumeration of review dimensions maps onto the focusAreas enum but adds no format or syntax detail beyond what the schema provides, 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?

States a specific verb (review) and a precise resource (pull request or diff), and enumerates the dimensions it covers. This is cleanly distinguishable from siblings like review_architecture, review_cicd_pipeline, and review_infra_config, which target different artifacts.

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?

Usage is implied by the artifact named (a PR or diff), but there is no explicit when-to-use framing, no exclusions, and no routing to alternatives such as review_architecture or analyze_bug. An agent can infer intent but gets no decision guidance.

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

review_infra_configA

Review Kubernetes, Docker, Terraform, Helm, or CloudFormation configuration for correctness, security, reliability, and cost. Returns a structured prompt with anchored findings and remediation.

ParametersJSON Schema
NameRequiredDescriptionDefault
configYesRaw config file content.
targetEnvNoTarget environment: dev / staging / prod, region, scale tier.
configTypeYesType of configuration being reviewed.

TDQS

A3.8/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses that the return is a structured prompt containing anchored findings plus remediation, which is genuinely useful output-shape context for an analysis tool, but it says nothing about determinism, permission/auth requirements, size limits, or how the review is performed.

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 tight sentences with no filler. The capability scope leads and the return contract follows, so an agent gets the essentials in the first sentence.

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 three-parameter, no-annotation, no-output-schema analysis tool, the description covers supported inputs and the shape of the result adequately. It falls short only on operational constraints such as input size limits or multi-file handling, which an agent might need before invoking it.

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 all three parameters (config, configType, targetEnv) carry their own descriptions and an enum, so the schema does the heavy lifting. The description adds no format, size, or syntax guidance beyond what the schema already states, making the baseline 3 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?

Specific verb (review) plus a precisely enumerated resource scope: Kubernetes, Docker, Terraform, Helm, and CloudFormation configurations, across four named quality dimensions (correctness, security, reliability, cost). This distinguishes it from generic siblings like review_code and review_architecture without the agent needing to open any schema.

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 scope implies when the tool applies (you have an IaC/config file to audit), but there is no explicit when-to-use, when-not-to-use, or routing guidance versus review_code, review_cicd_pipeline, or deployment_readiness_check. Usage is inferable rather than stated.

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

scaffold_serviceB

Scaffold a new Comviva Spring Boot microservice following company standards (packaging, logging, Kafka, Consul config, error handling, OpenAPI). Returns a structured prompt that yields a complete file tree with full source for pom.xml, the application class, config beans, controllers, producers/consumers, entities, application.yml/bootstrap.yml, logback-spring.xml, Dockerfile, and tests.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoHTTP port.
notesNoAnything else the generator should know (special integrations, naming, etc.).
authorNoAuthor tag for class-level JavaDoc.
entitiesNo
descriptionYesWhat the service does, in 1-3 sentences.
kafkaTopicsNo
serviceNameYesService name, lowercase. Used for artifactId, root package, application class name.
capabilitiesYesWhich features the service needs. Each capability pulls in the appropriate dependencies, packages, and boilerplate.
restEndpointsNo

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden, but it does disclose an important trait: the tool 'returns a structured prompt' rather than writing files directly, which prevents a common misuse assumption. It stops short of stating side effects, permissions, or whether anything is persisted.

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

Conciseness5/5

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

Two sentences, front-loaded with the action and scope, followed by the return value. The enumerated output list earns its place by telling the agent exactly what a call produces.

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 complex 9-parameter generator with no output schema, the description does a solid job explaining the deliverable (file tree with full source) and the standards applied. It omits usage routing and prerequisite context, but the core contract is 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 coverage is 67%, so the schema already documents most parameters. The description maps its standards list (packaging, logging, Kafka, Consul config, OpenAPI, error handling) to the capabilities concept, adding modest value, but it doesn't explain requirements like the serviceName pattern or how capabilities drive boilerplate.

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?

Specific verb+resource ('Scaffold a new Comviva Spring Boot microservice') with an explicit scope of company standards. It is clearly distinguishable from the generic generate_code sibling by naming the artifact and the standards it follows, though it never explicitly differentiates itself.

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

Usage Guidelines2/5

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

No when-to-use, when-not-to-use, or alternatives are given. The scenario (creating a new service) is inferable, but there is no guidance on how this differs from generate_code, recommend_architecture, or generate_implementation_plan.

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. 24 tool updatesv0.1.1
    • First observedanalyze_bug
    • First observeddeployment_readiness_check
    • First observedgenerate_adr
    • First observedgenerate_code
    • First observedgenerate_documentation
    • First observedgenerate_implementation_plan
    • First observedgenerate_migration_strategy
    • First observedgenerate_rca
    • First observedgenerate_test_cases
    • First observedidentify_tech_debt
    • First observedjira_add_comment
    • First observedjira_add_remote_link
    • First observedjira_create_issue
    • First observedjira_get_issue
    • First observedjira_link_issues
    • First observedjira_search_issues
    • First observedjira_transition_issue
    • First observedjira_update_issue
    • First observedrecommend_architecture
    • First observedreview_architecture
    • First observedreview_cicd_pipeline
    • First observedreview_code
    • First observedreview_infra_config
    • First observedscaffold_service

TDQS

B3.1/5.0

Scored across 24 tools

Disambiguation4/5

Most tools are clearly distinct (generate_code vs review_code vs generate_rca). Minor overlap exists between review_architecture and recommend_architecture, and between analyze_bug and generate_rca, but descriptions help differentiate. Overall, an agent can select the right tool with minimal confusion.

Naming Consistency4/5

Majority of tools follow a verb_noun pattern (generate_code, review_code, jira_*). The jira_ prefix adds consistency for that subgroup. Minor deviations like jira_add_remote_link (verb_noun_noun) are acceptable. No chaotic mixing; overall predictable.

Tool Count3/5

24 tools is on the heavy side for a single server, especially since many are wrappers that return structured prompts rather than direct actions. While each tool has a clear purpose, the count feels excessive; consolidation or grouping (e.g., separate jira tools) would improve usability.

Completeness3/5

The toolset covers a wide range of development lifecycle activities (code generation, review, architecture, bug analysis, Jira integration, CI/CD, infra, documentation). However, it lacks tools for direct code manipulation (e.g., apply_patch, create_file) and for some domains like database schema generation or performance profiling. Notable gaps exist but core workflows are present.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Automatically enhances developer prompts with quality requirements, codebase context, and architectural patterns, then orchestrates other MCP servers to ensure AI coding assistants produce high-quality, structured code that follows best practices and security standards.
    7
    3
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    An MCP server that enables local AI models to receive guidance from remote 'senior' AI providers like OpenAI, Anthropic, and Gemini to solve programming problems. It features intelligent multi-turn dialogue management, context synchronization, and automated session history tracking.
    4
    10
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A hosted AI software engineer that writes code, opens PRs, reviews code, generates tests, runs security scans, and answers codebase questions. Connect from any MCP client (Claude Code, Cursor, Windsurf, or your own agents) and delegate engineering tasks.
    67 npm
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Empower any MCP-compatible AI Agent(MCP Client) with engineering-grade capabilities to understand, modify, run, and deliver real-world code repositories.
    465 PyPI
    1,125
    Apache 2.0