{
  "slug": "mcp-builder",
  "category": "skill",
  "name": "The MCP Builder",
  "domaene": "Softwareentwicklung & technische Infrastruktur",
  "typTags": [
    "ausführbar",
    "planend",
    "prüfend"
  ],
  "teaser": "Guides you through research, implementation, testing and evaluation of an MCP server: typed tools, clean error handling, pagination and ten verified evaluation questions for reliable access by a language model to an external service.",
  "hat": {
    "schritte": true,
    "beispiel_szenario": true,
    "ausgabebeispiel": false,
    "konfiguration": false,
    "betrieb": false,
    "arbeitsprompts": false,
    "einrichtung": true,
    "umsetzung": true,
    "export": false,
    "staerken": false,
    "ki_funktionen": false,
    "einschraenkungen": false,
    "weniger_geeignet_fuer": false
  },
  "sections": [
    {
      "id": "description",
      "title": "Description",
      "html": "<p>An MCP server (Model Context Protocol) is the bridge through which a language model can actually operate an external service, not just talk about it. The MCP Builder guides you through the four phases of this build: researching the protocol specification and the matching SDK documentation, implementing core infrastructure and individual tools with typed inputs and outputs, review and testing through the MCP Inspector, and creating ten realistic evaluation questions that show whether a model uses the server productively.</p>\n<p>The skill is built for developers who want to connect an external API or an internal service so that a language model can access it reliably, whether in TypeScript or in Python. It is especially useful when an API already exists and the real question is not whether to connect it, but how: tool scoping, naming conventions, error handling, pagination.</p>\n<p>The honest limit: this skill requires an environment with terminal, file and web access, such as Claude Code, because it actually writes, builds and tests code. It does not replace studying the MCP specification itself or knowing the target API, it only structures the path there. The environment needs the original&#39;s supplementary files on TypeScript, Python and evaluations in addition to this guide.</p>\n"
    },
    {
      "id": "skill-text",
      "title": "Skill Text",
      "html": "<p>This is an openly attributed external skill from Anthropic. Source: <a href=\"https://github.com/anthropics/skills\">https://github.com/anthropics/skills</a></p>\n<p>This skill requires an environment with terminal, file and web access, such as Claude Code, because it researches, implements and tests a complete MCP server. Copy the guide below into your own skill environment if you want to set up this skill yourself. It describes the approach, architecture decisions and quality criteria; the environment additionally needs the original&#39;s referenced supplementary files (language-specific implementation guides, best-practice reference, evaluation guide). As a file: <a href=\"/ai-library/mcp-builder.en.json\">mcp-builder.en.json</a></p>\n"
    }
  ],
  "schritte": [
    {
      "nr": 1,
      "titel": "Define target and language",
      "beschreibung": "The target API or target service, the desired programming language and the available API documentation are named.",
      "rolle": "mensch"
    },
    {
      "nr": 2,
      "titel": "Research and planning",
      "beschreibung": "The MCP specification and SDK documentation are studied, and tool scoping, naming conventions and input and output schemas are defined.",
      "rolle": "automatisch"
    },
    {
      "nr": 3,
      "titel": "Implementation",
      "beschreibung": "Core infrastructure such as the API client, error handling and pagination, along with the individual tools, are built.",
      "rolle": "automatisch"
    },
    {
      "nr": 4,
      "titel": "Test and review",
      "beschreibung": "The build or syntax is checked, and the server is tested through the MCP Inspector.",
      "rolle": "automatisch"
    },
    {
      "nr": 5,
      "titel": "Create evaluation questions",
      "beschreibung": "Ten realistic questions are formulated, solved, verified and documented as an XML file.",
      "rolle": "automatisch"
    },
    {
      "nr": 6,
      "titel": "Approve the server",
      "beschreibung": "The finished server is reviewed and approved before it goes into production use.",
      "rolle": "freigabe"
    }
  ],
  "herausgeber": "Voyage Digital",
  "version": "2.0",
  "stand": "2026-07-26",
  "umsetzung": [
    {
      "titel": "Choose the target service",
      "text": "Starting with a service that already has a documented API and is needed by the team in the near term works best."
    },
    {
      "titel": "Fix language and transport",
      "text": "TypeScript with Streamable HTTP is the recommended default path for remote servers, stdio remains reserved for local servers."
    },
    {
      "titel": "Use the skill in an agentic environment",
      "text": "The skill text is loaded into an environment with terminal, file and web access, such as Claude Code."
    },
    {
      "titel": "Test and have the server approved",
      "text": "Before production use, the server is checked with the MCP Inspector and reviewed by a second person."
    },
    {
      "titel": "Reuse the pattern for further services",
      "text": "Proven naming conventions and error handling are carried over to the next MCP server."
    }
  ],
  "zutaten": [
    "Target API",
    "Programming language",
    "API documentation"
  ],
  "beispielSzenario": "A development team wants to make its internal ticketing system accessible to a language model so it can read, comment on and route open tickets. Building on the existing REST API, the MCP Builder produces a TypeScript based MCP server: descriptive tool names such as tickets_list and tickets_add_comment, typed inputs and outputs, error handling with concrete hints, and ten test questions that show the model reliably finds and processes open tickets.",
  "eingaben": [
    {
      "feld": "Target API or target service that the MCP server should connect",
      "pflicht": true
    },
    {
      "feld": "Programming language: TypeScript or Python (TypeScript recommended)",
      "pflicht": true
    },
    {
      "feld": "API documentation or access to it",
      "pflicht": true
    },
    {
      "feld": "Transport type: Streamable HTTP for remote servers, stdio for local servers",
      "pflicht": false
    },
    {
      "feld": "Existing server code, if extending an existing implementation",
      "pflicht": false
    }
  ],
  "ausgabe": "A researched implementation concept, the complete server code with typed tools, error handling and pagination, a test routine through the MCP Inspector and ten evaluation questions to check whether a language model can use the server productively.",
  "prompt": "# ROLE\nYou build MCP servers (Model Context Protocol) that let language models interact with external services through well-designed tools. The quality of an MCP server is measured by how reliably it helps a model solve real tasks.\n\n# PHASE 1: RESEARCH AND PLANNING\n\n## Understand modern MCP design\nWeigh comprehensive API coverage against specialized workflow tools. Workflow tools are more convenient for individual tasks, comprehensive coverage gives agents more freedom to combine operations themselves. When in doubt, prioritize comprehensive API coverage.\n\nGive tools clear, descriptive names with consistent prefixes (for example github_create_issue, github_list_repos) and action-oriented naming.\n\nKeep tool descriptions concise and provide filtering and pagination so agents get focused, relevant data.\n\nPhrase error messages so they guide the agent toward a solution with concrete suggestions.\n\n## Study the MCP specification and framework documentation\nUse the sitemap at https://modelcontextprotocol.io/sitemap.xml to find relevant pages, and fetch individual pages with the .md extension in markdown format. Check in particular the architecture overview, the transport mechanisms (Streamable HTTP, stdio) and the tool, resource and prompt definitions.\n\nRecommended stack: TypeScript for servers (good SDK support, broad compatibility, models generate reliable TypeScript code), Streamable HTTP with stateless JSON for remote servers, stdio for local servers.\n\nLoad the SDK documentation for the chosen language (TypeScript or Python) along with the corresponding language-specific implementation guides before you start implementing.\n\n## Plan the implementation\nUnderstand the target API: core endpoints, authentication, data models. Prioritize comprehensive API coverage and list the most common operations first.\n\n# PHASE 2: IMPLEMENTATION\n\n## Set up the project structure\nSet up the project structure according to the language-specific guide (package or module structure, dependencies, configuration files).\n\n## Core infrastructure\nBuild shared building blocks: an API client with authentication, error handling, response formatting (JSON or markdown) and pagination support.\n\n## Implement the tools\nFor every tool:\n- Input schema with Zod (TypeScript) or Pydantic (Python), with constraints, clear descriptions and examples.\n- Output schema where possible, for structured data.\n- A concise function description with parameters and return type.\n- Asynchronous processing for I/O operations, clean error handling with concrete hints, pagination where applicable.\n- Annotations: readOnlyHint, destructiveHint, idempotentHint, openWorldHint.\n\n# PHASE 3: REVIEW AND TEST\nCheck the code for duplication, consistent error handling, complete typing and clear tool descriptions.\n\nTypeScript: verify the build with npm run build, test with the MCP Inspector (npx @modelcontextprotocol/inspector).\nPython: check syntax with python -m py_compile, also test with the MCP Inspector.\n\n# PHASE 4: CREATE EVALUATIONS\nCreate ten evaluation questions to check whether a language model can use the server productively.\n\nApproach: review the tools, explore the available data with read-only operations, formulate ten complex, realistic questions, solve each question yourself and verify the answer.\n\nEvery question must be answerable independently of the other questions, require only read-only operations, require multiple tool calls and real exploration, be based on a real use case, have a single answer verifiable by text comparison, and be stable over time.\n\nFormat as an XML file:\n```xml\n<evaluation>\n  <qa_pair>\n    <question>...</question>\n    <answer>...</answer>\n  </qa_pair>\n</evaluation>\n```\n\n# REFERENCE FILES FROM THE ORIGINAL\nThe original bundles supplementary files that a complete environment additionally needs: a best-practice reference on naming conventions, response formats, pagination, transport choice, security and error handling; a TypeScript implementation guide; a Python implementation guide; and an evaluation guide with question format and examples.\n\n# DEFINITION OF DONE\n[ ] Consulted the MCP specification and the SDK documentation for the chosen language\n[ ] Tool names are consistent and action-oriented\n[ ] Input schema and, where possible, output schema defined for every tool\n[ ] Error handling is consistent throughout and gives concrete hints\n[ ] Annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) set\n[ ] Build or syntax check succeeded, test run with the MCP Inspector completed\n[ ] Ten verified, realistic evaluation questions documented as XML\n\n# DEPENDENCIES\nTerminal and file access, access to the MCP specification and the SDK documentation (TypeScript or Python), the MCP Inspector for testing.",
  "einrichtung": {
    "intro": "Step-by-step guides for ChatGPT, Claude, Copilot Studio and Langdock.",
    "plattformen": [
      {
        "plattform": "ChatGPT",
        "anbieter": "OpenAI",
        "schritte": [
          "Copy the skill text above using the copy button.",
          "Click your profile picture and select \"Skills\".",
          "Click \"Create skill\" and paste the copied text as the instruction.",
          "Adjust inputs, outputs and format where your case requires it.",
          "Save the skill. It is available in all chats from that point on."
        ],
        "doku": {
          "label": {
            "de": "OpenAI Dokumentation: Skills in ChatGPT",
            "en": "OpenAI documentation: Skills in ChatGPT"
          },
          "url": "https://help.openai.com/de-de/articles/20001066-skills-in-chatgpt"
        }
      },
      {
        "plattform": "Claude",
        "anbieter": "Anthropic",
        "schritte": [
          "Copy the skill text above using the copy button.",
          "Open claude.ai and go to \"Skills\" in your profile.",
          "Create a new skill and paste the copied text as the instruction.",
          "The skill works in claude.ai, in Claude Code and through the API.",
          "Available on the Pro, Max, Team and Enterprise plans."
        ],
        "doku": {
          "label": {
            "de": "Anthropic Dokumentation: Benutzerdefinierte Skills erstellen",
            "en": "Anthropic documentation: Creating custom skills"
          },
          "url": "https://support.claude.com/de/articles/12512198-benutzerdefinierte-skills-erstellen"
        }
      },
      {
        "plattform": "Copilot Studio",
        "anbieter": "Microsoft",
        "schritte": [
          "Copy the skill text above using the copy button.",
          "Open Copilot Studio and create a new agent.",
          "Paste the copied text as the instruction.",
          "Connect knowledge sources and tools where needed.",
          "Publish the agent for yourself or for your organisation."
        ],
        "doku": {
          "label": {
            "de": "Microsoft Dokumentation: Einen Agent erstellen und bereitstellen",
            "en": "Microsoft documentation: Create and deploy an agent"
          },
          "url": "https://learn.microsoft.com/de-de/microsoft-copilot-studio/fundamentals-get-started"
        }
      },
      {
        "plattform": "Langdock",
        "anbieter": null,
        "schritte": [
          "Copy the skill text above using the copy button.",
          "Open the sidebar and click \"Add skill\".",
          "Paste the copied text directly as the instruction.",
          "Connect the skill to integrations such as Gmail or Slack where needed.",
          "Save the skill and release it for yourself or your team."
        ],
        "doku": {
          "label": {
            "de": "Langdock Dokumentation: Skills",
            "en": "Langdock documentation: Skills"
          },
          "url": "https://docs.langdock.com/de/product/chat/skills"
        }
      }
    ]
  },
  "itemIcon": "plug",
  "recommended": [
    {
      "slug": "codex-cli",
      "category": "tool",
      "name": "OpenAI Codex CLI",
      "teaser": "Locally running terminal coding agent from OpenAI, usable as a standalone coding environment or as an independent adversarial counter-reviewer alongside another coding agent.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "codex-cli.png",
      "logoEinzug": 0.78
    },
    {
      "slug": "playwright",
      "category": "tool",
      "name": "Playwright",
      "teaser": "Playwright is an open source framework for browser automation and end to end testing across Chromium, Firefox and WebKit, built for repeatable test suites, visual regression and ad hoc live inspection.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "playwright.svg",
      "logoEinzug": 1
    },
    {
      "slug": "stripe-agent-skills",
      "category": "tool",
      "name": "Stripe Agent Skills",
      "teaser": "Stripe Agent Skills is Stripe's official collection of agent skills for best practices, project setup and version upgrades, giving AI coding agents current, correct patterns for building Stripe integrations.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "stripe-agent-skills.png",
      "logoEinzug": 0.78
    },
    {
      "slug": "review-protokoll",
      "category": "skill",
      "name": "The Review Protocol",
      "teaser": "Turns rough code review notes into structured, constructive review feedback with severity-sorted remarks, rationale, and a clear approve/request-changes/comment recommendation.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "itemIcon": "search-check"
    },
    {
      "slug": "appwrite",
      "category": "tool",
      "name": "Appwrite",
      "teaser": "Open-source backend platform with authentication, databases, storage, and functions, either self-hosted or run as a managed cloud service.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "appwrite.svg",
      "logoEinzug": 1
    },
    {
      "slug": "azure-machine-learning-studio",
      "category": "tool",
      "name": "Azure Machine Learning Studio",
      "teaser": "Microsoft enterprise platform for the full model lifecycle, from training and model catalog through to secured endpoints inside your own Azure network.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "azure-machine-learning-studio.png",
      "logoEinzug": 1
    },
    {
      "slug": "cloudflare",
      "category": "tool",
      "name": "Cloudflare",
      "teaser": "Cloudflare is a platform for DNS, CDN, edge computing, object storage and zero trust access with a built in web application firewall.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "cloudflare.png",
      "logoEinzug": 0.78
    },
    {
      "slug": "cursor",
      "category": "tool",
      "name": "Cursor",
      "teaser": "Cursor is an AI-native code editor built on VS Code that combines a multi-file Composer, an autonomous Agent Mode and context-aware tab completion for AI-assisted software development.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "cursor.svg",
      "logoEinzug": 1
    },
    {
      "slug": "firebase",
      "category": "tool",
      "name": "Firebase",
      "teaser": "Firebase is Google's Backend-as-a-Service platform for app development, offering Firestore, Authentication, Cloud Functions, Hosting and Gemini-integrated AI features for full-stack teams.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "firebase.png",
      "logoEinzug": 1
    },
    {
      "slug": "lovable",
      "category": "tool",
      "name": "Lovable",
      "teaser": "Lovable is an AI app builder that generates complete web applications with frontend, backend and authentication from natural language, and Voyage Digital uses it as an active build layer in its own website-project stack.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "lovable.svg",
      "logoEinzug": 1
    },
    {
      "slug": "netlify",
      "category": "tool",
      "name": "Netlify",
      "teaser": "Netlify is a hosting and deployment platform for static websites and Jamstack applications with a Git-based build workflow, automatic deploy previews and a global CDN.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "netlify.svg",
      "logoEinzug": 1
    },
    {
      "slug": "opencode",
      "category": "tool",
      "name": "OpenCode",
      "teaser": "Open source AI coding agent for the terminal, IDE, and desktop that analyzes projects through an init routine and works with either your own LLM provider keys or a curated model marketplace.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "opencode.png",
      "logoEinzug": 0.78
    },
    {
      "slug": "runpod",
      "category": "tool",
      "name": "Runpod",
      "teaser": "Cloud platform for GPU compute, billed by the second, with serverless endpoints that scale up on demand and back down to zero.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "runpod.png",
      "logoEinzug": 0.78
    },
    {
      "slug": "stripe",
      "category": "tool",
      "name": "Stripe",
      "teaser": "Stripe is a payment infrastructure with an extensive developer API for payment processing, subscription billing and marketplace payouts.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "stripe.svg",
      "logoEinzug": 0.78
    },
    {
      "slug": "supabase",
      "category": "tool",
      "name": "Supabase",
      "teaser": "Supabase is an open source backend-as-a-service platform built on Postgres, providing database, authentication, storage, and edge functions in a single tool.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "supabase.png",
      "logoEinzug": 0.78
    },
    {
      "slug": "v0",
      "category": "tool",
      "name": "V0",
      "teaser": "V0 is Vercel's AI app builder that turns text prompts or Figma designs into React and Next.js UI components, landing pages and full-stack apps built on Tailwind and Shadcn/UI, deployable to Vercel with one click.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "v0.png",
      "logoEinzug": 0.78
    },
    {
      "slug": "vercel",
      "category": "tool",
      "name": "Vercel",
      "teaser": "Git-centered deployment and hosting platform for web applications, with a built-in AI model gateway, isolated sandboxes for agent-generated code, and a security and observability stack in one interface.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "vercel.svg",
      "logoEinzug": 1
    },
    {
      "slug": "websim",
      "category": "tool",
      "name": "Websim",
      "teaser": "Websim is an AI tool that generates small, interactive web experiments from a text prompt or URL, built for playful exploration rather than production-ready applications.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "logoFile": "websim.png",
      "logoEinzug": 1
    },
    {
      "slug": "vba-uebersetzer",
      "category": "assistent",
      "name": "The VBA Translator",
      "teaser": "Translates automation tasks in Excel into working VBA code based on the concrete file structure, and debugs existing macros.",
      "domaene": "Softwareentwicklung & technische Infrastruktur",
      "itemIcon": "code"
    }
  ]
}