Skip to main content
Glama
nhuson269

MCP Spring Boot Toolkit

by nhuson269

MCP Spring Boot Toolkit

MCP (Model Context Protocol) server cung cấp tools, resources và prompts hỗ trợ phát triển dự án Java Spring Boot.

Tính năng

Tools (8 tools)

Tool

Mô tả

generate_entity

Tạo JPA Entity class với Lombok annotations, audit fields (createdAt/updatedAt), soft delete

generate_controller

Tạo REST Controller với CRUD endpoints, pagination, validation

generate_service

Tạo Service interface + implementation với @Transactional, @Cacheable

generate_dto

Tạo Request/Response DTOs với validation annotations + MapStruct mapper

generate_repository

Tạo Spring Data JPA Repository với custom query methods, Specification support

generate_exception_handler

Tạo @ControllerAdvice global exception handler + custom exception classes

generate_application_properties

Tạo application.yml theo profile (dev/prod) với database, security, actuator, swagger...

analyze_pom

Phân tích pom.xml để tìm vấn đề dependency, version conflict và đề xuất cải thiện

Prompts (6 prompts)

Prompt

Mô tả

review_api

Review REST API controller theo best practices (HTTP conventions, validation, security, performance)

debug_exception

Phân tích stack trace và đề xuất cách fix

optimize_query

Tối ưu JPA/Hibernate query (N+1, projection, indexing, caching)

security_audit

Audit bảo mật Spring Security config (JWT, CORS, CSRF, input validation)

migration_plan

Lên kế hoạch upgrade Spring Boot version (breaking changes, namespace migration)

design_microservice

Thiết kế kiến trúc microservice (package structure, API contracts, communication patterns)

Resources (4 guides)

Resource

URI

Nội dung

Project Structure

guide://spring-boot/project-structure

Cấu trúc package chuẩn cho ứng dụng Spring Boot

Security

guide://spring-boot/security

Checklist bảo mật: JWT, OAuth2, CORS, rate limiting

Layered Architecture

guide://spring-boot/layered-architecture

Kiến trúc phân lớp Controller → Service → Repository

API Design

guide://spring-boot/api-design

Thiết kế RESTful API: versioning, pagination, error handling

Related MCP server: DBJavaGenix

Cài đặt

# Clone hoặc copy project
cd mcp-spring-boot-toolkit

# Cài dependencies
npm install

# Build
npm run build

Cách sử dụng

Cấu hình MCP Server

Thêm vào file cấu hình MCP của IDE (ví dụ .kiro/settings/mcp.json, claude_desktop_config.json, hoặc tương đương):

Production (dùng bản build):

{
  "mcpServers": {
    "spring-boot-toolkit": {
      "command": "node",
      "args": ["/đường-dẫn-tới/mcp-spring-boot-toolkit/dist/index.js"]
    }
  }
}

Development (dùng tsx, không cần build):

{
  "mcpServers": {
    "spring-boot-toolkit": {
      "command": "npx",
      "args": ["tsx", "/đường-dẫn-tới/mcp-spring-boot-toolkit/src/index.ts"]
    }
  }
}

Ví dụ sử dụng tools

Tạo Entity:

Tạo entity Product với fields: name (String, not null), price (BigDecimal), description (String), stock (Integer)

Tạo Controller + Service + Repository cho entity:

Tạo full CRUD cho entity Order bao gồm controller, service, repository, DTOs

Phân tích pom.xml:

Phân tích file pom.xml của tôi xem có vấn đề gì về dependency không

Tạo config:

Tạo application.yml cho project dùng PostgreSQL, có security, actuator, swagger, với 2 profiles dev và prod

Ví dụ sử dụng prompts

Review API:

Review controller UserController.java theo best practices

Debug lỗi:

Debug exception này: LazyInitializationException - could not initialize proxy...

Tối ưu query:

Tối ưu query trong OrderRepository, đang bị N+1 khi load OrderItems

Scripts

Script

Mô tả

npm run build

Compile TypeScript → JavaScript (output vào dist/)

npm run dev

Chạy trực tiếp từ source bằng tsx

npm start

Chạy bản đã build

Tech Stack

  • Runtime: Node.js

  • Language: TypeScript

  • MCP SDK: @modelcontextprotocol/sdk

  • Validation: Zod

  • Transport: stdio

Cấu trúc project

mcp-spring-boot-toolkit/
├── src/
│   ├── index.ts              # Entry point - khởi tạo MCP server
│   ├── tools.ts              # Đăng ký 8 tools code generation
│   ├── prompts.ts            # Đăng ký 6 prompts
│   ├── resources.ts          # Đăng ký 4 resources
│   └── resources/            # Markdown guides
│       ├── project-structure.md
│       ├── security-checklist.md
│       ├── layered-architecture.md
│       └── api-design.md
├── dist/                     # Build output
├── package.json
├── tsconfig.json
└── README.md

