プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Dockyard

作者:bauerpawelバージョン 1.0.0i★ –iクラウドで動く
レジストリ名io.github.bauerpawel/dockyard

インストール

概要

作者による説明(英語の原文)

Search 600+ Docker/Portainer app templates and prepare a local deploy plan.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: クラウドで動く
  • トランスポート: Streamable HTTP
  • カテゴリ: 開発者ツール

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • 作者のサーバーで動きます。あなたが頼んだ内容は、作者のサーバーを通ります。
  • レジストリには、入力が必要なキーは載っていません。

必要なもの

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

ウェブ、デスクトップ、モバイルのClaudeで使えます:

  1. Settings → Connectors を開く
  2. Add custom connector を押す
  3. 下のアドレスを貼り付けて Add を押す
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Add2https://…3
https://dockyard.kim1.ovh/mcp

ターミナルでこれを実行します

claude mcp add --transport http dockyard https://dockyard.kim1.ovh/mcp

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "dockyard": {
      "url": "https://dockyard.kim1.ovh/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "dockyard": {
      "type": "http",
      "url": "https://dockyard.kim1.ovh/mcp"
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

ChatGPTがつなげるのは、インターネット上のサーバーだけです:

  1. ウェブ版のChatGPTを開き → Settings → Connectors (Apps)
  2. Create または Add を押す(プランによっては、先に Advanced で Developer mode をオンにする必要があります)
  3. 下のアドレスを貼り付け、名前を付けて保存する
  4. サインインを求められたら、作者のサービスにサインインする
SettingsConnectors1+ Create2https://…3
https://dockyard.kim1.ovh/mcp

メニューの名前は、プランや時期によって少し違うことがあります。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント bauerpawel で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    エンドポイントが応答する

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    OAuthでサインイン

    まだチェックしていません。エンドポイントは順番にチェックしています

  • … 未チェック

    ツールの説明に隠れた指示がない

    まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります

開発者ツールのほかのサーバーとの比較i

  • このカテゴリのほかの1392件のうち0%よりスターが多い
  • このカテゴリのほかの1392件のうち82%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの1392件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Dockyardは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

レジストリには必須のキーは載っていません。ただし、最初に使うときにサインインを求めるサーバーもあります。

パソコンで動きますか、それともクラウドですか?

作者のクラウドで動きます。インストール不要でインターネット経由でつながりますが、送った内容は作者のサーバーを通ります。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.0.0)がレジストリに届いたのは9 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。

代わりに使えるものは?

同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

GitHub

作者:github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

パソコンでもクラウドでも★ 34,245MIT3 日前更新
インストール

Desktop Commander

作者:wonderwhy-er

MCP server for terminal commands, file operations, and process management

パソコンで動く★ 10,225MIT15 日前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

A set of 700+ Portainer app templates (v3 format), plus a browsable static website ("Dockyard") for finding them.

Everything is generated from a single source of truth — one YAML file per app in apps/ — by a small Python CLI. That CLI produces two things:

  1. `templates.json` — paste its raw URL into Portainer's *Settings → App Templates → URL* to get one-click deploys for every app in the gallery.
  2. `docs/` — the Dockyard website: cards with logo, description, category and links, searchable and filterable.

Using the feed in Portainer

  1. Open Portainer and go to Settings → App Templates.
  2. Paste this URL into the URL field:
   https://cdn.jsdelivr.net/gh/bauerpawel/DOCKYARD@main/templates.json
  1. Save.
  2. Open App Templates in the sidebar (under an environment) — every app below is now one click away from deployment.

Requires a Portainer version that supports v3 app templates.

See local app setup for Open WebUI, Ollama, Backrest, Pocket ID, BentoPDF, Pangolin, Appwrite, Plane with RustFS and the Hoarder-to-Karakeep migration. These templates use pinned images; supply required secrets and deployment settings before starting a stack.

The 2FAuth–Dispatcharr setup guide covers twenty more applications, including Hoppscotch, Rybbit, Sure and Bar Assistant, with pinned images, local Compose stacks and first-start instructions.

