Skip to main content
Glama

Module Craft

Vision

Module Craft is a project designed to standardize and enhance the development of software modules through a robust quality control system. By leveraging a Model Control Protocol (MCP), Module Craft provides a set of tools and workflows to ensure that modules are well-planned, secure, performant, and well-documented, regardless of the development environment.

Related MCP server: code-graph-mcp

Core Concepts

The heart of Module Craft is an MCP that exposes a series of atomic "actions" that an AI agent can call. These actions cover the entire lifecycle of a module, from initial planning to final evaluation. This approach allows for the creation of standardized, automated, and intelligent workflows for module development.

Setup

  1. Install dependencies:

npm install
  1. Build the project:

npm run build
  1. Run in development mode:

npm run dev

Usage

This MCP server can be integrated with AI assistants that support the Model Context Protocol. The server provides the following tools:

Available Tools

  • plan_module - Generate detailed development plans from module descriptions

  • analyze_code_quality - Analyze code for consistency, congruence, and static issues

  • check_security_vulnerabilities - Scan for security vulnerabilities (planned)

  • evaluate_performance - Analyze performance bottlenecks (planned)

  • generate_documentation - Auto-generate code documentation (planned)

  • check_accessibility - Check UI accessibility compliance (planned)

  • validate_requirements - Validate implementation against requirements (planned)

  • track_progress - Track development progress (planned)

Integration

To use this MCP server with an AI assistant, add it to your MCP configuration:

{
  "mcpServers": {
    "module-craft": {
      "command": "node",
      "args": ["dist/index.js"],
      "cwd": "/path/to/module-craft"
    }
  }
}

Development

  • npm run dev - Run with hot reload

  • npm run build - Build TypeScript to JavaScript

  • npm run watch - Watch mode for development

Project Structure

src/
├── index.ts              # Main MCP server
├── types.ts              # TypeScript type definitions
└── actions/
    ├── planModule.ts     # Module planning implementation
    └── analyzeCodeQuality.ts # Code quality analysis

Currently Implemented

plan_module - Fully functional module planning ✅ analyze_code_quality - Code consistency and static analysis

Planned Features

🚧 Security vulnerability scanning 🚧 Performance analysis 🚧 Documentation generation 🚧 Accessibility checking 🚧 Requirements validation 🚧 Progress tracking

MCP Actions

The following actions are available through the Module Craft MCP.

1. Module Planning & Definition

plan_module

  • Description: Takes a high-level module description and generates a detailed development plan in Markdown format.

  • Outputs:

    • Functional and non-functional requirements.

    • Use cases.

    • Proposed file and directory structure.

    • Potential external dependencies.

2. Quality Assurance

analyze_code_quality

  • Description: Analyzes module code to ensure it adheres to best practices.

  • Focus Areas:

    • Code Consistency: Naming conventions, formatting.

    • Congruence: Ensures code aligns with the initial plan.

    • Static Analysis: Uses linters to detect common errors and dead code.

check_security_vulnerabilities

  • Description: A dedicated security scanner.

  • Capabilities:

    • Scans for common vulnerability patterns (e.g., SQL injection, XSS).

    • Checks project dependencies for known vulnerabilities.

evaluate_performance

  • Description: Focuses on performance analysis.

  • Capabilities:

    • Identifies code bottlenecks.

    • Analyzes algorithmic complexity.

    • Recommends optimizations (e.g., efficient data structures, caching).

3. Documentation

generate_documentation

  • Description: Automatically generates and maintains code documentation.

  • Capabilities:

    • Summaries: Creates overviews of a module's purpose and functionality.

    • Function/Class Docs: Extracts docstrings to detail inputs, outputs, and purpose.

    • Usage Examples: Generates code snippets demonstrating module usage.

    • Gap Identification: Detects code sections lacking documentation.

4. Accessibility