License

MIT

Available Tools

8 tools
analyze_pomA

Analyze pom.xml for dependency issues, version conflicts, and suggest improvements

ParametersJSON Schema
NameRequiredDescriptionDefault
pomContentYesContent of pom.xml as string

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not explicitly state that the tool is read-only, does not modify anything, or any side effects. It also does not describe the return value or format. Given the absence of annotations, this lack of behavioral disclosure is a significant gap.

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

Conciseness5/5

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

The description is a single, focused sentence that front-loads the verb and resource, enumerates the key analysis dimensions, and contains no filler or redundancy. It is appropriately concise for the tool's simplicity.

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

Completeness3/5

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

With no output schema, the description should explain what the tool returns, but it only mentions 'suggest improvements' without detailing output structure. The tool is simple (one input), and the core purpose is clear, but the missing return-info leaves the agent uncertain about how to interpret results.

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

Parameters3/5

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

The input schema has 100% coverage for the single parameter 'pomContent', which is described as 'Content of pom.xml as string'. The description adds no extra semantic detail beyond what the schema already provides, so the baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Analyze'), the resource ('pom.xml'), and the specific outcomes ('dependency issues, version conflicts, and suggest improvements'). It is distinct from the sibling tools, which all generate code artifacts, making this analysis tool easily identifiable.

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

Usage Guidelines3/5

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

The description implies usage for checking a Maven POM file, and the sibling context (generate_*) suggests this is for analysis rather than generation. However, it lacks explicit guidance on when to use it over alternatives, prerequisites (e.g., valid XML), or typical invocation scenarios.

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

generate_application_propertiesB

Generate application.yml configuration for Spring Boot with common settings

ParametersJSON Schema
NameRequiredDescriptionDefault
databaseNoDatabase typepostgresql
featuresNoFeatures to configure
profilesNoSpring profiles to generate

TDQS

B3.4/5.0
Behavior2/5

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

There are no annotations to rely on, so the description must disclose behavior on its own. It only states 'Generate' without explaining whether the tool writes a file, returns the configuration content, or has side effects, leaving critical ambiguity.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the purpose. Every word is purposeful, with no redundancy or filler.

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

Completeness2/5

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

With no annotations and no output schema, the description is incomplete for a generation tool. It fails to specify what the tool returns or whether it creates a file, leaving the agent without a full understanding of the tool's behavior and output.

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

Parameters3/5

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

The input schema includes descriptions for all three parameters (100% coverage), so the description does not need to explain them individually. The mention of 'common settings' loosely relates to the features parameter but adds no concrete parameter-level detail beyond the schema.

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

Purpose5/5

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

The description uses a specific verb ('Generate') and resource ('application.yml configuration for Spring Boot'), making it immediately clear what the tool produces. This easily distinguishes it from sibling tools like generate_entity and generate_controller.

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

Usage Guidelines3/5

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

No explicit when-to-use or alternative guidance is provided. The phrase 'with common settings' implies a general-purpose use case, but the description does not mention when not to use it or point to alternatives.

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

generate_controllerB

Generate a Spring Boot REST Controller with CRUD endpoints and proper exception handling

ParametersJSON Schema
NameRequiredDescriptionDefault
basePathNoAPI base path/api
endpointsNoCRUD endpoints to generate
entityNameYesEntity name in PascalCase, e.g. 'Product'
packageNameNoBase package namecom.example.demo
withPaginationNoUse pagination for list endpoints
withValidationNoInclude @Valid annotations

TDQS

B3.4/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 disclosing behavior. It mentions generation of a controller but does not disclose side effects like file creation, project structure modifications, or whether it can overwrite existing files. This is a significant gap for a code generator.

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

Conciseness5/5

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

A single sentence that directly states the tool's purpose with no redundant filler. It is appropriately sized and front-loaded.

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

Completeness2/5

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

Despite a rich schema with 6 parameters, the description lacks essential context about the tool's output and side effects. It does not mention that it generates a Java file, the package structure, or how it integrates with the Spring Boot project. With no output schema and no annotations, this is insufficient for a tool of this complexity.

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

Parameters3/5

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

Input schema covers 100% of parameters with descriptions, so the baseline is 3 regardless of extra context in the tool description. The description itself adds no parameter-specific meaning beyond the schema, so it does not exceed baseline.

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

Purpose5/5

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

The description clearly states the tool generates a Spring Boot REST Controller with CRUD endpoints and exception handling. This is a specific verb-resource pair and clearly distinguishes from sibling tools like generate_entity or generate_repository.

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 context is implied: the tool should be used when generating a controller for a Spring Boot entity. However, there is no explicit when-to-use or guidance on alternatives, such as mentioning that generate_service or generate_repository are for other layers.

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

generate_dtoB

