Skills· Software Development & Technical Infrastructure

    The MCP Builder

    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.

    executableplanningreviewing

    Description

    Example scenario

    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.

    Steps

    Every step shows who carries it out: icon, colour and label together indicate whether a person acts, whether it runs automatically, whether a result is produced, or whether an approval is required.

    01Person

    The target API or target service, the desired programming language and the available API documentation are named.

    02Automated

    03Automated

    04Automated

    05Automated

    06Approval

    Key
    PersonAutomatedResultApproval

    In use

    Target API or target service that the MCP server should connect

    Required

    Programming language: TypeScript or Python (TypeScript recommended)

    Required

    API documentation or access to it

    Required

    Transport type: Streamable HTTP for remote servers, stdio for local servers

    Optional

    Existing server code, if extending an existing implementation

    Optional

    Output

    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.

    Skill Text

    # ROLE
    You 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.
    
    # PHASE 1: RESEARCH AND PLANNING
    
    ## Understand modern MCP design
    Weigh 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.
    
    Give tools clear, descriptive names with consistent prefixes (for example github_create_issue, github_list_repos) and action-oriented naming.
    
    Keep tool descriptions concise and provide filtering and pagination so agents get focused, relevant data.
    
    Phrase error messages so they guide the agent toward a solution with concrete suggestions.
    
    ## Study the MCP specification and framework documentation
    Use 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.
    
    Recommended 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.
    
    Load the SDK documentation for the chosen language (TypeScript or Python) along with the corresponding language-specific implementation guides before you start implementing.
    
    ## Plan the implementation
    Understand the target API: core endpoints, authentication, data models. Prioritize comprehensive API coverage and list the most common operations first.
    
    # PHASE 2: IMPLEMENTATION
    
    ## Set up the project structure
    Set up the project structure according to the language-specific guide (package or module structure, dependencies, configuration files).
    
    ## Core infrastructure
    Build shared building blocks: an API client with authentication, error handling, response formatting (JSON or markdown) and pagination support.
    
    ## Implement the tools
    For every tool:
    - Input schema with Zod (TypeScript) or Pydantic (Python), with constraints, clear descriptions and examples.
    - Output schema where possible, for structured data.
    - A concise function description with parameters and return type.
    - Asynchronous processing for I/O operations, clean error handling with concrete hints, pagination where applicable.
    - Annotations: readOnlyHint, destructiveHint, idempotentHint, openWorldHint.
    
    # PHASE 3: REVIEW AND TEST
    Check the code for duplication, consistent error handling, complete typing and clear tool descriptions.
    
    TypeScript: verify the build with npm run build, test with the MCP Inspector (npx @modelcontextprotocol/inspector).
    Python: check syntax with python -m py_compile, also test with the MCP Inspector.
    
    # PHASE 4: CREATE EVALUATIONS
    Create ten evaluation questions to check whether a language model can use the server productively.
    
    Approach: review the tools, explore the available data with read-only operations, formulate ten complex, realistic questions, solve each question yourself and verify the answer.
    
    Every 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.
    
    Format as an XML file:
    ```xml
    <evaluation>
      <qa_pair>
        <question>...</question>
        <answer>...</answer>
      </qa_pair>
    </evaluation>
    ```
    
    # REFERENCE FILES FROM THE ORIGINAL
    The 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.
    
    # DEFINITION OF DONE
    [ ] Consulted the MCP specification and the SDK documentation for the chosen language
    [ ] Tool names are consistent and action-oriented
    [ ] Input schema and, where possible, output schema defined for every tool
    [ ] Error handling is consistent throughout and gives concrete hints
    [ ] Annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) set
    [ ] Build or syntax check succeeded, test run with the MCP Inspector completed
    [ ] Ten verified, realistic evaluation questions documented as XML
    
    # DEPENDENCIES
    Terminal and file access, access to the MCP specification and the SDK documentation (TypeScript or Python), the MCP Inspector for testing.

    Setup

    Step-by-step guides for ChatGPT, Claude, Copilot Studio and Langdock.

    ChatGPT

    OpenAI

    1. Copy the skill text above using the copy button.
    2. Click your profile picture and select "Skills".
    3. Click "Create skill" and paste the copied text as the instruction.
    4. Adjust inputs, outputs and format where your case requires it.
    5. Save the skill. It is available in all chats from that point on.
    Documentation

    Anthropic

    1. Copy the skill text above using the copy button.
    2. Open claude.ai and go to "Skills" in your profile.
    3. Create a new skill and paste the copied text as the instruction.
    4. The skill works in claude.ai, in Claude Code and through the API.
    5. Available on the Pro, Max, Team and Enterprise plans.
    Documentation

    Microsoft

    1. Copy the skill text above using the copy button.
    2. Open Copilot Studio and create a new agent.
    3. Paste the copied text as the instruction.
    4. Connect knowledge sources and tools where needed.
    5. Publish the agent for yourself or for your organisation.
    Documentation

    1. Copy the skill text above using the copy button.
    2. Open the sidebar and click "Add skill".
    3. Paste the copied text directly as the instruction.
    4. Connect the skill to integrations such as Gmail or Slack where needed.
    5. Save the skill and release it for yourself or your team.
    Documentation

    Implementation

    1. Choose the target service

      Starting with a service that already has a documented API and is needed by the team in the near term works best.

    2. Fix language and transport

      TypeScript with Streamable HTTP is the recommended default path for remote servers, stdio remains reserved for local servers.

    3. Use the skill in an agentic environment

      The skill text is loaded into an environment with terminal, file and web access, such as Claude Code.

    4. Test and have the server approved

      Before production use, the server is checked with the MCP Inspector and reviewed by a second person.

    5. Reuse the pattern for further services

      Proven naming conventions and error handling are carried over to the next MCP server.

    Last reviewed:

    In the workshop this becomes your method.

    A single prompt becomes a repeatable method. We show that in the workshop From Prompt to Method.

    View workshops

    Related resources

    Browse all resources

    Conversation, not pitch

    Understand first, then decide. We take time for an initial conversation, without sales pressure, without obligation.

    Schedule a call