check_accessibility

  • Description: Ensures that UI-related modules are accessible to all users, including those with disabilities, by checking against standards like WCAG.

  • Focus Areas:

    • Semantic Validation: Correct use of HTML tags.

    • ARIA Attributes: Proper implementation of ARIA for assistive technologies.

    • Color Contrast: Ensures text is legible.

    • Form Accessibility: Checks for proper labeling and clear instructions.

    • Keyboard Navigation: Confirms all interactive elements are keyboard-accessible.

5. Module Evaluation & Progress Tracking

validate_requirements

  • Description: Compares the implemented module against its initial requirements to ensure all functional and non-functional specifications have been met.

  • Capabilities:

    • Parses the plan_module output.

    • Maps implemented features back to the requirements document.

    • Identifies any deviations or unimplemented requirements.

track_progress

  • Description: Provides an overview of the module's development status.

  • Capabilities:

    • Analyzes commit history and code changes to measure progress.

    • Compares the current state against the proposed file structure and milestones.

    • Generates a progress report, highlighting completed, in-progress, and pending tasks.

Available Tools

10 tools
analyze_code_qualityC

Analyzes module code to ensure it adheres to best practices

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the project directory to analyze

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior. It implies a read-only analysis but does not state whether it modifies anything, what output it returns, what happens on failure, or what 'best practices' concretely means.

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

Conciseness4/5

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

The description is a single efficient sentence with no filler. It earns its place by stating the core purpose, though 'best practices' is vague and could be more concrete without adding length.

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 one-parameter tool, the description and schema are enough to make the call, but there is no output schema and no behavioral detail, so an agent cannot know what result to expect. The overlap with sibling analysis tools also makes the definition less complete than it should be.

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

Parameters3/5

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

The input schema already documents the only parameter, projectPath, with 100% coverage, so the baseline is 3. The description adds no extra parameter-level detail beyond what the schema provides.

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

Purpose4/5

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

The description names a clear verb ('analyzes') and a clear resource ('module code'), so an agent can see this is a code-analysis operation. However, 'best practices' is broad and does not distinguish this from siblings like check_security_vulnerabilities or evaluate_performance.

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 choose this tool over its siblings. The description does not mention alternatives, exclusions, or the specific code-quality dimensions it covers, leaving the agent to guess based on the tool name alone.

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

check_accessibilityC

Ensures UI-related modules are accessible according to WCAG standards

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the project directory to check

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says the tool 'ensures' accessibility but does not explain what side effects occur, whether it only reports findings, what happens on failure, or what the agent should expect after invocation.

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

Conciseness4/5

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

The description is a single concise sentence with no filler or repetition. It front-loads the core purpose, though a bit more behavioral detail would make the sentence more valuable.

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

Completeness2/5

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

For a tool with no output schema and no annotations, the description leaves out what the tool returns or how the agent can interpret results. While the tool has only one parameter, the missing behavioral and output context makes it incomplete for an agent deciding whether and how to call 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?

The schema already fully documents the single parameter 'projectPath' with 100% coverage. The description adds no additional parameter-level meaning, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description states a specific action and resource: checking UI-related modules for accessibility per WCAG. It is distinguishable from sibling quality tools like analyze_code_quality or evaluate_performance because it names accessibility specifically. However, it does not explicitly contrast itself with those siblings.

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 the tool is relevant to UI-related modules, but gives no explicit guidance on when to choose this tool over alternatives. There is no mention of when not to use it, prerequisites, or how it fits among the sibling quality-check tools.

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

check_security_vulnerabilitiesB

Scans code for security vulnerabilities and dependency issues

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the project directory to scan

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. It tells the agent the tool scans code and dependencies, but does not disclose whether it modifies files, requires special permissions, accesses the network, or what side effects or outputs to expect. The word 'scans' hints at read-only behavior, but this is not explicit.

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

Conciseness5/5

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

The description is a single concise, front-loaded sentence with no filler words. Every part contributes useful meaning: the action, the target, and the specific areas checked.

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?

