Skip to main content
Glama

Dockyard — MCP server for the app catalog

Server Details

The Dockyard catalog describes ready-made Docker apps. Once you add this MCP server, your agent can find an app and deploy it for you: in local Docker or in your own Portainer.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL

TDQS

A4.2/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct role: list_apps for search/short cards, get_app for full detail on one app, and prepare_deploy for generating a deployment plan. The descriptions explicitly cross-reference each other (list_apps returns cards, detail comes from get_app/prepare_deploy), leaving no real overlap.

Naming Consistency5/5

All three names follow a consistent verb_noun snake_case pattern (list_apps, get_app, prepare_deploy). The verbs (list/get/prepare) map predictably onto the browse/detail/plan workflow.

Tool Count4/5

Three tools is on the lean side but coherent for a read-only catalog that also does deployment planning. It is slightly under-scoped since there is no way to register or modify catalog entries, but no tool feels redundant.

Completeness4/5

The read→detail→deploy-plan lifecycle is covered, including safe secret handling and a confirmation gate. The main gap is the absence of any write operations (adding/updating catalog apps or executing a deployment), which agents may need but could work around out of band.

Available Tools

3 tools
get_appAInspect

Jedna aplikacja po slug z list_apps: opis, obraz albo repozytorium stosu, porty, wolumeny, zmienne (sekrety oznaczone), ostrzeżenia. Nic nie uruchamia.

ParametersJSON Schema
NameRequiredDescriptionDefault
slugYesPole slug z list_apps.

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations the description carries the full behavioral burden, and it does well: it enumerates the returned content (opis, obraz/repozytorium, porty, wolumeny, zmienne z oznaczonymi sekretami, ostrzeżenia) and explicitly declares no side effects ("Nic nie uruchamia"), i.e. it does not trigger a deployment. It stops short of covering auth, rate limits or error behavior.

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 dense sentence, front-loaded with the identifier and followed by the return contents plus the key negative guarantee. Every clause (fields listed, "Nic nie uruchamia") earns its place with zero filler.

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

Completeness4/5

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

No output schema exists, so the description must describe returns — and it does, enumerating the fields an agent can expect. For a one-parameter read tool with no annotations this is nearly complete; only error/edge behavior is omitted.

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?

There is a single parameter and schema description coverage is 100%; the schema already documents slug as coming from list_apps, so the description's restatement adds no new syntax or format detail. Baseline 3 applies when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb+resource ("Jedna aplikacja po slug z list_apps" = one app by slug from list_apps) and its retrieval scope. It is immediately distinguishable from the sibling list_apps, which returns all apps rather than one.

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?

Explicitly tells the agent where the slug comes from (list_apps), establishing the natural call sequence, and "Nic nie uruchamia" implicitly separates it from prepare_deploy. It does not, however, state when this tool should be skipped or give explicit alternative-routing conditions.

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

list_appsAInspect

Szuka aplikacji w katalogu Dockyard. Zwraca krótkie karty (slug, tytuł, kategoria, rodzaj, obraz). Pełny opis i plan wdrożenia biorą się z get_app i prepare_deploy.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoRodzaj wpisu.
limitNoDomyślnie 20, maksimum 50.
queryNoSłowa z nazwy, opisu, obrazu albo kategorii. Wszystkie muszą pasować.
offsetNo
categoryNoDokładna kategoria, bez rozróżniania wielkości liter.

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description carries the full behavioral burden. It usefully discloses the return shape (short cards: slug, title, category, kind, image), but says nothing about pagination limits (limit/offset exist in the schema), ordering, or permissions.

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

Conciseness5/5

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

Three tight sentences, front-loaded with the purpose and followed immediately by return contents and routing. Nothing is wasted.

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

Completeness4/5

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

Because there is no output schema, the description usefully specifies the returned card fields and points to the siblings for deeper data. It stops short of covering pagination behavior, which an agent needs for large catalogs.

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

Parameters3/5

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

Schema description coverage is 80%, so the schema already documents query, category, kind and limit. The description adds no parameter-level semantics beyond naming the returned fields, which is the correct baseline when the schema does the heavy lifting.

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

Purpose5/5

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

States a specific verb and resource ('Szuka aplikacji w katalogu Dockyard') and explicitly distinguishes itself from both siblings by naming what get_app and prepare_deploy supply instead. An agent can tell it apart from the alternatives without opening any schema.

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

Usage Guidelines4/5

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

The final sentence routes the agent: full detail comes from get_app, the deployment plan from prepare_deploy, implying this tool is the lightweight discovery step. It gives clear context and alternatives but does not state exclusions for list_apps itself (e.g. when not to search).

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

prepare_deployAInspect

Składa plan wdrożenia dla Dockera i dla Portainera. Nie łączy się z żadnym z nich. Uruchom plan na maszynie użytkownika tylko gdy ready jest true i użytkownik wybrał cel. Klucza Portainera i haseł aplikacji tu nie przysyłaj: sekrety wymień lokalnie w miejsce CHANGEME, a ich nazwy podaj w local_secrets. confirm=true dopiero po wyraźnej zgodzie użytkownika.

ParametersJSON Schema
NameRequiredDescriptionDefault
envNoNadpisania zmiennych, które nie są sekretami.
nameNoNazwa projektu i stosu. Domyślnie slug.
slugYes
confirmNotrue tylko po wyraźnej zgodzie na wdrożenie.
data_dirNoKatalog projektu na maszynie użytkownika. Domyślnie ./dockyard/<nazwa>.
local_secretsNoNazwy sekretów, które agent uzupełni lokalnie. W planie stoją jako CHANGEME.
allow_privilegedNoOsobna zgoda na zgłoszone uprawnienia hosta i sprawdzone pliki include/extends.
allow_default_secretsNo

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations the description must carry the behavioral load, and it does: it discloses that no Docker/Portainer connection occurs, that secrets are never transmitted but emitted as CHANGEME placeholders, and that confirm requires explicit user consent. It still omits permission/privilege implications and only alludes to the 'ready' output flag.

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?

Four dense sentences, front-loaded with what the tool produces and immediately followed by the safety constraints. Nearly every sentence earns its place, though the trailing consent rule is somewhat redundant with the schema's confirm description.

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

Completeness4/5

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

For an 8-parameter, no-output-schema, no-annotation tool the description covers secrets handling, consent, and readiness gating well. Gaps remain around allow_privileged/allow_default_secrets semantics and what the produced plan contains, but the critical safety context is present.

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 75%, so most parameters are already documented; the description nonetheless adds real meaning for local_secrets (names of secrets left as CHANGEME) and confirm (explicit-consent gating). allow_default_secrets remains unexplained in both schema and 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?

States a specific verb and artifact ('Składa plan wdrożenia') plus the two targets (Docker, Portainer) and explicitly negates network contact. This is unambiguous against the retrieval-oriented siblings get_app and list_apps.

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?

Gives clear preconditions for acting on the plan ('tylko gdy ready jest true i użytkownik wybrał cel') and a gating rule for confirm ('dopiero po wyraźnej zgodzie użytkownika'), plus an explicit prohibition on sending credentials. It never names alternatives, though none of the siblings is a real substitute.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedget_app
    • First observedlist_apps
    • First observedprepare_deploy

Publisher details

Operator
PawełBauer · Publisher source
Vendor relationship
Not available
Trust center
Not available
Restrictions
Not available

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Perplexity for social: ask what competitors are running across social and get answers grounded in real ad and creative data, not guesses.
    2
    Apache 2.0
  • A
    license
    A
    quality
    C
    maintenance
    Enables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.
    16
    4 npm
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Browse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources