Skip to main content
Glama
alexar76

aimarket-mcp-packager

generate_dockerfile

Creates a Dockerfile that builds a self-hosted MCP server image for a specified capability, requiring only 'docker build' to deploy.

Instructions

Generate a ready-to-build Dockerfile for the packaged MCP server.

Takes the same capability inputs as package_capability and returns the Dockerfile text that builds the self-hosted MCP server image for it.

Returns: The Dockerfile contents as plain text — write it to Dockerfile and run docker build to produce the image named in package_capability's docker_image field.

Example: generate_dockerfile( capability_id="translate.multi@v2", product_id="prod-translate", name="Lyra Translator", )

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesHuman-readable display name for the packaged MCP server, shown to end users in MCP clients such as Claude Desktop (e.g. 'Lyra Translator').
registryNoContainer registry namespace for the built image. Defaults to 'aifactory'. Set your own org/namespace to publish under a different account (e.g. 'ghcr.io/acme').aifactory
product_idYesOwning product ID on the AIMarket hub, e.g. 'prod-translate'. Used to namespace the Docker image and the MCP manifest.
descriptionNoOne- or two-sentence summary of what the capability does. Surfaced in the MCP manifest and the Claude Desktop config. Optional but strongly recommended — it becomes the tool description in the generated server.
input_schemaNoJSON Schema object describing the capability's input. For example, an object with a required string property 'text'. Omit or pass null for a schema-less capability.
capability_idYesFully-qualified capability identifier to package, e.g. 'translate.multi@v2'. This is the single capability the generated MCP server will expose as a tool.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes
Behavior4/5

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

No annotations are provided, so the description carries full burden. It discloses that the tool returns Dockerfile contents as plain text and directs the user to write to file and run docker build. It also references the `docker_image` field from `package_capability`, which adds context. No behavioral surprises or contradictions.

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 paragraph with a Returns section and an example. It is efficient and front-loaded, but could be slightly more structured (e.g., bullet points for clarity). No wasted sentences.

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

Completeness4/5

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

Given the simplicity of the tool, the description sufficiently covers the return value and usage pattern. It references the sibling's output field, which adds necessary cross-tool context. The tool has an output schema (implied) and the description explains the return format adequately.

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 some context (e.g., takes same inputs as `package_capability` and shows an example) but does not significantly enhance the meaning of individual parameters beyond what the schema already provides.

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

Purpose5/5

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

Clearly states it generates a Dockerfile for a packaged MCP server, with explicit reference to the sibling tool `package_capability` for context. The verb 'generate' combined with the resource 'Dockerfile' is specific and distinguishable from siblings.

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?

Indirectly implies usage after `package_capability` by referencing its inputs, but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned; however, sibling tools have distinct purposes, so the need for guidance is moderate.

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

Install Server

Other Tools

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/alexar76/aimarket-plugins'

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