Although the tool has only one parameter and a simple schema, there is no output schema and no annotation. The description does not explain what the tool returns or how results are presented, and it omits any operational behavior like whether the scan is read-only. An agent could invoke it, but would be guessing about the outcome and side effects.

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

Parameters3/5

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

The single parameter projectPath already has a complete schema description ('Path to the project directory to scan'), and schema coverage is 100%. The tool description adds context about security/dependency scanning but does not meaningfully extend the meaning of projectPath beyond what the schema provides.

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

Purpose5/5

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

The description uses a specific verb ('Scans') and resource ('code') with a clear scope ('security vulnerabilities and dependency issues'). This distinguishes it from sibling tools like analyze_code_quality and check_accessibility by stating a distinct security-focused purpose.

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

Usage Guidelines3/5

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

The description implies when to use the tool: when security vulnerabilities or dependency issues need to be checked. However, it does not explicitly state when to prefer this over siblings or when not to use it, so the guidance is only implicit.

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

define_module_requirementsB

Generates comprehensive requirements documentation for a new module based on business context and objectives

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleNameYesThe name of the module to define requirements for (e.g., "payments", "notifications")
stakeholdersNoKey stakeholders or users of this module (optional)
businessContextYesBusiness domain or context where this module will operate
moduleDescriptionYesBrief description of the module's purpose and main functionality

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are present, so the description must carry full behavioral disclosure. It states that the tool 'generates' documentation but does not reveal whether this operation is read-only, whether it persists files or records, or what the output format is. This omission matters because 'generates' could imply a side-effectful write.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no redundant content. It states the verb, resource, and context without wasting tokens, which is well suited to the schema-documented 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?

With no output schema, the description should clarify what the tool returns or whether it creates any persistent artifact; it does neither. The input side is well covered by the schema, but the absence of output expectations and side-effect information leaves the agent underinformed for calling the 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?

All four input parameters already have detailed schema descriptions (100% coverage), so the baseline is 3. The tool description adds no param-specific value beyond relating business context to the output, and even mentions 'objectives' without a corresponding parameter, introducing a slight mismatch.

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 ('Generates') and defines a concrete resource ('comprehensive requirements documentation for a new module'), which clearly distinguished it from sibling tools like validate_requirements or generate_documentation. The scope and outcome are immediately apparent.

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

Usage Guidelines3/5

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

The description implies the right context for use ('for a new module', 'based on business context') but does not explicitly state when to prefer this tool over siblings or mention alternatives. There are no when-not-to-use guidelines or exclusion conditions, so the agent is left to infer usage.

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

evaluate_module_progressB

Evaluates the development progress of a specific module by analyzing its source code against main objectives

ParametersJSON Schema
NameRequiredDescriptionDefault
moduleNameYesThe name of the module to evaluate (e.g., "balances", "transactions")
projectPathYesPath to the project directory containing the module
moduleObjectivesYesComma-separated list of the module's main objectives

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 of behavioral disclosure. 'Evaluates' and 'analyzing' imply a read-only operation, which is useful, but the description does not state whether it modifies anything, what output it returns, or any limitations. It provides minimal behavioral context but not a complete picture.

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 purpose and method. There is no redundant information or filler, and it is appropriately sized for a tool with a clear scope.

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 has no output schema and no annotations, yet the description does not describe expected return values, interpretation of progress results, or possible failure modes. It also lacks any usage differentiation, so an agent may not have enough information to confidently select and invoke the tool. The description would be adequate if paired with richer output documentation, but here it remains incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all three parameters clearly. The description reinforces the relationship between source code (projectPath) and objectives (moduleObjectives) but adds no new parameter-level meaning beyond what the schema provides. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool evaluates a module's development progress by comparing source code against main objectives. It identifies the specific verb, resource, and method, though it doesn't explicitly differentiate itself from the similar-sounding track_progress sibling.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives like track_progress or analyze_code_quality. There are no prerequisites, exclusions, or contextual cues beyond the basic purpose, so an agent would have to infer usage from the name and description alone.

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