The Dockhand–Cleanuparr setup guide adds monitoring, networking, support and media applications, including ERPNext and ZITADEL, with initialization steps and host-access requirements.

The Garage–Workout.cool setup guide covers another twenty applications for storage, certificates, documents, collaboration and development, including initialization commands and persistent-data requirements.

The Spoolman–Temporal setup guide covers filament tracking, scheduling, collaboration, media and workflow infrastructure. It details the Cal.diy compatibility image, AMD64 requirements and service initialization.

The feed is served through jsDelivr's CDN rather than raw.githubusercontent.com directly, for faster, more reliable loading worldwide. The scheduled workflows (below) purge jsDelivr's cache after every rebuild, so Portainer always sees the latest templates.json within seconds of a change landing on main.

The website

Browse the same catalog at https://dockyard.kim1.ovh — search by name, filter by category, and click any app's name/logo/description to expand the full description. Each card links to the app's Docker Hub page and (where known) its own source/homepage.

The interface is available in English, Polish, German and French. It follows the browser's language, the switcher in the header changes it, and ?lang=pl (or de, fr) links straight to a version. The strings live in site_src/i18n.json; app descriptions stay in English. The build also writes robots.txt, sitemap.xml and the search-engine metadata (canonical URL, hreflang alternates, Open Graph card, JSON-LD) for the domain named in site_src/CNAME.

MCP server for AI agents

The catalog is also available to AI agents through an MCP server:

https://dockyard.kim1.ovh/mcp

With it, Claude, Codex, Grok, Gemini CLI, Cursor, VS Code and other MCP clients can search the apps (list_apps), read an app's details (get_app) and prepare a deployment plan (prepare_deploy). The server only describes apps and builds the plan: it has no access to your Docker or Portainer, and the agent deploys on your machine after you confirm.

Add it to Claude Code with:

claude mcp add --scope user --transport http dockyard https://dockyard.kim1.ovh/mcp

For other clients, open the address in a browser. It shows setup instructions in English, Polish, German and French.

Quick start

Requires Python 3.14+.

The fastest way to (re)build everything from apps/ and stacks/ — sets up .venv if needed, builds templates.json + docs/, and validates the result. This does not talk to Docker Hub (see Keeping metadata fresh below):

run.bat                 # Windows

./run.sh # Linux / macOS

Extra arguments are passed through to gallery build, e.g. run.bat --repo-url https://github.com/bauerpawel/DOCKYARD.

The default URL comes from repository.json. Forks should update that file or use --repo-url; a successful build saves the override there so the feed, website and MCP agree on repository identity. Placeholder OWNER/REPO URLs are rejected.

For manual/step-by-step control:

python -m venv .venv

.venv/Scripts/activate # or: source .venv/bin/activate on Linux/macOS pip install -e ".[dev]"

python -m gallery fetch-metadata # refresh Docker Hub descriptions (cache/dockerhub.json) python -m gallery build # -> templates.json + docs/ python -m gallery validate # check templates.json against Portainer's v3 schema pytest # run the test suite

Open docs/index.html directly in a browser to preview the site locally.

Hosting metadata also comes from site_src/: edit site_src/CNAME for a custom domain, or remove it for the default Pages domain. An optional site_src/.nojekyll is copied as well. site_src/MCP_URL holds the address of the MCP server that the site advertises under the feed URL; change it to your own server or remove the file to leave the note out.

Builds validate app YAML against schema/app_schema.json and the generated feed against the Portainer schema before publishing. Rendering and asset copying happen in a temporary directory. A failed publication restores the previous feed, site and repository configuration; a failed rollback preserves the backup directory and reports its path.

The full integration suite also uses PHP 8.2+, Node.js 18+ and the Docker Compose CLI. Compose tests run config only and require no Docker daemon or running containers.

Security checks

Install the audit tool with pip install -e ".[dev,audit]". In an activated virtual environment:

python -m pip freeze --exclude-editable > .venv/audit-requirements.txt

python -m pip_audit -r .venv/audit-requirements.txt --no-deps --disable-pip --strict --progress-spinner off

