{
  "canonical_name": "Data-Everything/MCP-Platform",
  "compilation_id": "pack_69b301676f404f1e9527e68e735ccd98",
  "created_at": "2026-06-14T03:40:53.234880+00:00",
  "created_by": "project-pack-compiler",
  "feedback": {
    "carrier_selection_notes": [
      "viable_asset_types=mcp_config, recipe, host_instruction, eval, preflight",
      "recommended_asset_types=mcp_config, recipe, host_instruction, eval, preflight"
    ],
    "evidence_delta": {
      "confirmed_claims": [
        "identity_anchor_present",
        "capability_and_host_targets_present",
        "install_path_declared_or_better"
      ],
      "missing_required_fields": [],
      "must_verify_forwarded": [
        "Run or inspect `pip install mcp-platform` in an isolated environment.",
        "Confirm the project exposes the claimed capability to at least one target host."
      ],
      "quickstart_execution_scope": "allowlisted_sandbox_smoke",
      "sandbox_command": "pip install mcp-platform",
      "sandbox_container_image": "python:3.12-slim",
      "sandbox_execution_backend": "docker",
      "sandbox_planner_decision": "llm_execute_isolated_install",
      "sandbox_validation_id": "sbx_4904a10888e946759d3808616e3eb165"
    },
    "feedback_event_type": "project_pack_compilation_feedback",
    "learning_candidate_reasons": [],
    "template_gaps": []
  },
  "identity": {
    "canonical_id": "project_20ba3e0934492c6d83103921d8c01992",
    "canonical_name": "Data-Everything/MCP-Platform",
    "homepage_url": null,
    "license": "unknown",
    "repo_url": "https://github.com/Data-Everything/MCP-Platform",
    "slug": "mcp-platform",
    "source_packet_id": "phit_e0704f0db3bf4f2181f4c2340a9218f1",
    "source_validation_id": "dval_791b3447a12c4316a0c4fb9d14d86064"
  },
  "merchandising": {
    "best_for": "需要工具连接与集成能力，并使用 mcp_host的用户",
    "github_forks": 4,
    "github_stars": 15,
    "one_liner_en": "A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs",
    "one_liner_zh": "一个灵活的 MCP 平台，提供 Docker 与 Kubernetes 后端、轻量级 CLI（mcpt）以及客户端工具，实现无缝的 MCP 集成。支持通过模板快速启动服务器、借助单一端点进行负载均衡路由，并兼容 HTTP 与 stdio 传输方式，配置基于 YAML，提供合理默认设置。",
    "primary_category": {
      "category_id": "tool-integrations",
      "confidence": "high",
      "name_en": "Tool Integrations",
      "name_zh": "工具连接与集成",
      "reason": "matched_keywords:mcp, integration, github"
    },
    "target_user": "使用 mcp_host 等宿主 AI 的用户",
    "title_en": "MCP-Platform",
    "title_zh": "MCP-Platform 能力包",
    "visible_tags": [
      {
        "label_en": "MCP Tools",
        "label_zh": "MCP 工具",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "product_domain-mcp-tools",
        "type": "product_domain"
      },
      {
        "label_en": "Tool Integration",
        "label_zh": "工具接入扩展",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "user_job-tool-integration",
        "type": "user_job"
      },
      {
        "label_en": "Project Capability",
        "label_zh": "项目能力包",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "core_capability-project-capability",
        "type": "core_capability"
      },
      {
        "label_en": "Verifiable Workflow",
        "label_zh": "可验证工作流",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "workflow_pattern-verifiable-workflow",
        "type": "workflow_pattern"
      },
      {
        "label_en": "Local-first",
        "label_zh": "本地优先",
        "source": "repo_evidence_project_characteristics",
        "tag_id": "selection_signal-local-first",
        "type": "selection_signal"
      }
    ]
  },
  "packet_id": "phit_e0704f0db3bf4f2181f4c2340a9218f1",
  "page_model": {
    "artifacts": {
      "artifact_slug": "mcp-platform",
      "files": [
        "PROJECT_PACK.json",
        "QUICK_START.md",
        "PROMPT_PREVIEW.md",
        "HUMAN_MANUAL.md",
        "AI_CONTEXT_PACK.md",
        "BOUNDARY_RISK_CARD.md",
        "PITFALL_LOG.md",
        "REPO_INSPECTION.json",
        "REPO_INSPECTION.md",
        "CAPABILITY_CONTRACT.json",
        "EVIDENCE_INDEX.json",
        "CLAIM_GRAPH.json"
      ],
      "required_files": [
        "PROJECT_PACK.json",
        "QUICK_START.md",
        "PROMPT_PREVIEW.md",
        "HUMAN_MANUAL.md",
        "AI_CONTEXT_PACK.md",
        "BOUNDARY_RISK_CARD.md",
        "PITFALL_LOG.md",
        "REPO_INSPECTION.json"
      ]
    },
    "detail": {
      "capability_source": "Project Hit Packet + DownstreamValidationResult",
      "commands": [
        {
          "command": "pip install mcp-platform",
          "label": "Python / pip · 官方安装入口",
          "source": "https://github.com/Data-Everything/MCP-Platform#readme",
          "verified": true
        }
      ],
      "display_tags": [
        "MCP 工具",
        "工具接入扩展",
        "项目能力包",
        "可验证工作流",
        "本地优先"
      ],
      "eyebrow": "工具连接与集成",
      "glance": [
        {
          "body": "判断自己是不是目标用户。",
          "label": "最适合谁",
          "value": "需要工具连接与集成能力，并使用 mcp_host的用户"
        },
        {
          "body": "先理解能力边界，再决定是否继续。",
          "label": "核心价值",
          "value": "A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs"
        },
        {
          "body": "未完成验证前保持审慎。",
          "label": "继续前",
          "value": "publish to Doramagic.ai project surfaces"
        }
      ],
      "guardrail_source": "Boundary & Risk Card",
      "guardrails": [
        {
          "body": "Prompt Preview 只展示流程，不证明项目已安装或运行。",
          "label": "Check 1",
          "value": "不要把试用当真实运行"
        },
        {
          "body": "mcp_host",
          "label": "Check 2",
          "value": "确认宿主兼容"
        },
        {
          "body": "publish to Doramagic.ai project surfaces",
          "label": "Check 3",
          "value": "先隔离验证"
        }
      ],
      "mode": "mcp_config, recipe, host_instruction, eval, preflight",
      "pitfall_log": {
        "items": [
          {
            "body": "README/documentation is current enough for a first validation pass.",
            "category": "Capability evidence risk",
            "evidence": [
              "capability.assumptions | https://github.com/Data-Everything/MCP-Platform"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Capability evidence risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "Project evidence flags a maintenance risk. Review the linked source before relying on this workflow.",
            "category": "Maintenance risk",
            "evidence": [
              "evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Maintenance risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "no_demo",
            "category": "Security or permission risk",
            "evidence": [
              "downstream_validation.risk_items | https://github.com/Data-Everything/MCP-Platform"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "no_demo",
            "category": "Security or permission risk",
            "evidence": [
              "risks.scoring_risks | https://github.com/Data-Everything/MCP-Platform"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.",
            "category": "Security or permission risk",
            "evidence": [
              "community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/27"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.",
            "category": "Security or permission risk",
            "evidence": [
              "community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/43"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.",
            "category": "Security or permission risk",
            "evidence": [
              "community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/28"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.",
            "category": "Security or permission risk",
            "evidence": [
              "community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/20"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.",
            "category": "Security or permission risk",
            "evidence": [
              "community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/41"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.",
            "category": "Security or permission risk",
            "evidence": [
              "community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/24"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.",
            "category": "Security or permission risk",
            "evidence": [
              "community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/33"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.",
            "category": "Security or permission risk",
            "evidence": [
              "community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/36"
            ],
            "severity": "medium",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Security or permission risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "issue_or_pr_quality=unknown。",
            "category": "Maintenance risk",
            "evidence": [
              "evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform"
            ],
            "severity": "low",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Maintenance risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          },
          {
            "body": "release_recency=unknown。",
            "category": "Maintenance risk",
            "evidence": [
              "evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform"
            ],
            "severity": "low",
            "suggested_check": "Reproduce the official install and quickstart path in an isolated environment.",
            "title": "Maintenance risk requires verification",
            "user_impact": "May increase setup, validation, or first-run risk for the user."
          }
        ],
        "source": "ProjectPitfallLog + ProjectHitPacket + validation + community signals",
        "summary": "Found 14 structured pitfall item(s), including 0 high/blocking item(s). Top priority: Capability evidence risk - Capability evidence risk requires verification.",
        "title": "Pitfall Log"
      },
      "snapshot": {
        "contributors": 3,
        "forks": 4,
        "license": "unknown",
        "note": "站点快照，非实时质量证明；用于开工前背景判断。",
        "stars": 15
      },
      "source_url": "https://github.com/Data-Everything/MCP-Platform",
      "steps": [
        {
          "body": "不安装项目，先体验能力节奏。",
          "code": "preview",
          "title": "先试 Prompt"
        },
        {
          "body": "理解输入、输出、失败模式和边界。",
          "code": "manual",
          "title": "读说明书"
        },
        {
          "body": "把上下文交给宿主 AI 继续工作。",
          "code": "context",
          "title": "带给 AI"
        },
        {
          "body": "进入主力环境前先完成安装入口与风险边界验证。",
          "code": "verify",
          "title": "沙箱验证"
        }
      ],
      "subtitle": "A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs",
      "title": "MCP-Platform 能力包",
      "trial_prompt": "# MCP-Platform - Prompt Preview\n\n> Copy the prompt below into your AI host before installing anything.\n> Its purpose is to let you safely feel the project's workflow, not to claim the project has already run.\n\n## Copy this prompt\n\n```text\nYou are using an independent Doramagic capability pack for Data-Everything/MCP-Platform.\n\nProject:\n- Name: MCP-Platform\n- Repository: https://github.com/Data-Everything/MCP-Platform\n- Summary: A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs\n- Host target: mcp_host\n\nGoal:\nHelp me evaluate this project for the following task without installing it yet: A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs\n\nBefore taking action:\n1. Restate my task, success standard, and boundary.\n2. Identify whether the next step requires tools, browser access, network access, filesystem access, credentials, package installation, or host configuration.\n3. Use only the Doramagic Project Pack, the upstream repository, and the source-linked evidence listed below.\n4. If a real command, install step, API call, file write, or host integration is required, mark it as \"requires post-install verification\" and ask for approval first.\n5. If evidence is missing, say \"evidence is missing\" instead of filling the gap.\n\nPreviewable capabilities:\n- Capability 1: A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs\n\nCapabilities that require post-install verification:\n- Capability 1: Use the source-backed project context to guide one small, checkable workflow step.\n\nCore service flow:\n1. page-overview: Platform Overview and System Architecture. Produce one small intermediate artifact and wait for confirmation.\n2. page-builtin-templates: Built-in Server Templates and Usage Guide. Produce one small intermediate artifact and wait for confirmation.\n3. page-custom-templates: Creating Custom Templates and Extensions. Produce one small intermediate artifact and wait for confirmation.\n4. page-deployment-and-client: Deployment Backends, Configuration Flow, and Client API. Produce one small intermediate artifact and wait for confirmation.\n\nSource-backed evidence to keep in mind:\n- https://github.com/Data-Everything/MCP-Platform\n- https://github.com/Data-Everything/MCP-Platform#readme\n- README.md\n- mcp_platform/__init__.py\n- mcp_platform/__main__.py\n- mcp_platform/__version__.py\n- mcp_platform/utils/__init__.py\n- mcp_platform/core/__init__.py\n- mcp_platform/template/templates/__init__.py\n- mcp_platform/template/templates/demo/README.md\n\nFirst response rules:\n1. Start Step 1 only.\n2. Explain the one service action you will perform first.\n3. Ask exactly three questions about my target workflow, success standard, and sandbox boundary.\n4. Stop and wait for my answers.\n\nStep 1 follow-up protocol:\n- After I answer the first three questions, stay in Step 1.\n- Produce six parts only: clarified task, success standard, boundary conditions, two or three options, tradeoffs for each option, and one recommendation.\n- End by asking whether I confirm the recommendation.\n- Do not move to Step 2 until I explicitly confirm.\n\nConversation rules:\n- Advance one step at a time and wait for confirmation after each small artifact.\n- Write outputs as recommendations or planned checks, not as completed execution.\n- Do not claim tests passed, files changed, commands ran, APIs were called, or the project was installed.\n- If the user asks for execution, first provide the sandbox setup, expected output, rollback, and approval checkpoint.\n```\n",
      "voices": [
        {
          "body": "来源平台：github。github/github_issue: [BUG] Github workflow build-docs failing（https://github.com/Data-Everything/MCP-Platform/issues/43）；github/github_issue: [FEATURE] Snowflake MCP server（https://github.com/Data-Everything/MCP-Platform/issues/24）；github/github_issue: [FEATURE] Replicate postgres template to create new snowflake template（https://github.com/Data-Everything/MCP-Platform/issues/41）；github/github_issue: [FEATURE] Trino database template creation（https://github.com/Data-Everything/MCP-Platform/issues/36）；github/github_issue: [FEATURE] Support for elasticsearch MCP server（https://github.com/Data-Everything/MCP-Platform/issues/33）；github/github_issue: [BUG] Bigquery template docs has wrong information about how to call too（https://github.com/Data-Everything/MCP-Platform/issues/27）；github/github_issue: [BUG] Templates specific documentation inconsistent（https://github.com/Data-Everything/MCP-Platform/issues/28）；github/github_issue: [FEATURE] Bigquery mcp server（https://github.com/Data-Everything/MCP-Platform/issues/20）；github/github_release: Release 1.3.1 - Kubeconfig environment variable config（https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.3.1）；github/github_release: Release 1.3.0 - Postgres Template（https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.3.0）；github/github_release: Trino Template and many other improvements（https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.2.0）；github/github_release: Slack & bigquery template release - 1.1.0（https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.1.0）。这些是项目级外部声音，不作为单独质量证明。",
          "items": [
            {
              "kind": "github_issue",
              "source": "github",
              "title": "[BUG] Github workflow build-docs failing",
              "url": "https://github.com/Data-Everything/MCP-Platform/issues/43"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "[FEATURE] Snowflake MCP server",
              "url": "https://github.com/Data-Everything/MCP-Platform/issues/24"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "[FEATURE] Replicate postgres template to create new snowflake template",
              "url": "https://github.com/Data-Everything/MCP-Platform/issues/41"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "[FEATURE] Trino database template creation",
              "url": "https://github.com/Data-Everything/MCP-Platform/issues/36"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "[FEATURE] Support for elasticsearch MCP server",
              "url": "https://github.com/Data-Everything/MCP-Platform/issues/33"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "[BUG] Bigquery template docs has wrong information about how to call too",
              "url": "https://github.com/Data-Everything/MCP-Platform/issues/27"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "[BUG] Templates specific documentation inconsistent",
              "url": "https://github.com/Data-Everything/MCP-Platform/issues/28"
            },
            {
              "kind": "github_issue",
              "source": "github",
              "title": "[FEATURE] Bigquery mcp server",
              "url": "https://github.com/Data-Everything/MCP-Platform/issues/20"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Release 1.3.1 - Kubeconfig environment variable config",
              "url": "https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.3.1"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Release 1.3.0 - Postgres Template",
              "url": "https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.3.0"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Trino Template and many other improvements",
              "url": "https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.2.0"
            },
            {
              "kind": "github_release",
              "source": "github",
              "title": "Slack & bigquery template release - 1.1.0",
              "url": "https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.1.0"
            }
          ],
          "status": "已收录 12 条来源",
          "title": "社区讨论"
        }
      ]
    },
    "homepage_card": {
      "category": "工具连接与集成",
      "desc": "A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs",
      "effort": "安装已验证",
      "forks": 4,
      "icon": "link",
      "name": "MCP-Platform 能力包",
      "risk": "可发布",
      "slug": "mcp-platform",
      "stars": 15,
      "tags": [
        "MCP 工具",
        "工具接入扩展",
        "项目能力包",
        "可验证工作流",
        "本地优先"
      ],
      "thumb": "gray",
      "type": "MCP 配置"
    },
    "manual": {
      "markdown": "# https://github.com/Data-Everything/MCP-Platform Project Manual\n\nGenerated at: 2026-06-14 03:28:34 UTC\n\n## Table of Contents\n\n- [Platform Overview and System Architecture](#page-overview)\n- [Built-in Server Templates and Usage Guide](#page-builtin-templates)\n- [Creating Custom Templates and Extensions](#page-custom-templates)\n- [Deployment Backends, Configuration Flow, and Client API](#page-deployment-and-client)\n\n<a id='page-overview'></a>\n\n## Platform Overview and System Architecture\n\n### Related Pages\n\nRelated topics: [Built-in Server Templates and Usage Guide](#page-builtin-templates), [Deployment Backends, Configuration Flow, and Client API](#page-deployment-and-client)\n\n<details>\n<summary>Related Source Files</summary>\n\nThe following source files were used to generate this page:\n\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)\n- [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)\n- [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)\n- [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)\n- [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)\n- [mcp_platform/template/templates/slack/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/slack/README.md)\n- [mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)\n</details>\n\n# Platform Overview and System Architecture\n\n## Purpose and Scope\n\nMCP-Platform is a deployment framework for Model Context Protocol (MCP) servers. It packages a curated set of pre-built server templates (databases, developer tools, ticketing, messaging, search) and provides a unified CLI and runtime that turns a single command into a running, containerized MCP endpoint. The platform's stated goal is to let AI developers focus on integration rather than infrastructure, by replacing ad-hoc Docker, transport, and configuration plumbing with a templated, opinionated workflow. Source: [README.md:9-15]()\n\nThe project supersedes the legacy `mcp-templates` package. Existing configurations, Docker images, and deployment workflows remain compatible, but the active development line is the `mcp-platform` distribution installed via `pip install mcp-platform` and operated through the `mcpp` command. Source: [README.md:1-7]()\n\n## High-Level System Architecture\n\nThe platform is organized into three cooperating layers: a **Template Library**, a **Core Engine**, and a **Client/CLI surface**.\n\n```mermaid\nflowchart TB\n    User([User / LLM Client]) --> CLI[mcpp CLI / Interactive REPL]\n    CLI --> Core[Core Engine\\nCacheManager · ConfigProcessor · ResponseFormatter]\n    Core --> Discovery[Template Discovery]\n    Discovery --> Library[(Template Library\\ndemo · github · gitlab · slack · zendesk · postgres · bigquery · trino · elasticsearch)]\n    Core --> Deployer[Containerized Deployer]\n    Deployer --> Docker[(Docker Engine)]\n    Docker --> MCPServer[MCP Server Process]\n    MCPServer --> Tools[Tool Surface\\nstdio · HTTP · SSE]\n    User -.calls tools.-> Tools\n```\n\nThe **Template Library** is the canonical set of directories under `mcp_platform/template/templates/`. Each template is a self-contained package (server code, configuration schema, documentation, and Docker assets) that the platform can list, validate, and deploy. Source: [mcp_platform/template/utils/__init__.py:1-8]()\n\nThe **Core Engine** is a set of utilities for discovering templates, processing configuration, formatting responses, and caching template metadata. The README advertises a 6-hour template cache with automatic invalidation to accelerate repeated operations. Source: [README.md:60-64]()\n\nThe **Client/CLI surface** is what the operator actually invokes. The non-interactive `mcpp` command handles one-shot lifecycle operations (`list`, `deploy`, `logs`, `tools`, `call`), while the interactive REPL — built on Typer — provides tab completion, command history, and session-style tool execution through `MCPClient`. Source: [mcp_platform/cli/interactive_cli.py:7-19]()\n\n## Template System and Lifecycle\n\nA template is more than a script — it is a deployable unit with a structured layout. The reference implementation in `templates/demo/` demonstrates the contract: a `server.py` entry point, a `config.py` schema module, FastMCP-decorated tools, a `requirements.txt`, a Dockerfile, and a docs directory. Source: [mcp_platform/template/templates/demo/README.md:9-14]()\n\nTemplates are discovered dynamically. The `TemplateDiscovery` utility (exported from `mcp_platform.template.utils`) scans the templates directory and surfaces each entry to the CLI. Source: [mcp_platform/template/utils/__init__.py:7-12]()\n\nWhen an operator needs a new integration that does not exist yet, the `TemplateCreator` class scaffolds one. It is an interactive Rich-based prompt flow that asks for an ID, name, and capabilities, then materializes a complete template directory (config, server stub, tests, docs) by adapting a shared `config.py` template. Source: [mcp_platform/template/utils/creation.py:24-44]()\n\nThe platform encourages reuse of upstream MCP implementations rather than rewriting them. Several templates wrap existing open-source MCP servers and surface them through a uniform configuration and deployment layer:\n\n| Template | Wrapped Capability | Configuration Mechanism | Source |\n|----------|-------------------|------------------------|--------|\n| demo | Reference FastMCP server with `say_hello`, `get_server_info`, `echo_message` | `MCP_HELLO_FROM`, `MCP_LOG_LEVEL` env vars | [mcp_platform/template/templates/demo/README.md:53-72]() |\n| github | 77+ GitHub API tools (repos, issues, PRs, actions) | `GITHUB_PERSONAL_ACCESS_TOKEN` | [mcp_platform/template/templates/github/README.md:1-12]() |\n| gitlab | 66+ GitLab tools (repos, MRs, pipelines, wiki, milestones) | `GITLAB_PERSONAL_ACCESS_TOKEN`, optional `GITLAB_READ_ONLY_MODE` | [mcp_platform/template/templates/gitlab/README.md:5-28]() |\n| slack | Channels, DMs, thread reads (XOXP or XOXC/XOXD tokens) | `SLACK_MCP_XOXP_TOKEN` or token pair | [mcp_platform/template/templates/slack/README.md:11-29]() |\n| zendesk | Tickets, users, knowledge base, analytics | Zendesk API credentials | [mcp_platform/template/templates/zendesk/README.md:1-15]() |\n\nCommunity requests have shaped recent additions. The Postgres template shipped in release 1.3.0, the gateway improvements in the same release, and a Snowflake template has been requested to follow the Postgres pattern (issues #24, #41). The Trino template was rewritten in release 1.2.0 and the Elasticsearch template added dual-engine support. Source: [release notes referenced in community context]()\n\n## Configuration, Transports, and Execution\n\nConfiguration is intentionally multi-channel. A single deployment can receive values from JSON files, YAML files, environment variables, CLI `--config key=value` flags, or override parameters. The override path performs type conversion (`\"true\"` → `bool`, `\"123\"` → `int`, JSON-like strings → `list`/`dict`), which is exercised by the demo template's `demonstrate_overrides` helper. Source: [mcp_platform/template/templates/demo/README.md:21-30]()\n\nTransports are abstracted. Templates expose `stdio` (default for many wrapped servers), HTTP (the demo defaults to HTTP on port 7071), and SSE where the upstream server supports it. The interactive CLI routes tool calls through `MCPClient` rather than raw HTTP, ensuring the platform's own error handling and formatting apply uniformly. Source: [mcp_platform/cli/interactive_cli.py:24-31](), [mcp_platform/template/templates/demo/README.md:37-47]()\n\nThe interactive REPL has been deliberately simplified: the prior implicit \"select a template for the session and auto-inject it\" behavior has been removed. Commands now require explicit template arguments and surface clear errors when omitted, trading a small ergonomic shortcut for predictable, scriptable behavior. Source: [mcp_platform/cli/interactive_cli.py:42-47]()\n\n## Known Failure Modes and Community Notes\n\n- **Documentation drift across templates** is a known issue (#28): the `docs/` directory under each template is inconsistent in its usage instructions. New template authors should follow the demo's structure.\n- **Stale tool-calling examples** have appeared in some template READMEs (e.g., BigQuery, #27) showing direct API calls rather than the `mcpp` / `MCPClient` flow. The platform's intended path is always through the client or CLI.\n- **Docs build workflow** has failed on shallow clones due to `setuptools_scm` warnings (#43), which can break the GitHub Actions documentation pipeline if not handled.\n\n## See Also\n\n- Template Creation Utility\n- CLI Reference\n- Configuration Schema and Overrides\n- Demo Template Walkthrough\n- Adding a New Template (Contributor Guide)\n\n---\n\n<a id='page-builtin-templates'></a>\n\n## Built-in Server Templates and Usage Guide\n\n### Related Pages\n\nRelated topics: [Creating Custom Templates and Extensions](#page-custom-templates), [Deployment Backends, Configuration Flow, and Client API](#page-deployment-and-client)\n\n<details>\n<summary>Related Source Files</summary>\n\nThe following source files were used to generate this page:\n\n- [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)\n- [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)\n- [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)\n- [mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)\n- [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)\n</details>\n\n# Built-in Server Templates and Usage Guide\n\n## Overview and Purpose\n\nThe MCP Platform ships with a curated library of built-in server templates under `mcp_platform/template/templates/`. Each template wraps a real-world service (databases, code hosting platforms, ticketing systems, search engines, demos) into a deployable MCP server with consistent configuration, transport handling, and tool exposure. Templates expose `template.json` metadata alongside a FastMCP-based Python server, enabling one-command deployment via the `mcpp` CLI.\n\nThe platform's core promise is \"zero-configuration deployment of production-ready MCP servers with Docker containers\" (Source: [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)), and the template system is the mechanism that delivers it. Discovery, instantiation, and registration of templates are handled by the `TemplateDiscovery` and `TemplateCreator` classes exposed from the package entry point (Source: [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)).\n\n## Template Architecture\n\nA template follows a modular layout: a `config.py` (typed config + env mapping), a `tools.py` (FastMCP tool definitions), and a `server.py` entrypoint. The `demo` template documents this structure explicitly, noting that the modular design makes each module \"testable, maintainable, extensible, reusable\" (Source: [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)).\n\n```mermaid\nflowchart LR\n    A[mcpp CLI] --> B[TemplateDiscovery]\n    B --> C[Template Catalog]\n    C --> D[config.py]\n    C --> E[tools.py]\n    C --> F[server.py]\n    D --> G[FastMCP Server]\n    E --> G\n    F --> G\n    G --> H[Docker Container]\n    G --> I[stdio Transport]\n    G --> J[HTTP/SSE Transport]\n    H --> K[MCP Client / LLM]\n    I --> K\n    J --> K\n```\n\n`TemplateDiscovery` enumerates all templates under the `TEMPLATES_DIR` constant, while `TemplateCreator` generates new templates from a `config.py` base, scaffolding a directory tree complete with a `Dockerfile`, `README.md`, `USAGE.md`, `docs/index.md`, and pytest suite (Source: [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n\n## Built-in Template Catalog\n\nThe catalog spans demos, developer platforms, ticketing, search, and databases. The community has been actively extending this list — feature requests exist for Snowflake, Trino, Elasticsearch, BigQuery, and a Postgres-based Snowflake replica, reflecting user demand for broader enterprise data coverage (Source: GitHub issues #24, #33, #36, #41).\n\n| Template | Primary Domain | Notable Capabilities | Source |\n|----------|----------------|----------------------|--------|\n| `demo` | Reference | Greeting tools, override demonstration, FastMCP HTTP-first | [demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md) |\n| `github` | Code Hosting | 77 tools covering repos, branches, issues, PRs, Actions, security | [github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md) |\n| `gitlab` | Code Hosting | 66+ tools for repos, issues, MRs, pipelines, wiki, milestones | [gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md) |\n| `zendesk` | Support | Ticket CRUD, user mgmt, knowledge base, analytics, orgs | [zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md) |\n| `postgres`, `trino`, `bigquery`, `elasticsearch` | Databases / Search | Shipped in releases 1.2.0 and 1.3.0 | Release notes in repository |\n\n### Demo Template Usage\n\nThe demo template is the canonical example. It exposes three tools — `say_hello`, `get_server_info`, and `echo_message` — and demonstrates both CLI and override-driven configuration (Source: [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)). Local usage:\n\n```bash\npip install -r requirements.txt\npython server.py --hello-from \"Custom Server\" --log-level debug\npython server.py --transport stdio\n```\n\nDocker usage binds port `7071` by default and can join the `mcp-platform` network for multi-container deployments.\n\n### GitHub Template Usage\n\nThe GitHub template wraps the official GitHub MCP server and exposes 77 tools grouped into repository, branch, issue, PR, Actions, and security categories. It emphasizes \"dynamic tool discovery, comprehensive monitoring, auto-scaling, configuration management, and security\" (Source: [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)). Users authenticate via GitHub tokens passed through the `env` block in their MCP client configuration.\n\n### GitLab Template Usage\n\nThe GitLab template supports `stdio`, SSE, and Streamable HTTP transports, plus a read-only mode (`GITLAB_READ_ONLY_MODE=true`) and feature toggles such as `USE_GITLAB_WIKI`, `USE_MILESTONE`, and `USE_PIPELINE` for granular capability control (Source: [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)). Self-hosted GitLab Enterprise requires setting `GITLAB_API_URL` and optionally `HTTP_PROXY`.\n\n## Template Lifecycle and CLI Integration\n\nThe interactive CLI (`mcpp`) provides session-level commands for browsing templates, listing tools, and calling them. It requires readline for command history and tab completion and lazily imports `typer`, `rich`, and `MCPClient` to keep startup fast (Source: [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)). Note that the previous \"select template for session\" injection logic has been removed — commands now require an explicit template argument to avoid ambiguity.\n\nCreating a new template from scratch is interactive:\n\n```bash\nmcpp create my-template\n```\n\nThe `TemplateCreator.create_template_interactive` method walks the user through id, name, description, image, capabilities, and config schema, then writes `template.json`, `config.py`, `tools.py`, `server.py`, `Dockerfile`, `README.md`, `USAGE.md`, and `docs/index.md` (Source: [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)). It generates a class name like `MyTemplateServerConfig` from the kebab-case id and stamps `metadata`, `env_mapping`, and `required` fields directly from the gathered schema.\n\n## Common Failure Modes and Community Notes\n\nSeveral recurring community pain points surface around templates:\n\n- **Documentation inconsistency** — Per-template `docs/` directories have historically differed in usage instructions (Source: GitHub issue #28). The `TemplateCreator` now generates `docs/index.md` from a shared layout to standardize the contract.\n- **Incorrect tool-call examples** — Older BigQuery docs showed raw HTTP-style calls rather than the `mcpp` client flow; this is addressed by routing all examples through `client.call` (Source: GitHub issue #27, see [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md) for the canonical pattern).\n- **Docs build failures** — The GitHub Actions `build-docs` workflow has been observed failing on shallow clones (Source: GitHub issue #43); this affects CI only and not runtime behavior.\n- **Extending to new data sources** — Community requests consistently follow the same pattern: replicate an existing template's directory layout, map authentication env vars, and add a `template.json` entry (Source: GitHub issues #24, #33, #36, #41).\n\nFor advanced troubleshooting, the demo template documents debug logging via `MCP_LOG_LEVEL=debug`, port conflicts (`python server.py --port 7072`), and Docker network creation (`docker network create mcp-platform`) (Source: [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)).\n\n## See Also\n\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md) — Top-level project overview and migration from `mcp-templates`.\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py) — Reference for authoring new templates.\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py) — Interactive `mcpp>` shell internals.\n- Release notes for `release-pypi-1.1.0` through `release-pypi-1.3.1` — Per-template changelog.\n\n---\n\n<a id='page-custom-templates'></a>\n\n## Creating Custom Templates and Extensions\n\n### Related Pages\n\nRelated topics: [Built-in Server Templates and Usage Guide](#page-builtin-templates), [Deployment Backends, Configuration Flow, and Client API](#page-deployment-and-client)\n\n<details>\n<summary>Related Source Files</summary>\n\nThe following source files were used to generate this page:\n\n- [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)\n- [mcp_platform/template/utils/discovery.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/discovery.py)\n- [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)\n- [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)\n- [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)\n- [mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)\n- [mcp_platform/client/client.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/client/client.py)\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)\n</details>\n\n# Creating Custom Templates and Extensions\n\n## Overview and Scope\n\nMCP-Platform ships a template system that lets developers package an MCP server, its configuration schema, Docker assets, and documentation into a single deployable unit. Once installed (`pip install mcp-platform`), every template becomes addressable through the unified `mcpp` CLI for operations such as `mcpp deploy <template>`, `mcpp tools <template>`, and `mcpp call <template> <tool>` ([README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)).\n\nThe platform supports three modes of extension:\n\n1. **Author a brand-new template** via the interactive `TemplateCreator` ([mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n2. **Replicate an existing template** by cloning its directory layout (the pattern requested by the community for Snowflake, Trino, and Elasticsearch — see issues [#41](https://github.com/Data-Everything/MCP-Platform/issues/41), [#36](https://github.com/Data-Everything/MCP-Platform/issues/36), [#33](https://github.com/Data-Everything/MCP-Platform/issues/33)).\n3. **Wire an external MCP server** (such as the official GitHub or GitLab server) into the platform's configuration and discovery flow ([mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)).\n\nDiscovery and runtime resolution are handled by `TemplateDiscovery` and `MCPClient` ([mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py), [mcp_platform/client/client.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/client/client.py)).\n\n## Architecture of a Template\n\nEvery shipped template lives under `mcp_platform/template/templates/<id>/` and follows a consistent four-module structure, as documented for the reference `demo` template ([mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)).\n\n```mermaid\nflowchart LR\n    A[template.json<br/>metadata + config_schema] --> B[config.py<br/>typed ServerConfig]\n    B --> C[tools.py<br/>FastMCP tool defs]\n    C --> D[server.py<br/>CLI + transport]\n    D --> E[Dockerfile + docs/]\n    E --> F[mcpp deploy &lt;id&gt;]\n    A --> G[TemplateDiscovery]\n    G --> F\n```\n\nThe `template.json` file declares the template's id, description, image reference, and the JSON Schema that drives runtime configuration. `config.py` exposes a typed `ServerConfig` class generated from that schema. `tools.py` registers FastMCP tool functions with `@mcp.tool` decorators, and `server.py` wires the FastMCP instance to the chosen transport (stdio, SSE, or streamable HTTP). Documentation under `docs/` is consumed both by the deployer and by the `scripts/build_docs.py` GitHub workflow ([mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)).\n\n## Using the TemplateCreator\n\n`TemplateCreator` is the primary authoring entry point. It accepts either an interactive prompt session or a YAML/JSON config file passed through `create_template_interactive(template_id, config_file)` ([mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n\nThe interactive flow:\n\n1. Verifies the destination directory under `templates/<id>/`. If the directory exists, the user is asked to confirm overwrite before any file is generated.\n2. Collects template metadata (name, description, capabilities, image tag) and the list of `config_schema` properties plus their `env_mapping` names.\n3. Renders a Rich `Panel` summary and requires a final confirmation before any disk mutation.\n4. Generates `config.py` by loading the demo `config.py` and adapting class names (`<CamelCase>ServerConfig`) and template-specific labels ([mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n5. Writes `server.py`, `tools.py`, `template.json`, a `Dockerfile`, `README.md`, `USAGE.md`, and `docs/index.md`.\n\nThe non-interactive path (`_create_from_config_file`) is recommended for CI and for replicating an existing template from a versioned specification, mirroring how the community proposed Snowflake and Elasticsearch templates be derived from Postgres and the official Elastic MCP server ([#41](https://github.com/Data-Everything/MCP-Platform/issues/41), [#33](https://github.com/Data-Everything/MCP-Platform/issues/33)).\n\n## Replication Pattern and External Integrations\n\nThe Postgres template, added in release 1.3.0, has become the reference blueprint for database-backed templates. Issue [#41](https://github.com/Data-Everything/MCP-Platform/issues/41) explicitly asks contributors to \"replicate the same pattern, same directory structure\" when creating the Snowflake template, while issue [#36](https://github.com/Data-Everything/MCP-Platform/issues/36) proposes the same for Trino, pointing to the upstream Docker image `ghcr.io/tuannvm/mcp-trino:latest`.\n\nFor external server integrations, the GitHub and GitLab templates demonstrate how to wrap an existing MCP server implementation rather than rewrite it. The GitLab template ships 66+ tools covering issues, merge requests, pipelines, wiki, and milestones, and exposes toggles such as `GITLAB_READ_ONLY_MODE`, `USE_GITLAB_WIKI`, `USE_MILESTONE`, and `USE_PIPELINE` for runtime feature control ([mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)). The GitHub template similarly advertises 77 tools with token-based authentication and dynamic discovery ([mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)). Zendesk shows the data-API integration shape with rate-limiting and cache configuration ([mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)).\n\nIn every case, runtime validation flows through `MCPClient.validate_template`, which calls `TemplateManager.validate_template` to confirm schema correctness before deployment ([mcp_platform/client/client.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/client/client.py)).\n\n## Common Pitfalls and Failure Modes\n\nTwo recurring issues shape how new templates should be reviewed:\n\n- **Documentation inconsistency** ([#28](https://github.com/Data-Everything/MCP-Platform/issues/28)): per-template docs under `mcp_platform/template/templates/<id>/docs/` drift in format and content. Templates should follow the structure emitted by `_create_docs_index` — a top-level overview, a configuration table keyed on `env_mapping`, and per-capability usage sections with example arguments ([mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n- **Documentation build failure** ([#43](https://github.com/Data-Everything/MCP-Platform/issues/43)): the `scripts/build_docs.py` workflow fails on shallow clones because `setuptools_scm` cannot resolve git history. Templates should not depend on undocumented `setuptools_scm` state at build time.\n- **Tool-call instructions** ([#27](https://github.com/Data-Everything/MCP-Platform/issues/27)): BigQuery docs originally described an API-style invocation. Templates must instead document the `mcpp call <template> <tool> '<args>'` flow, which is the only contract honored by the interactive CLI ([mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)).\n\nAdhering to the `TemplateCreator`-generated skeleton avoids all three classes of bug and keeps templates consistent with the platform's discovery, configuration, and deployment pipeline.\n\n## See Also\n\n- CLI Reference: `mcpp deploy`, `mcpp tools`, `mcpp call` ([README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md))\n- Interactive CLI usage ([mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py))\n- Demo template walkthrough ([mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md))\n- Postgres template release notes ([release-pypi-1.3.0](https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.3.0))\n\n---\n\n<a id='page-deployment-and-client'></a>\n\n## Deployment Backends, Configuration Flow, and Client API\n\n### Related Pages\n\nRelated topics: [Platform Overview and System Architecture](#page-overview), [Creating Custom Templates and Extensions](#page-custom-templates)\n\n<details>\n<summary>Related Source Files</summary>\n\nThe following source files were used to generate this page:\n\n- [mcp_platform/cli/cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/cli.py)\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)\n- [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)\n- [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)\n- [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)\n- [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)\n- [mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)\n</details>\n\n# Deployment Backends, Configuration Flow, and Client API\n\n## Overview\n\nMCP-Platform exposes a uniform client API (`MCPClient`) that fronts multiple deployment backends (Docker, Kubernetes, Mock) so the CLI, interactive shell, and programmatic callers can deploy, introspect, and invoke MCP servers without backend-specific code paths. The platform's design — confirmed in release 1.3.1 which added a kubeconfig environment variable config for the Kubernetes backend — is \"configure once, deploy anywhere\" through a normalized configuration flow that flows from template schema → environment variables → backend runtime.\n\nSource: [README.md:1-60]()\nSource: [mcp_platform/cli/cli.py:1-80]()\n\n## Deployment Backends\n\nThe backend layer abstracts container orchestration so a single `mcpp deploy` call works against any registered backend. The CLI defaults to the active backend stored in `cli_state[\"backend_type\"]`, and users can override it per-invocation with `--backend`.\n\n| Backend | Typical Use | Key Configuration |\n|---------|-------------|-------------------|\n| `docker` | Local development and single-host deployments | Docker socket access, image name, port mapping |\n| `kubernetes` | Production / multi-node clusters | Kubeconfig (file or env), namespace, context (added in 1.3.1) |\n| `mock` | Tests, CI dry-runs, and offline exploration | None — in-process simulation |\n\nThe CLI's `list_templates(include_deployed_status=True, all_backends=not backend)` call demonstrates the multi-backend design: the client can aggregate status across every registered backend or scope to one. The multi-manager internally exposes `_multi_manager.get_available_backends()` so the table renderer can dynamically add a column per backend.\n\nSource: [mcp_platform/cli/cli.py:40-90]()\nSource: [mcp_platform/cli/interactive_cli.py:55-90]()\n\n> **Community note:** Release **1.3.1** explicitly introduced \"Kubeconfig environment variable config\", reflecting user demand for the Kubernetes backend to be a first-class deployment target alongside Docker. See [Release 1.3.1](https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.3.1).\n\n## Configuration Flow\n\nConfiguration travels through four well-defined stages, each represented by a dedicated module or class in the codebase:\n\n```mermaid\nflowchart LR\n    A[Template config_schema] --> B[ConfigProcessor]\n    C[CLI flags / JSON / YAML] --> B\n    D[Environment variables] --> B\n    B --> E[Backend-specific env]\n    E --> F[Deployment]\n```\n\n1. **Template declaration** — Each template ships a JSON schema describing its required and optional parameters. The schema is the single source of truth and is consumed by the `ConfigProcessor` to validate user input. Templates in `mcp_platform/template/templates/` (e.g., `gitlab`, `github`, `zendesk`, `demo`) all follow this pattern.\n\n2. **User input** — Users supply values through any of four channels: CLI flags, JSON files, YAML files, or environment variables. The interactive CLI additionally supports live `configure <TEMPLATE> KEY=VALUE` commands that mutate session state.\n\n3. **Normalization** — `ConfigProcessor` (imported by the interactive CLI) merges inputs, applies precedence rules, and performs the type conversion documented in the demo template (booleans from `\"true\"/\"false\"`, integers, floats, JSON arrays, JSON objects).\n\n4. **Backend materialization** — The resolved configuration is translated into the backend's native representation (e.g., Docker `--env` flags or Kubernetes env entries in a Pod spec) and dispatched to the chosen backend for deployment.\n\nSource: [mcp_platform/cli/interactive_cli.py:55-65]()\nSource: [mcp_platform/template/utils/creation.py:140-200]()\nSource: [mcp_platform/template/templates/demo/README.md:80-140]()\n\n### Override Semantics\n\nOverrides target two distinct layers:\n\n| Override Type | Effect |\n|---------------|--------|\n| Configuration properties | Mutate values that become environment variables on the deployed server (e.g., `MCP_HELLO_FROM`) |\n| Template metadata | Modify structural fields like description, version, or capability names |\n\nThe demo template exposes a `demonstrate_overrides` tool specifically to help users verify both override patterns against a running deployment.\n\nSource: [mcp_platform/template/templates/demo/README.md:60-110]()\n\n## Client API Surface\n\n`MCPClient` is the single entry point used by both the one-shot CLI (`cli.py`) and the interactive REPL (`interactive_cli.py`). It is constructed with a `backend_type` argument and exposes methods that map 1:1 to the CLI's top-level commands:\n\n- `list_templates(include_deployed_status, all_backends)` — enumerates templates; used by `mcpp list`.\n- `list_deployments(backend, output_format)` — returns running deployments; powers `mcpp list-deployments`.\n- `deploy(template_id, config, ...)` — deploys a template via the active backend.\n- `call_tool(template, tool_name, args)` — invokes a tool on a running deployment.\n- `get_tools(template)` — discovers and catalogs the tools a deployed server exposes.\n\nThe interactive CLI explicitly removes an older \"template selection + auto-injection\" feature, citing a comment in source: *\"Selection/injection logic removed: commands must be called with an explicit template... that feature has been removed to simplify the interactive CLI.\"* This means every command now requires the template to be passed explicitly, producing clearer error messages.\n\nSource: [mcp_platform/cli/cli.py:1-90]()\nSource: [mcp_platform/cli/interactive_cli.py:55-100]()\n\n### Template Discovery and Creation Utilities\n\nThe `mcp_platform.template.utils` package provides two complementary helpers, exported from its `__init__.py`:\n\n- `TemplateDiscovery` — locates templates on disk, reads their `config_schema` and metadata, and surfaces them to the client.\n- `TemplateCreator` — generates a new, fully formed template directory (config.py, server module, tests, docs) by copying and adapting the `demo` template's `config.py` and prompting the user for template-specific fields such as name, description, and capabilities. It is the tool behind `mcpp create-template` and the workflow used to add new servers like Snowflake and Elasticsearch (community feature requests #24 and #33).\n\nSource: [mcp_platform/template/utils/__init__.py:1-15]()\nSource: [mcp_platform/template/utils/creation.py:1-200]()\n\n> **Community note:** Several open issues (#24 Snowflake, #33 Elasticsearch, #36 Trino, #41 \"replicate postgres template for snowflake\") follow exactly the workflow `TemplateCreator` codifies — clone the `postgres` / `demo` pattern, supply authentication config, generate docs under `docs/`. The recurring bug **#28** (\"Templates specific documentation inconsistent\") is a known consequence of this hand-rolled replication and motivates stricter template scaffolding.\n\n## Common Failure Modes\n\n1. **Misaligned template docs** — As reported in issue **#28**, per-template documentation under `docs/` diverges because the generation step in `creation.py` produces free-form Markdown. Prefer running the generated docs through the docs build (the build failure tracked in issue **#43**) to surface inconsistencies early.\n\n2. **Wrong tool-call mechanism in template docs** — Issue **#27** shows the BigQuery template originally described tool invocation as raw HTTP calls. The correct path is the `MCPClient.call_tool()` API surfaced by the CLI, not bespoke HTTP.\n\n3. **Backend unavailable** — The multi-backend `list_templates` call silently hides backends that are not installed (e.g., no `kubectl` configured). Confirm with the explicit `--backend docker|kubernetes|mock` flag.\n\n4. **Configuration precedence surprises** — Environment variables win over CLI flags only when intentionally layered; consult the `ConfigProcessor` source when troubleshooting.\n\n## See Also\n\n- [Templates Catalog](Templates-Catalog.md) — full list of bundled templates\n- [CLI Reference](CLI-Reference.md) — every `mcpp` subcommand\n- [Interactive Shell](Interactive-Shell.md) — REPL usage and tab completion\n- [Configuration Schema](Configuration-Schema.md) — authoring your own `config_schema`\n\n---\n\n<!-- evidence_pipeline_checked: true -->\n<!-- evidence_injected: true -->\n\n---\n\n## Pitfall Log\n\nProject: Data-Everything/MCP-Platform\n\nSummary: Found 14 structured pitfall item(s), including 0 high/blocking item(s). Top priority: Capability evidence risk - Capability evidence risk requires verification.\n\n## 1. Capability evidence risk - Capability evidence risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: README/documentation is current enough for a first validation pass.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: capability.assumptions | https://github.com/Data-Everything/MCP-Platform\n\n## 2. Maintenance risk - Maintenance risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a maintenance risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n\n## 3. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: no_demo\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: downstream_validation.risk_items | https://github.com/Data-Everything/MCP-Platform\n\n## 4. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: no_demo\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: risks.scoring_risks | https://github.com/Data-Everything/MCP-Platform\n\n## 5. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/27\n\n## 6. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/43\n\n## 7. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/28\n\n## 8. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/20\n\n## 9. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/41\n\n## 10. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/24\n\n## 11. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/33\n\n## 12. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/36\n\n## 13. Maintenance risk - Maintenance risk requires verification\n\n- Severity: low\n- Evidence strength: source_linked\n- Finding: issue_or_pr_quality=unknown。\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n\n## 14. Maintenance risk - Maintenance risk requires verification\n\n- Severity: low\n- Evidence strength: source_linked\n- Finding: release_recency=unknown。\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n\n<!-- canonical_name: Data-Everything/MCP-Platform; human_manual_source: deepwiki_human_wiki -->\n",
      "markdown_key": "mcp-platform",
      "pages": "draft",
      "source_refs": [
        {
          "evidence_id": "github_repo:1045588643",
          "kind": "repo",
          "supports_claim_ids": [
            "claim_identity",
            "claim_distribution",
            "claim_capability"
          ],
          "url": "https://github.com/Data-Everything/MCP-Platform"
        },
        {
          "evidence_id": "art_93fd79455dce469384afe1758422cfbe",
          "kind": "docs",
          "supports_claim_ids": [
            "claim_identity",
            "claim_distribution",
            "claim_capability"
          ],
          "url": "https://github.com/Data-Everything/MCP-Platform#readme"
        }
      ],
      "summary": "Full DeepWiki/Human Wiki output with Doramagic pitfall notes appended.",
      "title": "MCP-Platform Manual",
      "toc": [
        "https://github.com/Data-Everything/MCP-Platform Project Manual",
        "Table of Contents",
        "Platform Overview and System Architecture",
        "Purpose and Scope",
        "High-Level System Architecture",
        "Template System and Lifecycle",
        "Configuration, Transports, and Execution",
        "Known Failure Modes and Community Notes",
        "Pitfall Log"
      ]
    }
  },
  "quality_gate": {
    "blocking_gaps": [],
    "category_confidence": "medium",
    "compile_status": "ready_for_review",
    "five_assets_present": true,
    "install_sandbox_verified": true,
    "missing_evidence": [],
    "next_action": "publish to Doramagic.ai project surfaces",
    "prompt_preview_boundary_ok": true,
    "publish_status": "publishable",
    "quick_start_verified": true,
    "repo_clone_verified": true,
    "repo_commit": "d3b5d518be4dcc8be779d537699b55120415682b",
    "repo_inspection_error": null,
    "repo_inspection_files": [
      "requirements.txt",
      "Dockerfile",
      "pyproject.toml",
      "README.md",
      "docs/kubernetes.md",
      "docs/custom_templates.md",
      "docs/faq.md",
      "docs/filesystem-server-usage.md",
      "docs/stdio-tool-execution.md",
      "docs/index.md",
      "docs/tool-discovery.md",
      "docs/configuration/environment-variables.md",
      "docs/user-guide/client-usage.md",
      "docs/user-guide/cli-reference.md",
      "docs/user-guide/monitoring.md",
      "docs/development/architecture.md",
      "docs/development/setup.md",
      "docs/cli/interactive.md",
      "docs/cli/discover-tools.md",
      "docs/cli/logs.md",
      "docs/cli/list.md",
      "docs/cli/config.md",
      "docs/cli/deploy.md",
      "docs/cli/connect.md",
      "docs/cli/index.md",
      "docs/cli/create.md",
      "docs/cli/run.md",
      "docs/cli/cleanup.md",
      "docs/cli/run-tool.md",
      "docs/cli/shell.md",
      "docs/cli/stop.md",
      "docs/cli/tools.md",
      "docs/getting-started/quickstart.md",
      "docs/getting-started/first-deployment.md",
      "docs/getting-started/configuration.md",
      "docs/getting-started/installation.md",
      "docs/guides/troubleshooting.md",
      "docs/guides/usage.md",
      "docs/guides/testing.md",
      "docs/guides/deployment.md"
    ],
    "repo_inspection_verified": true,
    "review_reasons": [],
    "tag_count_ok": true,
    "unsupported_claims": []
  },
  "schema_version": "0.1",
  "user_assets": {
    "ai_context_pack": {
      "asset_id": "ai_context_pack",
      "filename": "AI_CONTEXT_PACK.md",
      "markdown": "# MCP-Platform - Doramagic AI Context Pack\n\n> Purpose: pre-work context for the user's host AI. This pack does not prove that the project has been installed, run, or validated.\n\n## Project\n\n- canonical_name: `Data-Everything/MCP-Platform`\n- capability: A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs\n- expected_user_outcome: A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs\n\n## Operating Boundaries\n\n- Do not claim that the project has been installed, run, called through an API, or used on local files unless separate evidence proves it.\n- Project facts must come from repo evidence, Claim Graph, or explicit source references.\n- When a capability is not verified, mark it as unverified instead of completing it as fact.\n- publish_status: `publishable`\n- blocking_gaps: none\n\n---\n\n## Doramagic Context Augmentation\n\nThe following sections strengthen the repository context for a host AI. Human Manual data is a reading route, and pitfall notes become operating constraints.\n\n## Human Manual Outline\n\nUsage rule: this is only a reading route and salience signal, not factual authority. Concrete claims must still return to repo evidence or Claim Graph.\n\nHost AI hard rules:\n- Do not treat page titles, section order, summaries, or importance values as factual project evidence.\n- When explaining the Human Manual outline, state that it is only a reading route or salience signal.\n- Capability, installation, compatibility, runtime state, and risk claims must cite repo evidence, source paths, or Claim Graph.\n\n- **Platform Overview and System Architecture**: importance `high`\n  - source_paths: README.md, mcp_platform/__init__.py, mcp_platform/__main__.py, mcp_platform/__version__.py, mcp_platform/utils/__init__.py\n- **Built-in Server Templates and Usage Guide**: importance `high`\n  - source_paths: mcp_platform/template/templates/__init__.py, mcp_platform/template/templates/demo/README.md, mcp_platform/template/templates/demo/template.json, mcp_platform/template/templates/filesystem/README.md, mcp_platform/template/templates/github/README.md\n- **Creating Custom Templates and Extensions**: importance `high`\n  - source_paths: mcp_platform/template/utils/__init__.py, mcp_platform/template/utils/creation.py, mcp_platform/template/utils/discovery.py, mcp_platform/template/templates/postgres/template.json, mcp_platform/template/templates/postgres/config.py\n- **Deployment Backends, Configuration Flow, and Client API**: importance `high`\n  - source_paths: mcp_platform/backends/__init__.py, mcp_platform/backends/base.py, mcp_platform/backends/docker.py, mcp_platform/backends/kubernetes.py, mcp_platform/backends/mock.py\n\n## Repo Inspection Evidence\n\n- repo_clone_verified: true\n- repo_inspection_verified: true\n- repo_commit: `d3b5d518be4dcc8be779d537699b55120415682b`\n- inspected_files: `requirements.txt`, `Dockerfile`, `pyproject.toml`, `README.md`, `docs/kubernetes.md`, `docs/custom_templates.md`, `docs/faq.md`, `docs/filesystem-server-usage.md`, `docs/stdio-tool-execution.md`, `docs/index.md`, `docs/tool-discovery.md`, `docs/configuration/environment-variables.md`, `docs/user-guide/client-usage.md`, `docs/user-guide/cli-reference.md`, `docs/user-guide/monitoring.md`, `docs/development/architecture.md`, `docs/development/setup.md`, `docs/cli/interactive.md`, `docs/cli/discover-tools.md`, `docs/cli/logs.md`\n\nHost AI hard rules:\n- Without repo_clone_verified=true, do not claim that the source code has been read.\n- Without repo_inspection_verified=true, do not write README, docs, or package-file conclusions as facts.\n- Without quick_start_verified=true, do not claim that the Quick Start path has run successfully.\n\n## Doramagic Pitfall Constraints\n\nThese rules come from Doramagic discovery, validation, or compilation findings. The host AI must treat them as operating constraints, not background notes.\n\n### Constraint 1: Capability evidence risk requires verification\n\n- Trigger: README/documentation is current enough for a first validation pass.\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: capability.assumptions | https://github.com/Data-Everything/MCP-Platform\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n\n### Constraint 2: Maintenance risk requires verification\n\n- Trigger: Project evidence flags a maintenance risk. Review the linked source before relying on this workflow.\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n\n### Constraint 3: Security or permission risk requires verification\n\n- Trigger: no_demo\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: downstream_validation.risk_items | https://github.com/Data-Everything/MCP-Platform\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n\n### Constraint 4: Security or permission risk requires verification\n\n- Trigger: no_demo\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: risks.scoring_risks | https://github.com/Data-Everything/MCP-Platform\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n\n### Constraint 5: Security or permission risk requires verification\n\n- Trigger: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/27\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n\n### Constraint 6: Security or permission risk requires verification\n\n- Trigger: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/43\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n\n### Constraint 7: Security or permission risk requires verification\n\n- Trigger: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/28\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n\n### Constraint 8: Security or permission risk requires verification\n\n- Trigger: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/20\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n\n### Constraint 9: Security or permission risk requires verification\n\n- Trigger: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/41\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n\n### Constraint 10: Security or permission risk requires verification\n\n- Trigger: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- Host AI rule: Reproduce the official install and quickstart path in an isolated environment.\n- Why it matters: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/24\n- Hard boundary: Do not present this pitfall as solved, verified, or ignorable unless later evidence explicitly closes it.\n",
      "summary": "Context and operating boundaries for the user's host AI.",
      "title": "AI Context Pack"
    },
    "boundary_risk_card": {
      "asset_id": "boundary_risk_card",
      "filename": "BOUNDARY_RISK_CARD.md",
      "markdown": "# Boundary & Risk Card\n\nProject: Data-Everything/MCP-Platform\n\n## Doramagic Trial Decision\n\nCurrent decision: ready for pre-publication recommendation checks. First use should still start with least privilege, a temporary directory, and rollback.\n\n## What The User Can Do Now\n\n- Read the Human Manual first to understand purpose and main workflows.\n- Copy the Prompt Preview for a pre-install trial. This checks interaction feel, not real execution.\n- Test the official Quick Start command in an isolated environment before using a primary machine.\n\n## What Not To Do Yet\n\n- Do not treat Prompt Preview output as an actual project run.\n- Do not treat metadata-only validation as sandbox install validation.\n- Do not write unverified capabilities as supported, tested, or safe to install.\n- Do not provide production data, private files, real secrets, or primary configuration directories on first use.\n\n## Pre-install Checklist\n\n- Host AI match: mcp_host\n- Official install entry state: official entry found\n- Verification location: temporary directory, temporary host, or container required\n- Rollback readiness: required\n- API keys, network access, file writes, or host configuration changes: treat as high risk until confirmed\n- Install command, actual output, and failure logs: must be recorded\n\n## Current Blockers\n\n- No blockers.\n\n## Project-specific Pitfalls\n\n- Capability evidence risk requires verification (medium): May increase setup, validation, or first-run risk for the user. Suggested check: Reproduce the official install and quickstart path in an isolated environment.\n- Maintenance risk requires verification (medium): May increase setup, validation, or first-run risk for the user. Suggested check: Reproduce the official install and quickstart path in an isolated environment.\n- Security or permission risk requires verification (medium): May increase setup, validation, or first-run risk for the user. Suggested check: Reproduce the official install and quickstart path in an isolated environment.\n- Security or permission risk requires verification (medium): May increase setup, validation, or first-run risk for the user. Suggested check: Reproduce the official install and quickstart path in an isolated environment.\n- Security or permission risk requires verification (medium): May increase setup, validation, or first-run risk for the user. Suggested check: Reproduce the official install and quickstart path in an isolated environment.\n\n## Risk And Permission Notes\n\n- no_demo: medium\n\n## Evidence Gaps\n\n- No structured evidence gaps found.\n",
      "summary": "Install, permission, validation, and recommendation risks.",
      "title": "Boundary & Risk Card"
    },
    "human_manual": {
      "asset_id": "human_manual",
      "filename": "HUMAN_MANUAL.md",
      "markdown": "# https://github.com/Data-Everything/MCP-Platform Project Manual\n\nGenerated at: 2026-06-14 03:28:34 UTC\n\n## Table of Contents\n\n- [Platform Overview and System Architecture](#page-overview)\n- [Built-in Server Templates and Usage Guide](#page-builtin-templates)\n- [Creating Custom Templates and Extensions](#page-custom-templates)\n- [Deployment Backends, Configuration Flow, and Client API](#page-deployment-and-client)\n\n<a id='page-overview'></a>\n\n## Platform Overview and System Architecture\n\n### Related Pages\n\nRelated topics: [Built-in Server Templates and Usage Guide](#page-builtin-templates), [Deployment Backends, Configuration Flow, and Client API](#page-deployment-and-client)\n\n<details>\n<summary>Related Source Files</summary>\n\nThe following source files were used to generate this page:\n\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)\n- [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)\n- [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)\n- [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)\n- [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)\n- [mcp_platform/template/templates/slack/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/slack/README.md)\n- [mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)\n</details>\n\n# Platform Overview and System Architecture\n\n## Purpose and Scope\n\nMCP-Platform is a deployment framework for Model Context Protocol (MCP) servers. It packages a curated set of pre-built server templates (databases, developer tools, ticketing, messaging, search) and provides a unified CLI and runtime that turns a single command into a running, containerized MCP endpoint. The platform's stated goal is to let AI developers focus on integration rather than infrastructure, by replacing ad-hoc Docker, transport, and configuration plumbing with a templated, opinionated workflow. Source: [README.md:9-15]()\n\nThe project supersedes the legacy `mcp-templates` package. Existing configurations, Docker images, and deployment workflows remain compatible, but the active development line is the `mcp-platform` distribution installed via `pip install mcp-platform` and operated through the `mcpp` command. Source: [README.md:1-7]()\n\n## High-Level System Architecture\n\nThe platform is organized into three cooperating layers: a **Template Library**, a **Core Engine**, and a **Client/CLI surface**.\n\n```mermaid\nflowchart TB\n    User([User / LLM Client]) --> CLI[mcpp CLI / Interactive REPL]\n    CLI --> Core[Core Engine\\nCacheManager · ConfigProcessor · ResponseFormatter]\n    Core --> Discovery[Template Discovery]\n    Discovery --> Library[(Template Library\\ndemo · github · gitlab · slack · zendesk · postgres · bigquery · trino · elasticsearch)]\n    Core --> Deployer[Containerized Deployer]\n    Deployer --> Docker[(Docker Engine)]\n    Docker --> MCPServer[MCP Server Process]\n    MCPServer --> Tools[Tool Surface\\nstdio · HTTP · SSE]\n    User -.calls tools.-> Tools\n```\n\nThe **Template Library** is the canonical set of directories under `mcp_platform/template/templates/`. Each template is a self-contained package (server code, configuration schema, documentation, and Docker assets) that the platform can list, validate, and deploy. Source: [mcp_platform/template/utils/__init__.py:1-8]()\n\nThe **Core Engine** is a set of utilities for discovering templates, processing configuration, formatting responses, and caching template metadata. The README advertises a 6-hour template cache with automatic invalidation to accelerate repeated operations. Source: [README.md:60-64]()\n\nThe **Client/CLI surface** is what the operator actually invokes. The non-interactive `mcpp` command handles one-shot lifecycle operations (`list`, `deploy`, `logs`, `tools`, `call`), while the interactive REPL — built on Typer — provides tab completion, command history, and session-style tool execution through `MCPClient`. Source: [mcp_platform/cli/interactive_cli.py:7-19]()\n\n## Template System and Lifecycle\n\nA template is more than a script — it is a deployable unit with a structured layout. The reference implementation in `templates/demo/` demonstrates the contract: a `server.py` entry point, a `config.py` schema module, FastMCP-decorated tools, a `requirements.txt`, a Dockerfile, and a docs directory. Source: [mcp_platform/template/templates/demo/README.md:9-14]()\n\nTemplates are discovered dynamically. The `TemplateDiscovery` utility (exported from `mcp_platform.template.utils`) scans the templates directory and surfaces each entry to the CLI. Source: [mcp_platform/template/utils/__init__.py:7-12]()\n\nWhen an operator needs a new integration that does not exist yet, the `TemplateCreator` class scaffolds one. It is an interactive Rich-based prompt flow that asks for an ID, name, and capabilities, then materializes a complete template directory (config, server stub, tests, docs) by adapting a shared `config.py` template. Source: [mcp_platform/template/utils/creation.py:24-44]()\n\nThe platform encourages reuse of upstream MCP implementations rather than rewriting them. Several templates wrap existing open-source MCP servers and surface them through a uniform configuration and deployment layer:\n\n| Template | Wrapped Capability | Configuration Mechanism | Source |\n|----------|-------------------|------------------------|--------|\n| demo | Reference FastMCP server with `say_hello`, `get_server_info`, `echo_message` | `MCP_HELLO_FROM`, `MCP_LOG_LEVEL` env vars | [mcp_platform/template/templates/demo/README.md:53-72]() |\n| github | 77+ GitHub API tools (repos, issues, PRs, actions) | `GITHUB_PERSONAL_ACCESS_TOKEN` | [mcp_platform/template/templates/github/README.md:1-12]() |\n| gitlab | 66+ GitLab tools (repos, MRs, pipelines, wiki, milestones) | `GITLAB_PERSONAL_ACCESS_TOKEN`, optional `GITLAB_READ_ONLY_MODE` | [mcp_platform/template/templates/gitlab/README.md:5-28]() |\n| slack | Channels, DMs, thread reads (XOXP or XOXC/XOXD tokens) | `SLACK_MCP_XOXP_TOKEN` or token pair | [mcp_platform/template/templates/slack/README.md:11-29]() |\n| zendesk | Tickets, users, knowledge base, analytics | Zendesk API credentials | [mcp_platform/template/templates/zendesk/README.md:1-15]() |\n\nCommunity requests have shaped recent additions. The Postgres template shipped in release 1.3.0, the gateway improvements in the same release, and a Snowflake template has been requested to follow the Postgres pattern (issues #24, #41). The Trino template was rewritten in release 1.2.0 and the Elasticsearch template added dual-engine support. Source: [release notes referenced in community context]()\n\n## Configuration, Transports, and Execution\n\nConfiguration is intentionally multi-channel. A single deployment can receive values from JSON files, YAML files, environment variables, CLI `--config key=value` flags, or override parameters. The override path performs type conversion (`\"true\"` → `bool`, `\"123\"` → `int`, JSON-like strings → `list`/`dict`), which is exercised by the demo template's `demonstrate_overrides` helper. Source: [mcp_platform/template/templates/demo/README.md:21-30]()\n\nTransports are abstracted. Templates expose `stdio` (default for many wrapped servers), HTTP (the demo defaults to HTTP on port 7071), and SSE where the upstream server supports it. The interactive CLI routes tool calls through `MCPClient` rather than raw HTTP, ensuring the platform's own error handling and formatting apply uniformly. Source: [mcp_platform/cli/interactive_cli.py:24-31](), [mcp_platform/template/templates/demo/README.md:37-47]()\n\nThe interactive REPL has been deliberately simplified: the prior implicit \"select a template for the session and auto-inject it\" behavior has been removed. Commands now require explicit template arguments and surface clear errors when omitted, trading a small ergonomic shortcut for predictable, scriptable behavior. Source: [mcp_platform/cli/interactive_cli.py:42-47]()\n\n## Known Failure Modes and Community Notes\n\n- **Documentation drift across templates** is a known issue (#28): the `docs/` directory under each template is inconsistent in its usage instructions. New template authors should follow the demo's structure.\n- **Stale tool-calling examples** have appeared in some template READMEs (e.g., BigQuery, #27) showing direct API calls rather than the `mcpp` / `MCPClient` flow. The platform's intended path is always through the client or CLI.\n- **Docs build workflow** has failed on shallow clones due to `setuptools_scm` warnings (#43), which can break the GitHub Actions documentation pipeline if not handled.\n\n## See Also\n\n- Template Creation Utility\n- CLI Reference\n- Configuration Schema and Overrides\n- Demo Template Walkthrough\n- Adding a New Template (Contributor Guide)\n\n---\n\n<a id='page-builtin-templates'></a>\n\n## Built-in Server Templates and Usage Guide\n\n### Related Pages\n\nRelated topics: [Creating Custom Templates and Extensions](#page-custom-templates), [Deployment Backends, Configuration Flow, and Client API](#page-deployment-and-client)\n\n<details>\n<summary>Related Source Files</summary>\n\nThe following source files were used to generate this page:\n\n- [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)\n- [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)\n- [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)\n- [mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)\n- [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)\n</details>\n\n# Built-in Server Templates and Usage Guide\n\n## Overview and Purpose\n\nThe MCP Platform ships with a curated library of built-in server templates under `mcp_platform/template/templates/`. Each template wraps a real-world service (databases, code hosting platforms, ticketing systems, search engines, demos) into a deployable MCP server with consistent configuration, transport handling, and tool exposure. Templates expose `template.json` metadata alongside a FastMCP-based Python server, enabling one-command deployment via the `mcpp` CLI.\n\nThe platform's core promise is \"zero-configuration deployment of production-ready MCP servers with Docker containers\" (Source: [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)), and the template system is the mechanism that delivers it. Discovery, instantiation, and registration of templates are handled by the `TemplateDiscovery` and `TemplateCreator` classes exposed from the package entry point (Source: [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)).\n\n## Template Architecture\n\nA template follows a modular layout: a `config.py` (typed config + env mapping), a `tools.py` (FastMCP tool definitions), and a `server.py` entrypoint. The `demo` template documents this structure explicitly, noting that the modular design makes each module \"testable, maintainable, extensible, reusable\" (Source: [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)).\n\n```mermaid\nflowchart LR\n    A[mcpp CLI] --> B[TemplateDiscovery]\n    B --> C[Template Catalog]\n    C --> D[config.py]\n    C --> E[tools.py]\n    C --> F[server.py]\n    D --> G[FastMCP Server]\n    E --> G\n    F --> G\n    G --> H[Docker Container]\n    G --> I[stdio Transport]\n    G --> J[HTTP/SSE Transport]\n    H --> K[MCP Client / LLM]\n    I --> K\n    J --> K\n```\n\n`TemplateDiscovery` enumerates all templates under the `TEMPLATES_DIR` constant, while `TemplateCreator` generates new templates from a `config.py` base, scaffolding a directory tree complete with a `Dockerfile`, `README.md`, `USAGE.md`, `docs/index.md`, and pytest suite (Source: [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n\n## Built-in Template Catalog\n\nThe catalog spans demos, developer platforms, ticketing, search, and databases. The community has been actively extending this list — feature requests exist for Snowflake, Trino, Elasticsearch, BigQuery, and a Postgres-based Snowflake replica, reflecting user demand for broader enterprise data coverage (Source: GitHub issues #24, #33, #36, #41).\n\n| Template | Primary Domain | Notable Capabilities | Source |\n|----------|----------------|----------------------|--------|\n| `demo` | Reference | Greeting tools, override demonstration, FastMCP HTTP-first | [demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md) |\n| `github` | Code Hosting | 77 tools covering repos, branches, issues, PRs, Actions, security | [github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md) |\n| `gitlab` | Code Hosting | 66+ tools for repos, issues, MRs, pipelines, wiki, milestones | [gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md) |\n| `zendesk` | Support | Ticket CRUD, user mgmt, knowledge base, analytics, orgs | [zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md) |\n| `postgres`, `trino`, `bigquery`, `elasticsearch` | Databases / Search | Shipped in releases 1.2.0 and 1.3.0 | Release notes in repository |\n\n### Demo Template Usage\n\nThe demo template is the canonical example. It exposes three tools — `say_hello`, `get_server_info`, and `echo_message` — and demonstrates both CLI and override-driven configuration (Source: [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)). Local usage:\n\n```bash\npip install -r requirements.txt\npython server.py --hello-from \"Custom Server\" --log-level debug\npython server.py --transport stdio\n```\n\nDocker usage binds port `7071` by default and can join the `mcp-platform` network for multi-container deployments.\n\n### GitHub Template Usage\n\nThe GitHub template wraps the official GitHub MCP server and exposes 77 tools grouped into repository, branch, issue, PR, Actions, and security categories. It emphasizes \"dynamic tool discovery, comprehensive monitoring, auto-scaling, configuration management, and security\" (Source: [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)). Users authenticate via GitHub tokens passed through the `env` block in their MCP client configuration.\n\n### GitLab Template Usage\n\nThe GitLab template supports `stdio`, SSE, and Streamable HTTP transports, plus a read-only mode (`GITLAB_READ_ONLY_MODE=true`) and feature toggles such as `USE_GITLAB_WIKI`, `USE_MILESTONE`, and `USE_PIPELINE` for granular capability control (Source: [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)). Self-hosted GitLab Enterprise requires setting `GITLAB_API_URL` and optionally `HTTP_PROXY`.\n\n## Template Lifecycle and CLI Integration\n\nThe interactive CLI (`mcpp`) provides session-level commands for browsing templates, listing tools, and calling them. It requires readline for command history and tab completion and lazily imports `typer`, `rich`, and `MCPClient` to keep startup fast (Source: [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)). Note that the previous \"select template for session\" injection logic has been removed — commands now require an explicit template argument to avoid ambiguity.\n\nCreating a new template from scratch is interactive:\n\n```bash\nmcpp create my-template\n```\n\nThe `TemplateCreator.create_template_interactive` method walks the user through id, name, description, image, capabilities, and config schema, then writes `template.json`, `config.py`, `tools.py`, `server.py`, `Dockerfile`, `README.md`, `USAGE.md`, and `docs/index.md` (Source: [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)). It generates a class name like `MyTemplateServerConfig` from the kebab-case id and stamps `metadata`, `env_mapping`, and `required` fields directly from the gathered schema.\n\n## Common Failure Modes and Community Notes\n\nSeveral recurring community pain points surface around templates:\n\n- **Documentation inconsistency** — Per-template `docs/` directories have historically differed in usage instructions (Source: GitHub issue #28). The `TemplateCreator` now generates `docs/index.md` from a shared layout to standardize the contract.\n- **Incorrect tool-call examples** — Older BigQuery docs showed raw HTTP-style calls rather than the `mcpp` client flow; this is addressed by routing all examples through `client.call` (Source: GitHub issue #27, see [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md) for the canonical pattern).\n- **Docs build failures** — The GitHub Actions `build-docs` workflow has been observed failing on shallow clones (Source: GitHub issue #43); this affects CI only and not runtime behavior.\n- **Extending to new data sources** — Community requests consistently follow the same pattern: replicate an existing template's directory layout, map authentication env vars, and add a `template.json` entry (Source: GitHub issues #24, #33, #36, #41).\n\nFor advanced troubleshooting, the demo template documents debug logging via `MCP_LOG_LEVEL=debug`, port conflicts (`python server.py --port 7072`), and Docker network creation (`docker network create mcp-platform`) (Source: [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)).\n\n## See Also\n\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md) — Top-level project overview and migration from `mcp-templates`.\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py) — Reference for authoring new templates.\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py) — Interactive `mcpp>` shell internals.\n- Release notes for `release-pypi-1.1.0` through `release-pypi-1.3.1` — Per-template changelog.\n\n---\n\n<a id='page-custom-templates'></a>\n\n## Creating Custom Templates and Extensions\n\n### Related Pages\n\nRelated topics: [Built-in Server Templates and Usage Guide](#page-builtin-templates), [Deployment Backends, Configuration Flow, and Client API](#page-deployment-and-client)\n\n<details>\n<summary>Related Source Files</summary>\n\nThe following source files were used to generate this page:\n\n- [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)\n- [mcp_platform/template/utils/discovery.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/discovery.py)\n- [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)\n- [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)\n- [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)\n- [mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)\n- [mcp_platform/client/client.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/client/client.py)\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)\n</details>\n\n# Creating Custom Templates and Extensions\n\n## Overview and Scope\n\nMCP-Platform ships a template system that lets developers package an MCP server, its configuration schema, Docker assets, and documentation into a single deployable unit. Once installed (`pip install mcp-platform`), every template becomes addressable through the unified `mcpp` CLI for operations such as `mcpp deploy <template>`, `mcpp tools <template>`, and `mcpp call <template> <tool>` ([README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)).\n\nThe platform supports three modes of extension:\n\n1. **Author a brand-new template** via the interactive `TemplateCreator` ([mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n2. **Replicate an existing template** by cloning its directory layout (the pattern requested by the community for Snowflake, Trino, and Elasticsearch — see issues [#41](https://github.com/Data-Everything/MCP-Platform/issues/41), [#36](https://github.com/Data-Everything/MCP-Platform/issues/36), [#33](https://github.com/Data-Everything/MCP-Platform/issues/33)).\n3. **Wire an external MCP server** (such as the official GitHub or GitLab server) into the platform's configuration and discovery flow ([mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)).\n\nDiscovery and runtime resolution are handled by `TemplateDiscovery` and `MCPClient` ([mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py), [mcp_platform/client/client.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/client/client.py)).\n\n## Architecture of a Template\n\nEvery shipped template lives under `mcp_platform/template/templates/<id>/` and follows a consistent four-module structure, as documented for the reference `demo` template ([mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)).\n\n```mermaid\nflowchart LR\n    A[template.json<br/>metadata + config_schema] --> B[config.py<br/>typed ServerConfig]\n    B --> C[tools.py<br/>FastMCP tool defs]\n    C --> D[server.py<br/>CLI + transport]\n    D --> E[Dockerfile + docs/]\n    E --> F[mcpp deploy &lt;id&gt;]\n    A --> G[TemplateDiscovery]\n    G --> F\n```\n\nThe `template.json` file declares the template's id, description, image reference, and the JSON Schema that drives runtime configuration. `config.py` exposes a typed `ServerConfig` class generated from that schema. `tools.py` registers FastMCP tool functions with `@mcp.tool` decorators, and `server.py` wires the FastMCP instance to the chosen transport (stdio, SSE, or streamable HTTP). Documentation under `docs/` is consumed both by the deployer and by the `scripts/build_docs.py` GitHub workflow ([mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)).\n\n## Using the TemplateCreator\n\n`TemplateCreator` is the primary authoring entry point. It accepts either an interactive prompt session or a YAML/JSON config file passed through `create_template_interactive(template_id, config_file)` ([mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n\nThe interactive flow:\n\n1. Verifies the destination directory under `templates/<id>/`. If the directory exists, the user is asked to confirm overwrite before any file is generated.\n2. Collects template metadata (name, description, capabilities, image tag) and the list of `config_schema` properties plus their `env_mapping` names.\n3. Renders a Rich `Panel` summary and requires a final confirmation before any disk mutation.\n4. Generates `config.py` by loading the demo `config.py` and adapting class names (`<CamelCase>ServerConfig`) and template-specific labels ([mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n5. Writes `server.py`, `tools.py`, `template.json`, a `Dockerfile`, `README.md`, `USAGE.md`, and `docs/index.md`.\n\nThe non-interactive path (`_create_from_config_file`) is recommended for CI and for replicating an existing template from a versioned specification, mirroring how the community proposed Snowflake and Elasticsearch templates be derived from Postgres and the official Elastic MCP server ([#41](https://github.com/Data-Everything/MCP-Platform/issues/41), [#33](https://github.com/Data-Everything/MCP-Platform/issues/33)).\n\n## Replication Pattern and External Integrations\n\nThe Postgres template, added in release 1.3.0, has become the reference blueprint for database-backed templates. Issue [#41](https://github.com/Data-Everything/MCP-Platform/issues/41) explicitly asks contributors to \"replicate the same pattern, same directory structure\" when creating the Snowflake template, while issue [#36](https://github.com/Data-Everything/MCP-Platform/issues/36) proposes the same for Trino, pointing to the upstream Docker image `ghcr.io/tuannvm/mcp-trino:latest`.\n\nFor external server integrations, the GitHub and GitLab templates demonstrate how to wrap an existing MCP server implementation rather than rewrite it. The GitLab template ships 66+ tools covering issues, merge requests, pipelines, wiki, and milestones, and exposes toggles such as `GITLAB_READ_ONLY_MODE`, `USE_GITLAB_WIKI`, `USE_MILESTONE`, and `USE_PIPELINE` for runtime feature control ([mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)). The GitHub template similarly advertises 77 tools with token-based authentication and dynamic discovery ([mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)). Zendesk shows the data-API integration shape with rate-limiting and cache configuration ([mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)).\n\nIn every case, runtime validation flows through `MCPClient.validate_template`, which calls `TemplateManager.validate_template` to confirm schema correctness before deployment ([mcp_platform/client/client.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/client/client.py)).\n\n## Common Pitfalls and Failure Modes\n\nTwo recurring issues shape how new templates should be reviewed:\n\n- **Documentation inconsistency** ([#28](https://github.com/Data-Everything/MCP-Platform/issues/28)): per-template docs under `mcp_platform/template/templates/<id>/docs/` drift in format and content. Templates should follow the structure emitted by `_create_docs_index` — a top-level overview, a configuration table keyed on `env_mapping`, and per-capability usage sections with example arguments ([mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)).\n- **Documentation build failure** ([#43](https://github.com/Data-Everything/MCP-Platform/issues/43)): the `scripts/build_docs.py` workflow fails on shallow clones because `setuptools_scm` cannot resolve git history. Templates should not depend on undocumented `setuptools_scm` state at build time.\n- **Tool-call instructions** ([#27](https://github.com/Data-Everything/MCP-Platform/issues/27)): BigQuery docs originally described an API-style invocation. Templates must instead document the `mcpp call <template> <tool> '<args>'` flow, which is the only contract honored by the interactive CLI ([mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)).\n\nAdhering to the `TemplateCreator`-generated skeleton avoids all three classes of bug and keeps templates consistent with the platform's discovery, configuration, and deployment pipeline.\n\n## See Also\n\n- CLI Reference: `mcpp deploy`, `mcpp tools`, `mcpp call` ([README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md))\n- Interactive CLI usage ([mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py))\n- Demo template walkthrough ([mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md))\n- Postgres template release notes ([release-pypi-1.3.0](https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.3.0))\n\n---\n\n<a id='page-deployment-and-client'></a>\n\n## Deployment Backends, Configuration Flow, and Client API\n\n### Related Pages\n\nRelated topics: [Platform Overview and System Architecture](#page-overview), [Creating Custom Templates and Extensions](#page-custom-templates)\n\n<details>\n<summary>Related Source Files</summary>\n\nThe following source files were used to generate this page:\n\n- [mcp_platform/cli/cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/cli.py)\n- [mcp_platform/cli/interactive_cli.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/cli/interactive_cli.py)\n- [mcp_platform/template/utils/__init__.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/__init__.py)\n- [mcp_platform/template/utils/creation.py](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/utils/creation.py)\n- [README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/README.md)\n- [mcp_platform/template/templates/demo/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/demo/README.md)\n- [mcp_platform/template/templates/gitlab/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/gitlab/README.md)\n- [mcp_platform/template/templates/github/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/github/README.md)\n- [mcp_platform/template/templates/zendesk/README.md](https://github.com/Data-Everything/MCP-Platform/blob/main/mcp_platform/template/templates/zendesk/README.md)\n</details>\n\n# Deployment Backends, Configuration Flow, and Client API\n\n## Overview\n\nMCP-Platform exposes a uniform client API (`MCPClient`) that fronts multiple deployment backends (Docker, Kubernetes, Mock) so the CLI, interactive shell, and programmatic callers can deploy, introspect, and invoke MCP servers without backend-specific code paths. The platform's design — confirmed in release 1.3.1 which added a kubeconfig environment variable config for the Kubernetes backend — is \"configure once, deploy anywhere\" through a normalized configuration flow that flows from template schema → environment variables → backend runtime.\n\nSource: [README.md:1-60]()\nSource: [mcp_platform/cli/cli.py:1-80]()\n\n## Deployment Backends\n\nThe backend layer abstracts container orchestration so a single `mcpp deploy` call works against any registered backend. The CLI defaults to the active backend stored in `cli_state[\"backend_type\"]`, and users can override it per-invocation with `--backend`.\n\n| Backend | Typical Use | Key Configuration |\n|---------|-------------|-------------------|\n| `docker` | Local development and single-host deployments | Docker socket access, image name, port mapping |\n| `kubernetes` | Production / multi-node clusters | Kubeconfig (file or env), namespace, context (added in 1.3.1) |\n| `mock` | Tests, CI dry-runs, and offline exploration | None — in-process simulation |\n\nThe CLI's `list_templates(include_deployed_status=True, all_backends=not backend)` call demonstrates the multi-backend design: the client can aggregate status across every registered backend or scope to one. The multi-manager internally exposes `_multi_manager.get_available_backends()` so the table renderer can dynamically add a column per backend.\n\nSource: [mcp_platform/cli/cli.py:40-90]()\nSource: [mcp_platform/cli/interactive_cli.py:55-90]()\n\n> **Community note:** Release **1.3.1** explicitly introduced \"Kubeconfig environment variable config\", reflecting user demand for the Kubernetes backend to be a first-class deployment target alongside Docker. See [Release 1.3.1](https://github.com/Data-Everything/MCP-Platform/releases/tag/release-pypi-1.3.1).\n\n## Configuration Flow\n\nConfiguration travels through four well-defined stages, each represented by a dedicated module or class in the codebase:\n\n```mermaid\nflowchart LR\n    A[Template config_schema] --> B[ConfigProcessor]\n    C[CLI flags / JSON / YAML] --> B\n    D[Environment variables] --> B\n    B --> E[Backend-specific env]\n    E --> F[Deployment]\n```\n\n1. **Template declaration** — Each template ships a JSON schema describing its required and optional parameters. The schema is the single source of truth and is consumed by the `ConfigProcessor` to validate user input. Templates in `mcp_platform/template/templates/` (e.g., `gitlab`, `github`, `zendesk`, `demo`) all follow this pattern.\n\n2. **User input** — Users supply values through any of four channels: CLI flags, JSON files, YAML files, or environment variables. The interactive CLI additionally supports live `configure <TEMPLATE> KEY=VALUE` commands that mutate session state.\n\n3. **Normalization** — `ConfigProcessor` (imported by the interactive CLI) merges inputs, applies precedence rules, and performs the type conversion documented in the demo template (booleans from `\"true\"/\"false\"`, integers, floats, JSON arrays, JSON objects).\n\n4. **Backend materialization** — The resolved configuration is translated into the backend's native representation (e.g., Docker `--env` flags or Kubernetes env entries in a Pod spec) and dispatched to the chosen backend for deployment.\n\nSource: [mcp_platform/cli/interactive_cli.py:55-65]()\nSource: [mcp_platform/template/utils/creation.py:140-200]()\nSource: [mcp_platform/template/templates/demo/README.md:80-140]()\n\n### Override Semantics\n\nOverrides target two distinct layers:\n\n| Override Type | Effect |\n|---------------|--------|\n| Configuration properties | Mutate values that become environment variables on the deployed server (e.g., `MCP_HELLO_FROM`) |\n| Template metadata | Modify structural fields like description, version, or capability names |\n\nThe demo template exposes a `demonstrate_overrides` tool specifically to help users verify both override patterns against a running deployment.\n\nSource: [mcp_platform/template/templates/demo/README.md:60-110]()\n\n## Client API Surface\n\n`MCPClient` is the single entry point used by both the one-shot CLI (`cli.py`) and the interactive REPL (`interactive_cli.py`). It is constructed with a `backend_type` argument and exposes methods that map 1:1 to the CLI's top-level commands:\n\n- `list_templates(include_deployed_status, all_backends)` — enumerates templates; used by `mcpp list`.\n- `list_deployments(backend, output_format)` — returns running deployments; powers `mcpp list-deployments`.\n- `deploy(template_id, config, ...)` — deploys a template via the active backend.\n- `call_tool(template, tool_name, args)` — invokes a tool on a running deployment.\n- `get_tools(template)` — discovers and catalogs the tools a deployed server exposes.\n\nThe interactive CLI explicitly removes an older \"template selection + auto-injection\" feature, citing a comment in source: *\"Selection/injection logic removed: commands must be called with an explicit template... that feature has been removed to simplify the interactive CLI.\"* This means every command now requires the template to be passed explicitly, producing clearer error messages.\n\nSource: [mcp_platform/cli/cli.py:1-90]()\nSource: [mcp_platform/cli/interactive_cli.py:55-100]()\n\n### Template Discovery and Creation Utilities\n\nThe `mcp_platform.template.utils` package provides two complementary helpers, exported from its `__init__.py`:\n\n- `TemplateDiscovery` — locates templates on disk, reads their `config_schema` and metadata, and surfaces them to the client.\n- `TemplateCreator` — generates a new, fully formed template directory (config.py, server module, tests, docs) by copying and adapting the `demo` template's `config.py` and prompting the user for template-specific fields such as name, description, and capabilities. It is the tool behind `mcpp create-template` and the workflow used to add new servers like Snowflake and Elasticsearch (community feature requests #24 and #33).\n\nSource: [mcp_platform/template/utils/__init__.py:1-15]()\nSource: [mcp_platform/template/utils/creation.py:1-200]()\n\n> **Community note:** Several open issues (#24 Snowflake, #33 Elasticsearch, #36 Trino, #41 \"replicate postgres template for snowflake\") follow exactly the workflow `TemplateCreator` codifies — clone the `postgres` / `demo` pattern, supply authentication config, generate docs under `docs/`. The recurring bug **#28** (\"Templates specific documentation inconsistent\") is a known consequence of this hand-rolled replication and motivates stricter template scaffolding.\n\n## Common Failure Modes\n\n1. **Misaligned template docs** — As reported in issue **#28**, per-template documentation under `docs/` diverges because the generation step in `creation.py` produces free-form Markdown. Prefer running the generated docs through the docs build (the build failure tracked in issue **#43**) to surface inconsistencies early.\n\n2. **Wrong tool-call mechanism in template docs** — Issue **#27** shows the BigQuery template originally described tool invocation as raw HTTP calls. The correct path is the `MCPClient.call_tool()` API surfaced by the CLI, not bespoke HTTP.\n\n3. **Backend unavailable** — The multi-backend `list_templates` call silently hides backends that are not installed (e.g., no `kubectl` configured). Confirm with the explicit `--backend docker|kubernetes|mock` flag.\n\n4. **Configuration precedence surprises** — Environment variables win over CLI flags only when intentionally layered; consult the `ConfigProcessor` source when troubleshooting.\n\n## See Also\n\n- [Templates Catalog](Templates-Catalog.md) — full list of bundled templates\n- [CLI Reference](CLI-Reference.md) — every `mcpp` subcommand\n- [Interactive Shell](Interactive-Shell.md) — REPL usage and tab completion\n- [Configuration Schema](Configuration-Schema.md) — authoring your own `config_schema`\n\n---\n\n<!-- evidence_pipeline_checked: true -->\n<!-- evidence_injected: true -->\n\n---\n\n## Pitfall Log\n\nProject: Data-Everything/MCP-Platform\n\nSummary: Found 14 structured pitfall item(s), including 0 high/blocking item(s). Top priority: Capability evidence risk - Capability evidence risk requires verification.\n\n## 1. Capability evidence risk - Capability evidence risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: README/documentation is current enough for a first validation pass.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: capability.assumptions | https://github.com/Data-Everything/MCP-Platform\n\n## 2. Maintenance risk - Maintenance risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a maintenance risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n\n## 3. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: no_demo\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: downstream_validation.risk_items | https://github.com/Data-Everything/MCP-Platform\n\n## 4. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: no_demo\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: risks.scoring_risks | https://github.com/Data-Everything/MCP-Platform\n\n## 5. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/27\n\n## 6. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/43\n\n## 7. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/28\n\n## 8. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/20\n\n## 9. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/41\n\n## 10. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/24\n\n## 11. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/33\n\n## 12. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/36\n\n## 13. Maintenance risk - Maintenance risk requires verification\n\n- Severity: low\n- Evidence strength: source_linked\n- Finding: issue_or_pr_quality=unknown。\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n\n## 14. Maintenance risk - Maintenance risk requires verification\n\n- Severity: low\n- Evidence strength: source_linked\n- Finding: release_recency=unknown。\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n\n<!-- canonical_name: Data-Everything/MCP-Platform; human_manual_source: deepwiki_human_wiki -->\n",
      "summary": "Full DeepWiki/Human Wiki output with Doramagic pitfall notes appended.",
      "title": "Human Manual"
    },
    "pitfall_log": {
      "asset_id": "pitfall_log",
      "filename": "PITFALL_LOG.md",
      "markdown": "# Pitfall Log\n\nProject: Data-Everything/MCP-Platform\n\nSummary: Found 14 structured pitfall item(s), including 0 high/blocking item(s). Top priority: Capability evidence risk - Capability evidence risk requires verification.\n\n## 1. Capability evidence risk - Capability evidence risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: README/documentation is current enough for a first validation pass.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: capability.assumptions | https://github.com/Data-Everything/MCP-Platform\n\n## 2. Maintenance risk - Maintenance risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a maintenance risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n\n## 3. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: no_demo\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: downstream_validation.risk_items | https://github.com/Data-Everything/MCP-Platform\n\n## 4. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: no_demo\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: risks.scoring_risks | https://github.com/Data-Everything/MCP-Platform\n\n## 5. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/27\n\n## 6. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/43\n\n## 7. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/28\n\n## 8. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/20\n\n## 9. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/41\n\n## 10. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/24\n\n## 11. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/33\n\n## 12. Security or permission risk - Security or permission risk requires verification\n\n- Severity: medium\n- Evidence strength: source_linked\n- Finding: Project evidence flags a security or permission risk. Review the linked source before relying on this workflow.\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: community_evidence:github | https://github.com/Data-Everything/MCP-Platform/issues/36\n\n## 13. Maintenance risk - Maintenance risk requires verification\n\n- Severity: low\n- Evidence strength: source_linked\n- Finding: issue_or_pr_quality=unknown。\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n\n## 14. Maintenance risk - Maintenance risk requires verification\n\n- Severity: low\n- Evidence strength: source_linked\n- Finding: release_recency=unknown。\n- User impact: May increase setup, validation, or first-run risk for the user.\n- Evidence: evidence.maintainer_signals | https://github.com/Data-Everything/MCP-Platform\n",
      "summary": "Identity, install, configuration, runtime, and safety issues to check before use.",
      "title": "Pitfall Log"
    },
    "prompt_preview": {
      "asset_id": "prompt_preview",
      "filename": "PROMPT_PREVIEW.md",
      "markdown": "# MCP-Platform - Prompt Preview\n\n> Copy the prompt below into your AI host before installing anything.\n> Its purpose is to let you safely feel the project's workflow, not to claim the project has already run.\n\n## Copy this prompt\n\n```text\nYou are using an independent Doramagic capability pack for Data-Everything/MCP-Platform.\n\nProject:\n- Name: MCP-Platform\n- Repository: https://github.com/Data-Everything/MCP-Platform\n- Summary: A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs\n- Host target: mcp_host\n\nGoal:\nHelp me evaluate this project for the following task without installing it yet: A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs\n\nBefore taking action:\n1. Restate my task, success standard, and boundary.\n2. Identify whether the next step requires tools, browser access, network access, filesystem access, credentials, package installation, or host configuration.\n3. Use only the Doramagic Project Pack, the upstream repository, and the source-linked evidence listed below.\n4. If a real command, install step, API call, file write, or host integration is required, mark it as \"requires post-install verification\" and ask for approval first.\n5. If evidence is missing, say \"evidence is missing\" instead of filling the gap.\n\nPreviewable capabilities:\n- Capability 1: A flexible platform that provides Docker & Kubernetes backends, a lightweight CLI (mcpt), and client utilities for seamless MCP integration. Spin up servers from templates, route requests through a single endpoint with load balancing, and support both deployed (HTTP) and local (stdio) transports — all with sensible defaults and YAML-based configs\n\nCapabilities that require post-install verification:\n- Capability 1: Use the source-backed project context to guide one small, checkable workflow step.\n\nCore service flow:\n1. page-overview: Platform Overview and System Architecture. Produce one small intermediate artifact and wait for confirmation.\n2. page-builtin-templates: Built-in Server Templates and Usage Guide. Produce one small intermediate artifact and wait for confirmation.\n3. page-custom-templates: Creating Custom Templates and Extensions. Produce one small intermediate artifact and wait for confirmation.\n4. page-deployment-and-client: Deployment Backends, Configuration Flow, and Client API. Produce one small intermediate artifact and wait for confirmation.\n\nSource-backed evidence to keep in mind:\n- https://github.com/Data-Everything/MCP-Platform\n- https://github.com/Data-Everything/MCP-Platform#readme\n- README.md\n- mcp_platform/__init__.py\n- mcp_platform/__main__.py\n- mcp_platform/__version__.py\n- mcp_platform/utils/__init__.py\n- mcp_platform/core/__init__.py\n- mcp_platform/template/templates/__init__.py\n- mcp_platform/template/templates/demo/README.md\n\nFirst response rules:\n1. Start Step 1 only.\n2. Explain the one service action you will perform first.\n3. Ask exactly three questions about my target workflow, success standard, and sandbox boundary.\n4. Stop and wait for my answers.\n\nStep 1 follow-up protocol:\n- After I answer the first three questions, stay in Step 1.\n- Produce six parts only: clarified task, success standard, boundary conditions, two or three options, tradeoffs for each option, and one recommendation.\n- End by asking whether I confirm the recommendation.\n- Do not move to Step 2 until I explicitly confirm.\n\nConversation rules:\n- Advance one step at a time and wait for confirmation after each small artifact.\n- Write outputs as recommendations or planned checks, not as completed execution.\n- Do not claim tests passed, files changed, commands ran, APIs were called, or the project was installed.\n- If the user asks for execution, first provide the sandbox setup, expected output, rollback, and approval checkpoint.\n```\n",
      "summary": "A safe trial prompt for feeling the workflow before installing the project.",
      "title": "Prompt Preview / Pre-install Trial Prompt"
    },
    "quick_start": {
      "asset_id": "quick_start",
      "filename": "QUICK_START.md",
      "markdown": "# Quick Start / Official Entry\n\nProject: Data-Everything/MCP-Platform\n\n## Official Install Entry\n\n### Python / pip - Official install entry\n\n```bash\npip install mcp-platform\n```\n\nSource: https://github.com/Data-Everything/MCP-Platform#readme\n\n## Sources\n\n- repo: https://github.com/Data-Everything/MCP-Platform\n- docs: https://github.com/Data-Everything/MCP-Platform#readme\n",
      "summary": "Official entry points extracted from the project README or install docs.",
      "title": "Quick Start / Official Entry"
    }
  },
  "validation_id": "dval_791b3447a12c4316a0c4fb9d14d86064"
}