Generate Request/Response DTOs with validation annotations and MapStruct mapper

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYesDTO fields with validations
entityNameYesEntity name in PascalCase
withMapperNoGenerate MapStruct mapper interface
packageNameNoBase package namecom.example.demo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description only states what is generated without disclosing behavioral traits such as whether files are overwritten, where files are written, or any prerequisites. The description does not mention side effects beyond 'generate'.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with every word carrying meaning. It efficiently communicates the core function without unnecessary elaboration.

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

Completeness2/5

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

Given the absence of output schema and annotations, the description is too minimal. It does not explain what the generated files look like, how the mapper integrates with the DTOs, or how this tool fits with sibling generator tools, leaving the agent to infer critical workflow context.

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

Parameters3/5

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

The input schema provides 100% coverage with descriptions for all parameters (entityName, fields, withMapper, packageName) and nested properties, so the description does not need to add parameter details. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool generates Request/Response DTOs with validation annotations and a MapStruct mapper. This specific verb+resource combination distinguishes it from siblings like generate_entity and generate_controller.

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 tool name and description (i.e., use this to generate DTOs), but there is no explicit guidance on when to use it relative to alternatives or within a generation workflow.

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

generate_entityA

Generate a JPA Entity class with Lombok annotations, audit fields, and proper mappings

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYesEntity fields
classNameYesEntity class name in PascalCase, e.g. 'Product'
tableNameNoDatabase table name. Defaults to snake_case of className
withAuditNoInclude createdAt/updatedAt audit fields
packageNameNoBase package namecom.example.demo
withSoftDeleteNoInclude soft delete (deleted flag)

TDQS

A3.6/5.0
Behavior3/5

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

The description reveals that the tool includes Lombok annotations, audit fields, and proper mappings, which are behavioral traits. However, it does not disclose whether the output is a string of code or written to a file, nor any side effects. Since annotations are empty, the description carries the burden, and it partially meets this by mentioning key features but omits critical output mechanics.

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

Conciseness5/5

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

The description is a single sentence with a clear verb-first structure. It contains no redundant information and is appropriately sized for the tool's purpose, making it easy to parse.

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

Completeness2/5

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

With 6 parameters and no output schema, the description should provide more context about the generated output's structure and format. It fails to explain what the tool returns (e.g., code string, file path) or detail any conventions beyond Lombok and audit fields. This leaves a significant gap for an agent that needs to know what to expect from invocation.

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

Parameters3/5

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

The schema description coverage is 100% for parameters, so the baseline is 3. The description adds minimal meaning by referencing 'audit fields' (ties to withAudit) and 'proper mappings' (ties to columnName), but it does not explain individual parameters beyond what the schema already provides. Thus, it adds only marginal value.

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

Purpose5/5

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

The description clearly states the tool's function: 'Generate a JPA Entity class with Lombok annotations, audit fields, and proper mappings'. It uses a specific verb ('Generate'), identifies the resource (JPA Entity class), and lists key features. This distinguishes it from sibling tools like generate_controller or generate_service, 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?

The description implies usage when a JPA entity is needed, but it does not explicitly differentiate from alternatives or state when not to use it. While the name and context suggest it is the correct tool for entity generation, there is no explicit exclusion or comparison to sibling generators.

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

generate_exception_handlerB

Generate global exception handler with @ControllerAdvice and custom exceptions

ParametersJSON Schema
NameRequiredDescriptionDefault
exceptionsNoCustom exception classes to generate
packageNameNoBase package namecom.example.demo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the output concept but omits key details such as file creation, overwrite behavior, or whether custom exception classes are also generated. This is a significant gap for a code generation tool.

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

Conciseness5/5

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

The description is a single, focused sentence that fully captures the tool's purpose without unnecessary detail. It is front-loaded and every word adds value.

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

Completeness2/5

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

With no annotations and no output schema, the description should explain what the tool produces and any side effects. It does not mention generated files, return values, or how the custom exceptions are integrated, leaving the agent to infer crucial behavior. The nested exceptions parameter adds complexity that is not addressed.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no extra semantic meaning beyond the schema, which already documents exceptions and packageName. It does not clarify how parameters influence the generated handler's behavior.

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

Purpose5/5

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

The description clearly states the tool generates a global exception handler with @ControllerAdvice and custom exceptions, using a specific verb and resource. This distinguishes it from sibling tools like generate_controller or generate_service, which handle different layers.

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

Usage Guidelines3/5

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

The description implies usage for creating a centralized exception handler but does not explicitly state when to use it versus alternatives, nor does it mention exclusions or prerequisites. It relies on the tool name and context of sibling generators.

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

generate_repositoryB

Generate a Spring Data JPA Repository with custom query methods

