Skip to main content
Glama
PackkitLabs

packkit-mcp

Official

Server Quality Checklist

83%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.2.0

  • Disambiguation5/5

    Each tool targets a distinct phase: discovery (list_generators, list_presets), schema inspection (get_generator_schema), generation (generate_project), and upgrade planning (plan_upgrade). No overlapping purposes; the descriptions reinforce clear boundaries.

    Naming Consistency5/5

    All tool names follow the verb_noun pattern consistently: list_generators, list_presets, get_generator_schema, generate_project, plan_upgrade. The naming style is uniform and predictable.

    Tool Count5/5

    5 tools is well within the typical 3-15 range and perfectly scoped for a project generation/upgrade server. Each tool serves a necessary function, with no redundancy or bloat.

    Completeness4/5

    The core workflow (discover generators → inspect presets/schema → generate) is fully covered. A minor gap exists in that plan_upgrade only reports a plan without a corresponding tool to apply the upgrade, but the primary lifecycle is otherwise complete.

  • Average 4.4/5 across 5 of 5 tools scored.

    See the Tool Scores section below for per-tool breakdowns.

    • No community issues in the last 6 months
    • 17 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • This repository includes a glama.json configuration file.

  • This server has been verified by its author.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • Behavior4/5

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

    With no annotations, the description carries the behavioral burden and does well by disclosing the tool returns a full option schema including choices and defaults, which implies a read-only operation. It also explains the intent (validation before generation), adding useful context beyond a simple 'get' statement.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with the action 'Return', and contains no redundant words. The second sentence adds crucial usage context without bloating the text.

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

    Completeness5/5

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

    For a one-parameter read-only tool with no output schema, the description fully covers return content (JSON with every option, choices, defaults), the input (generator), and the usage context (read before generate_project). It is complete within its scope.

    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 sole parameter 'generator' is fully documented in the schema as 'Generator id from list_generators', giving 100% schema coverage. The description adds minimal new information about the parameter itself, only pointing to generate_project context, 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 uses the specific verb 'Return' and clearly specifies the resource: 'a generator's full option schema'. It distinguishes itself from siblings like list_generators by focusing on detailed schema retrieval and mentions the output format (JSON) with relevant details (options, choices, defaults).

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

    Usage Guidelines4/5

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

    It explicitly advises reading this before passing a config to generate_project, providing strong when-to-use context. Though it doesn't state exclusions or alternatives, the prerequisite relationship is clear and actionable.

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

  • Behavior4/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 experimental presets are hidden unless includeExperimental is true, and notes each preset comes with a description and maturity. This is useful behavioral context beyond a simple 'list' action.

    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, information-dense sentence. It front-loads the core purpose and includes examples, behavioral notes, and usage guidance without unnecessary words.

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

    Completeness5/5

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

    For a simple listing tool with two documented parameters and no output schema, the description covers the essential details: what is returned (presets with description and maturity), the experimental filtering behavior, and how to choose a preset. It is complete enough for an agent to use 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 baseline is 3. The description adds examples of preset names and clarifies the output, but it does not significantly expand on the parameter meanings beyond what the schema already provides.

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

    Purpose5/5

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

    The description uses a specific verb and resource ('List the presets a generator offers'), provides concrete examples (e.g., ts-lib, py-cli), and clearly distinguishes from sibling tools like list_generators (which lists generators) and generate_project (which creates projects).

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

    Usage Guidelines4/5

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

    The description gives clear usage context: choose a preset that matches the user's desired shape instead of guessing. It implies this tool should be used after picking a generator and before generating. It does not explicitly name alternatives or exclusions, but the guidance is strong enough to merit a 4.

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

  • Behavior4/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 tool writes nothing, explains the three-way diff approach, and notes the generator requirement. It does not describe failure modes or return format, but the core behavioral traits are covered.

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

    Conciseness5/5

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

    The description is two sentences, front-loaded with purpose and then behavior and requirement. Every clause adds information without redundancy or filler.

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

    Completeness3/5

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

    Given there is no output schema, the description should explain what the plan report looks like, but it only says 'Reports the plan only' without specifying the plan's structure or contents. This is a clear gap, though the tool's essential behavior is otherwise well described.

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

    Parameters4/5

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

    Schema coverage is 100%, so baseline is 3. The description adds extra meaning by stating the generator must support baseline-upgrade, which is a constraint beyond the schema's 'Generator id from list_generators' description.

    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: planning a re-scaffold of an existing project. It distinguishes itself from siblings by specifying a three-way diff and explicitly noting it writes nothing, which separates it from generate_project and the list/schema tools.

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

    Usage Guidelines4/5

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

    The description gives clear context: use for re-scaffold planning, and it includes a prerequisite ('Requires a generator that supports baseline-upgrade'). However, it does not explicitly name alternatives or state exclusions, such as 'use generate_project to apply the changes'.

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

  • Behavior4/5

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

    With no annotations, the description carries the burden. It discloses the critical default behavior: 'By default PREVIEWS; pass write: true to scaffold under <directory>/<name>.' It also mentions language neutrality and the output contract. It does not detail side effects like error handling, but this is adequate for a generator 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 three sentences with no filler, front-loading the core purpose and then adding practical details (preview default, destination). Every sentence contributes useful information.

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

    Completeness4/5

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

    Despite having 9 parameters and no output schema, the description gives a comprehensive overview: composition purpose, generator-agnosticism, output structure, and write behavior. It could explain the preview output format more, but it is sufficiently complete for an agent to select and invoke the tool.

    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 description coverage is 100%, providing a baseline of 3. The description adds value by clarifying the roles of frontend/backend types (static frontend, HTTP service backend), and by explaining the write/directory/name relationship and default subdirectories (apps/web, apps/server). This goes beyond the schema's individual parameter descriptions.

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

    Purpose5/5

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

    The description uses a specific verb 'Compose' with clear resources: a static frontend and an HTTP service backend, and specifies the output structure (apps/web + apps/server) along with a deployment contract and docker-compose. This distinguishes it from sibling tools like generate_project which likely handles single projects.

    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 for when to use the tool: when composing two projects from any generators into a fullstack repo. It also explains the preview vs write mode. However, it does not explicitly name alternatives or state when not to use it, so it does not reach a 5.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the full disclosure burden. It clearly reveals that the default is a non-destructive preview, that write touches disk under '<directory>/<name>', and that existing files are never overwritten without force. This provides crucial side-effect information, though it does not cover auth requirements or error states.

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

    Conciseness5/5

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

    The description is three sentences, front-loaded with the main action, and covers all key behaviors (preview, write, force, prerequisite) without redundancy. Every sentence earns its place, making it easy to parse and act upon.

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

    Completeness4/5

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

    The description addresses the main behaviors, including the preview return payload (file tree, stack summary, deployment contract). However, it does not state what the write mode returns or how config/preset interactions work in detail, leaving some gaps for a 7-param tool with no output schema. Overall it is mostly complete but could be slightly more thorough.

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

    Parameters4/5

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

    The schema already covers all 7 parameters at 100% coverage, so the baseline is 3. The description adds meaning by linking 'write: true' to the path '<directory>/<name>' and by indicating that preset/config come from list_presets/get_generator_schema. This enriches the schema with contextual usage that helps the agent choose and set parameters correctly.

    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 identifies the action: 'Generate a project with a generator,' and distinguishes it from sibling tools that list or inspect (list_generators, get_generator_schema, plan_upgrade). It also states the key modes (preview vs write), leaving no ambiguity about the tool's purpose.

    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 explicitly advises 'Call list_presets / get_generator_schema first,' establishing a clear sequence. It explains when to use the default preview mode versus write:true, but it does not discuss when to use plan_upgrade or other alternatives, leaving some room for guidance improvement.

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

  • Behavior4/5

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

    With no annotations provided, the description carries the burden of behavioral disclosure. It effectively communicates that the tool returns a list of generators with maturity and protocol capabilities, which is the core output. While it does not explicitly state read-only behavior or mention prerequisites like authentication, the verb 'lists' reasonably implies a non-destructive operation, and the included details give valuable context for the agent.

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

    Conciseness5/5

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

    The description is three sentences, each earning its place: 'START HERE' front-loads urgency, the second sentence defines the tool, and the third provides actionable guidance. There is no unnecessary detail or repetition, making it highly concise and well-structured.

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

    Completeness5/5

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

    Given the tool has no parameters and no output schema, the description fully compensates by stating exactly what will be returned (list of generators with maturity and protocol capabilities) and how to proceed. The workflow guidance to call list_presets and get_generator_schema makes the description complete for correct invocation and integration with sibling tools.

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

    Parameters4/5

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

    The input schema has zero parameters, so per the guidelines, the baseline is 4. The description appropriately does not attempt to explain nonexistent parameters but does offer examples of generator languages (javascript, python, go) that hint at the nature of the data returned, slightly enriching the schema information.

    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 that the tool lists every Packkit generator with maturity and protocol capabilities, using the specific verb 'lists' and resource 'every Packkit generator.' It also distinguishes itself from sibling tools by explicitly naming follow-up actions (call list_presets and get_generator_schema), which positions its unique role in the workflow.

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

    Usage Guidelines5/5

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

    The description provides explicit when-to-use guidance with 'START HERE' and instructs the agent to pick a generator based on language match, then call list_presets and get_generator_schema before generating. This clearly implies this is the entry point and directs the flow to sibling tools, offering strong usage context.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

packkit-mcp MCP server

Copy to your README.md:

Score Badge

packkit-mcp MCP server

Copy to your README.md:

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/PackkitLabs/packkit-mcp'

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