evaluate_performanceB

Analyzes code performance and identifies bottlenecks

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the project directory to analyze

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 the tool 'analyzes' and 'identifies bottlenecks,' which implies read-only analysis, but it does not explicitly state whether any code is modified, what side effects may occur, or what form the output takes. This leaves important behavior unspecified.

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 states the purpose without wasted words. It is concise, front-loaded, and easy for an agent to parse quickly.

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 tool with one well-documented parameter, this is minimally viable. However, the description does not explain what the analysis output looks like or whether the tool is read-only, and with no output schema and no annotations, those details would help the agent set expectations.

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 the single parameter projectPath with a clear description. The tool description adds no additional meaning or usage detail for this parameter, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool's function: analyzing code performance and identifying bottlenecks. It uses a specific verb and resource, and the focus on 'performance' and 'bottlenecks' helps distinguish it from broader siblings like analyze_code_quality, though it does not explicitly name any alternative.

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 alternatives such as analyze_code_quality or check_security_vulnerabilities. The description only states what the tool does, not the conditions that should trigger its use or any exclusions.

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

generate_documentationC

Automatically generates and maintains code documentation

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoOutput format for documentationmarkdown
projectPathYesPath to the project directory to document

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It implies the tool writes or modifies documentation in the project, but does not state whether it overwrites existing files, creates new files, or requires specific permissions. The word 'automatically' adds minor context, but significant side-effect behavior is left undisclosed.

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

Conciseness4/5

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

The description is a single front-loaded sentence with no filler or repetition. It states the core action immediately. It is concise, though the brevity does sacrifice some behavioral detail that would be helpful.

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

Completeness2/5

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

The schema covers both parameters, but the description omits important context such as output location, overwrite behavior, whether documentation is generated in place, and what the return value is. For a tool with no annotations and no output schema, this leaves the agent without enough information to anticipate the tool's full effects.

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

Parameters3/5

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

Schema coverage is 100%, so the description does not need to re-explain parameters, and it does not. The schema already documents projectPath and format, including the enum options and default. The description adds no extra meaning about parameter semantics, which is acceptable because the schema carries the load.

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

Purpose4/5

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

The description uses a specific verb ('generates and maintains') and a clear resource ('code documentation'), so an agent understands the tool's domain. It is distinct from the listed siblings, which focus on planning, analysis, and quality checks rather than documentation. The word 'maintains' is slightly ambiguous about whether it updates existing docs, but overall the purpose is 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?

There is no guidance on when to choose this tool over alternatives or what conditions warrant its use. It does not mention prerequisites, project size considerations, or that this should be run after code changes. The agent must infer usage purely from the tool name and sibling list.

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

plan_moduleA

Takes a high-level module description and generates a detailed development plan in Markdown format

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesHigh-level description of the module to be planned

TDQS

A4.1/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 transparently states the transformation from high-level description to Markdown plan, but it does not disclose any limitations, side effects, or assumptions about the planning process. For a generative tool this is acceptable but not especially rich.

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

Conciseness5/5

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

The description is a single, well-structured sentence that front-loads the action ('Takes... generates') and includes the key output format. There is no wasted or redundant wording.

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

Completeness5/5

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

Given that the tool has only one required parameter and no output schema, the description is complete enough for an agent to invoke it correctly. It specifies the input type and the output format, which is all that is materially needed here.

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

Parameters3/5

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

The schema has 100% description coverage for the single parameter, and the tool description matches that meaning by calling it a 'high-level module description'. The description adds no further details about length, format, or expected detail level, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('generates') and a clear resource ('detailed development plan in Markdown format'), making the tool's purpose immediately identifiable. It also differentiates from siblings like define_module_requirements by focusing on the planning output rather than requirement definition.

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

Usage Guidelines4/5

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