The snapshot includes installed transitive and development dependencies. CI installs Python packages from requirements/build.txt and requirements/requirements-dev.txt, locked with hashes and a seven-day cooldown for new releases; after changing dependencies in pyproject.toml, rerun the uv pip compile command in each file's header. That command keeps existing pins, so add --upgrade (or --upgrade-package ) to raise locked versions, for example to clear an audit finding. The CI checks run tests, build/validation, and a dependency audit on pushes, pull requests, and every Monday. Dependabot checks Python packages, Composer dependencies and pinned GitHub Actions weekly. See SECURITY_AUDIT.md for the audit scope and findings.

The MCP YAML parser is bundled under mcp/vendor/ with its licenses and mcp/composer.lock. Run composer audit --working-dir=mcp --locked --no-dev to check PHP dependencies. To update them, run composer update --working-dir=mcp --no-dev and commit the lockfile together with mcp/vendor/. Dependabot's Composer PRs change only the lockfile, so run that command on their branch before merging: deploy/refresh.php refuses a release whose mcp/vendor/ does not match the lock, and the refresh tests fail.

MCP plans run on the user's machine, so the server only hands out what it can verify. Stackfiles from other repositories are served at the commit and SHA-256 pinned in stacks.lock.json; an upstream change reaches plans only after review and python -m gallery pin-stacks --update. Compose is checked against an allowlist: host paths outside the data directories, build, external resources, unknown keys and variables the plan does not set need allow_privileged, and a stack that substitutes PORTAINER_* is always blocked.

Local stacks under stacks/ require nonempty passwords supplied through the app's environment fields in Portainer or a local .env file. For MCP plans, use local_secrets and replace CHANGEME locally. Keep the database password already used by an existing volume when redeploying; changing the .env value alone does not rotate database credentials. n8n uses its owner account setup in the web UI, not the removed N8N_BASIC_AUTH_* settings.

Keeping metadata fresh

gallery fetch-metadata is the only command that talks to Docker Hub. It's deliberately kept out of run.bat/run.sh's default flow so a routine rebuild never risks Docker Hub's anonymous rate limit - gallery build always reads whatever is already cached in cache/dockerhub.json.

Two scheduled GitHub Actions workflows handle both cadences automatically (see .github/workflows/):

  • `build.yml` - runs on every push to main (so a newly added app template goes live right away, and any direct change to templates.json still gets its jsDelivr cache purged even if it didn't go through apps//stacks/), plus every Saturday as a safety net. Rebuilds templates.json + docs/, commits if anything changed, and purges jsDelivr's cache for templates.json and stacks.lock.json. Also runnable on demand from the Actions tab.
  • `refresh-dockerhub.yml` - on the 1st of each month (the closest calendar-cron equivalent to "every 30 days"), refreshes cache/dockerhub.json, rebuilds, and commits.

Both build with a read-only token and the hash-pinned packages in requirements/build.txt. A separate job (publish-generated.yml) runs no Python packages and commits only the generated files. main requires the test (3.14) and audit checks, so the job pushes the commit to a temporary publish/* branch, runs the tests there, records the passed jobs as commit statuses and only then moves main to that commit.

Run python -m gallery fetch-metadata locally any time you want an out-of-band refresh.

Adding a new app

See CONTRIBUTING.md for the full guide (field reference, category list, and how to source a trustworthy logo/website/image). Short version:

python -m gallery new my-app --type container   # or --type compose

This scaffolds apps/my-app.yaml. Fill in the fields:

name: My App

slug: my-app category: Utilities type: container # container | compose image: namespace/my-app:latest # required - must be a real Docker Hub image compose: null # required for type=compose instead, e.g. stacks/my-app/docker-compose.yml description: null # null = auto-fetch from Docker Hub; or write your own text note: null # optional - Portainer deployment instructions; HTML supported logo: https://.../my-app.png # required website: https://github.com/... # optional - the app's own site or source repo network: null # optional, container only - Docker network to attach to, e.g. host command: null # optional, container only - override the container's command privileged: null # optiona

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く