ParametersJSON Schema
NameRequiredDescriptionDefault
idTypeNoID field typeLong
entityNameYesEntity name in PascalCase
packageNameNoBase package namecom.example.demo
customQueriesNoCustom query methods
withSpecificationNoExtend JpaSpecificationExecutor for dynamic queries

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description bears full responsibility for disclosing behavioral traits. It only states what is generated, but fails to mention side effects such as file creation, overwriting behavior, or whether it returns code. This is a significant gap for a code generation tool.

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

Conciseness5/5

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

The description is a single, well-structured sentence that immediately communicates the tool's purpose. It is front-loaded and contains no filler or redundant information.

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

Completeness2/5

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

Given the tool has 5 parameters, including a nested customQueries object, and no output schema, the description is too brief. It does not explain what the tool returns (e.g., code snippet, file path) or any constraints (e.g., requiring an existing entity). This leaves the agent without enough context to anticipate the tool's full behavior.

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

Parameters3/5

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

Schema description coverage is 100%, with each parameter having a clear description (e.g., 'Entity name in PascalCase'). The tool description adds marginal value by echoing the 'custom query methods' theme, but it does not provide deeper semantics beyond the schema.

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

Purpose5/5

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

The description clearly states the tool's function with a specific verb ('Generate') and resource ('Spring Data JPA Repository'). It also includes a differentiator ('with custom query methods') that distinguishes it from sibling tools like generate_entity or generate_controller.

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

Usage Guidelines3/5

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

The description implies usage when a repository is needed, especially with custom queries, but it does not explicitly state when to use this tool versus alternatives. No exclusions or prerequisites are mentioned, leaving the decision to the agent's inference from the name and sibling context.

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

generate_serviceA

Generate a Spring Boot Service with interface and implementation following best practices

ParametersJSON Schema
NameRequiredDescriptionDefault
methodsNoAdditional custom methods beyond CRUD
entityNameYesEntity name in PascalCase, e.g. 'Product'
packageNameNoBase package namecom.example.demo
withCachingNoInclude @Cacheable annotations
withTransactionNoInclude @Transactional annotations

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations, the description must disclose side effects and behavior, but it only says 'following best practices' and 'with interface and implementation.' It omits critical details such as file creation/overwrite behavior, naming conventions, dependencies on an existing entity/repository, or whether the generated code compiles. This is a significant transparency gap for a tool that mutates the filesystem.

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

Conciseness5/5

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

The description is a single, concise sentence that front-loads the core action and resource, with no filler or redundant phrasing. It is appropriately sized for a tool with schema-covered parameters.

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

Completeness2/5

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

The tool generates code and has no output schema, but the description does not explain what the generated files look like, what conventions are applied, or what the tool returns. It relies on the phrase 'following best practices' without specifying any concrete behavior, leaving the agent without enough context to anticipate the outcome beyond the abstract purpose.

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

Parameters3/5

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

The input schema provides 100% coverage for all five parameters with descriptions and defaults, so the schema does the heavy lifting. The tool description itself adds no additional parameter meaning beyond what the schema already states, meriting the baseline score.

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

Purpose5/5

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

The description clearly specifies the action ('Generate'), the resource ('Spring Boot Service'), and the structural detail ('interface and implementation'), which distinguishes it from sibling tools like generate_entity or generate_controller. It leaves no ambiguity about what the tool produces.

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

Usage Guidelines4/5

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

The description provides clear context: this is for generating a Spring Boot service layer, implying you use it when you need a service with interface and implementation. It does not explicitly mention alternatives or when not to use it, but the sibling tool names and the specific resource make the usage context reasonably clear.

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

Tool Schema Changelog

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

  1. 8 tool updatesv0.1.0
    • First observedanalyze_pom
    • First observedgenerate_application_properties
    • First observedgenerate_controller
    • First observedgenerate_dto
    • First observedgenerate_entity
    • First observedgenerate_exception_handler
    • First observedgenerate_repository
    • First observedgenerate_service

TDQS

A3.9/5.0

Scored across 8 tools

Disambiguation5/5

Each tool targets a distinct artifact in the Spring Boot architecture: entity, controller, service, DTO, repository, exception handler, and application properties. The analyze_pom tool is clearly separate for dependency analysis. No two tools appear to generate the same type of output.

Naming Consistency5/5

Seven tools follow the consistent verb_noun pattern 'generate_<artifact>', and analyze_pom also follows the same verb_noun pattern with a different verb. The naming is predictable and clearly indicates the action and target.

Tool Count5/5

With 8 tools, the server is well-scoped for a Spring Boot code generation toolkit. It covers the essential layers and configuration without excessive granularity, making it easy for an agent to select the right tool.

Completeness4/5

The set covers core generation needs (entity, controller, service, repository, DTO, exception handler, application properties) and includes pom analysis. Missing are tools for project scaffolding, security configuration, or tests, but these are minor gaps that can be worked around or generated manually.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nhuson269/mcp-spring-boot-toolkit'

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