The description clearly implies when to use the tool: when given a high-level module description that needs to be turned into a development plan. It does not explicitly mention alternatives or when not to use it, but the context is clear enough for an agent to select it.

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

track_progressC

Provides an overview of module development status

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the project directory

TDQS

C2.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 must fully disclose behavioral traits. It implies a read-only overview but never explicitly states that no side effects occur, what data is read, or what the tool returns. The absence of any behavioral context beyond 'provides an overview' 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.

Conciseness3/5

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

The description is a single terse sentence with no redundant wording, but it is under-specified rather than efficiently complete. It front-loads the core action yet lacks the substance needed for confident tool selection.

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 one required parameter and no output schema, the description still leaves major context missing: what 'overview' contains, what the result looks like, and how this differs from similar sibling tools. An agent would not know what to expect when 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?

The schema fully documents the only parameter as 'Path to the project directory', giving 100% schema description coverage. The description adds no additional meaning about path format, validity expectations, or how the path relates to the overview, so the baseline score of 3 is appropriate.

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

Purpose3/5

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

The description states a general action and resource: 'Provides an overview of module development status.' However, 'overview' is vague and does not specify what aspects of status are included, and it does not distinguish this tool from the sibling 'evaluate_module_progress', which sounds nearly identical.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool versus alternatives. The sibling list includes several process/quality assessment tools, but the description gives no criteria for choosing 'track_progress' over 'evaluate_module_progress' or other related tools.

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

validate_requirementsB

Compares implemented module against initial requirements

ParametersJSON Schema
NameRequiredDescriptionDefault
projectPathYesPath to the project directory
requirementsPathYesPath to the requirements document

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of disclosing behavior. It says only that the tool 'compares' but does not state whether it is read-only, what output it produces, how the comparison is performed, or what failure cases exist.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that states the action and the two entities involved. It contains no filler or repetition and earns every word.

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 leaves important context missing: what the tool returns, whether it produces a report or diff, and how success or failure is represented. An agent has enough to attempt invocation but not enough to interpret the result 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%, with both 'projectPath' and 'requirementsPath' already described as paths. The tool description adds no parameter-specific meaning beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose4/5

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

The description uses a specific verb and resource: 'Compares implemented module against initial requirements.' It clearly identifies the tool's core purpose and distinguishes it from quality, security, and performance checks among the siblings, though it does not explicitly name alternatives.

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

Usage Guidelines3/5

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

Usage context is implied: an agent can infer this tool is for validating whether the implementation matches requirements. However, there is no explicit guidance on when to prefer it over siblings like evaluate_module_progress or track_progress, nor any exclusion criteria.

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. 10 tool updatesv1.0.0
    • First observedanalyze_code_quality
    • First observedcheck_accessibility
    • First observedcheck_security_vulnerabilities
    • First observeddefine_module_requirements
    • First observedevaluate_module_progress
    • First observedevaluate_performance
    • First observedgenerate_documentation
    • First observedplan_module
    • First observedtrack_progress
    • First observedvalidate_requirements

TDQS

B3.3/5.0
Disambiguation3/5

Most tools have clearly distinct purposes, but track_progress and evaluate_module_progress overlap significantly in tracking module status, and plan_module vs define_module_requirements could be confused for similar planning activities. Overall, descriptions reduce most ambiguity, but these pairs create potential misselection.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern, such as plan_module, analyze_code_quality, and generate_documentation. The naming convention is uniform and predictable across the entire set.

Tool Count5/5

The server has 10 tools, which is well-scoped for a module development workflow covering planning, requirements, analysis, documentation, validation, and progress tracking. Each tool contributes a distinct phase of the lifecycle without unnecessary bloat.

Completeness4/5

The toolset covers major module development phases well, from requirements and planning through quality, security, performance, accessibility, documentation, and progress validation. Minor gaps exist, such as no explicit tool for listing or selecting modules, and the overlap between progress-related tools leaves some lifecycle aspects somewhat redundant.

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/jacm-dev/module-craft'

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