πŸ”§ Module 3: Advanced MCP Development with AI Toolkit

Module
AI Toolkit
Progress
75%

πŸ”§ Module 3: Advanced MCP Development with AI Toolkit

🎯 Learning Objectives

By the end of this lab, you will be able to:

  • βœ… Create custom MCP servers using the AI Toolkit
  • βœ… Configure and use the latest MCP Python SDK (v1.9.3)
  • βœ… Set up and utilize the MCP Inspector for debugging
  • βœ… Debug MCP servers in both Agent Builder and Inspector environments
  • βœ… Understand advanced MCP server development workflows
  • πŸ“‹ Prerequisites

  • Completion of Lab 2 (MCP Fundamentals)
  • VS Code with AI Toolkit extension installed
  • Python 3.10+ environment
  • Node.js and npm for Inspector setup
  • πŸ—οΈ What You'll Build

    In this lab, you'll create a Weather MCP Server that demonstrates:

  • Custom MCP server implementation
  • Integration with AI Toolkit Agent Builder
  • Professional debugging workflows
  • Modern MCP SDK usage patterns
  • ---

    πŸ”§ Core Components Overview

    🐍 MCP Python SDK

    The Model Context Protocol Python SDK provides the foundation for building custom MCP servers. You'll use version 1.9.3 with enhanced debugging capabilities.

    πŸ” MCP Inspector

    A powerful debugging tool that provides:

  • Real-time server monitoring
  • Tool execution visualization
  • Network request/response inspection
  • Interactive testing environment
  • ---

    πŸ“– Step-by-Step Implementation

    Step 1: Create a WeatherAgent in Agent Builder

    1. Launch Agent Builder in VS Code through the AI Toolkit extension

    2. Create a new agent with the following configuration:

    - Agent Name: WeatherAgent

    Step 2: Initialize MCP Server Project

    1. Navigate to Tools β†’ Add Tool in Agent Builder

    2. Select "MCP Server" from the available options

    3. Choose "Create A new MCP Server"

    4. Select the python-weather template

    5. Name your server: weather_mcp

    Step 3: Open and Examine the Project

    1. Open the generated project in VS Code

    2. Review the project structure:

    ```

    weather_mcp/

    β”œβ”€β”€ src/

    β”‚ β”œβ”€β”€ __init__.py

    β”‚ └── server.py

    β”œβ”€β”€ inspector/

    β”‚ β”œβ”€β”€ package.json

    β”‚ └── package-lock.json

    β”œβ”€β”€ .vscode/

    β”‚ β”œβ”€β”€ launch.json

    β”‚ └── tasks.json

    β”œβ”€β”€ pyproject.toml

    └── README.md

    ```

    Step 4: Upgrade to Latest MCP SDK

    > πŸ” Why Upgrade? We want to use the latest MCP SDK (v1.9.3) and Inspector service (0.14.0) for enhanced features and better debugging capabilities.

    4a. Update Python Dependencies

    Edit pyproject.toml: update ./code/weather_mcp/pyproject.toml

    4b. Update Inspector Configuration

    Edit inspector/package.json: update ./code/weather_mcp/inspector/package.json

    4c. Update Inspector Dependencies

    Edit inspector/package-lock.json: update ./code/weather_mcp/inspector/package-lock.json

    > πŸ“ Note: This file contains extensive dependency definitions. Below is the essential structure - the full content ensures proper dependency resolution.

    > ⚑ Full Package Lock: The complete package-lock.json contains ~3000 lines of dependency definitions. The above shows the key structure - use the provided file for complete dependency resolution.

    Step 5: Configure VS Code Debugging

    *Note: Please copy the file in the specified path to replace the corresponding local file*

    5a. Update Launch Configuration

    Edit .vscode/launch.json:

    
    {
    
      "version": "0.2.0",
    
      "configurations": [
    
        {
    
          "name": "Attach to Local MCP",
    
          "type": "debugpy",
    
          "request": "attach",
    
          "connect": {
    
            "host": "localhost",
    
            "port": 5678
    
          },
    
          "presentation": {
    
            "hidden": true
    
          },
    
          "internalConsoleOptions": "neverOpen",
    
          "postDebugTask": "Terminate All Tasks"
    
        },
    
        {
    
          "name": "Launch Inspector (Edge)",
    
          "type": "msedge",
    
          "request": "launch",
    
          "url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
    
          "cascadeTerminateToConfigurations": [
    
            "Attach to Local MCP"
    
          ],
    
          "presentation": {
    
            "hidden": true
    
          },
    
          "internalConsoleOptions": "neverOpen"
    
        },
    
        {
    
          "name": "Launch Inspector (Chrome)",
    
          "type": "chrome",
    
          "request": "launch",
    
          "url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
    
          "cascadeTerminateToConfigurations": [
    
            "Attach to Local MCP"
    
          ],
    
          "presentation": {
    
            "hidden": true
    
          },
    
          "internalConsoleOptions": "neverOpen"
    
        }
    
      ],
    
      "compounds": [
    
        {
    
          "name": "Debug in Agent Builder",
    
          "configurations": [
    
            "Attach to Local MCP"
    
          ],
    
          "preLaunchTask": "Open Agent Builder",
    
        },
    
        {
    
          "name": "Debug in Inspector (Edge)",
    
          "configurations": [
    
            "Launch Inspector (Edge)",
    
            "Attach to Local MCP"
    
          ],
    
          "preLaunchTask": "Start MCP Inspector",
    
          "stopAll": true
    
        },
    
        {
    
          "name": "Debug in Inspector (Chrome)",
    
          "configurations": [
    
            "Launch Inspector (Chrome)",
    
            "Attach to Local MCP"
    
          ],
    
          "preLaunchTask": "Start MCP Inspector",
    
          "stopAll": true
    
        }
    
      ]
    
    }
    
    

    Edit .vscode/tasks.json:

    
    {
    
      "version": "2.0.0",
    
      "tasks": [
    
        {
    
          "label": "Start MCP Server",
    
          "type": "shell",
    
          "command": "python -m debugpy --listen 127.0.0.1:5678 src/__init__.py sse",
    
          "isBackground": true,
    
          "options": {
    
            "cwd": "${workspaceFolder}",
    
            "env": {
    
              "PORT": "3001"
    
            }
    
          },
    
          "problemMatcher": {
    
            "pattern": [
    
              {
    
                "regexp": "^.*$",
    
                "file": 0,
    
                "location": 1,
    
                "message": 2
    
              }
    
            ],
    
            "background": {
    
              "activeOnStart": true,
    
              "beginsPattern": ".*",
    
              "endsPattern": "Application startup complete|running"
    
            }
    
          }
    
        },
    
        {
    
          "label": "Start MCP Inspector",
    
          "type": "shell",
    
          "command": "npm run dev:inspector",
    
          "isBackground": true,
    
          "options": {
    
            "cwd": "${workspaceFolder}/inspector",
    
            "env": {
    
              "CLIENT_PORT": "6274",
    
              "SERVER_PORT": "6277",
    
            }
    
          },
    
          "problemMatcher": {
    
            "pattern": [
    
              {
    
                "regexp": "^.*$",
    
                "file": 0,
    
                "location": 1,
    
                "message": 2
    
              }
    
            ],
    
            "background": {
    
              "activeOnStart": true,
    
              "beginsPattern": "Starting MCP inspector",
    
              "endsPattern": "Proxy server listening on port"
    
            }
    
          },
    
          "dependsOn": [
    
            "Start MCP Server"
    
          ]
    
        },
    
        {
    
          "label": "Open Agent Builder",
    
          "type": "shell",
    
          "command": "echo ${input:openAgentBuilder}",
    
          "presentation": {
    
            "reveal": "never"
    
          },
    
          "dependsOn": [
    
            "Start MCP Server"
    
          ],
    
        },
    
        {
    
          "label": "Terminate All Tasks",
    
          "command": "echo ${input:terminate}",
    
          "type": "shell",
    
          "problemMatcher": []
    
        }
    
      ],
    
      "inputs": [
    
        {
    
          "id": "openAgentBuilder",
    
          "type": "command",
    
          "command": "ai-mlstudio.agentBuilder",
    
          "args": {
    
            "initialMCPs": [ "local-server-weather_mcp" ],
    
            "triggeredFrom": "vsc-tasks"
    
          }
    
        },
    
        {
    
          "id": "terminate",
    
          "type": "command",
    
          "command": "workbench.action.tasks.terminate",
    
          "args": "terminateAll"
    
        }
    
      ]
    
    }
    
    

    ---

    πŸš€ Running and Testing Your MCP Server

    Step 6: Install Dependencies

    After making the configuration changes, run the following commands:

    Install Python dependencies:

    
    uv sync
    
    

    Install Inspector dependencies:

    
    cd inspector
    
    npm install
    
    

    Step 7: Debug with Agent Builder

    1. Press F5 or use the "Debug in Agent Builder" configuration

    2. Select the compound configuration from the debug panel

    3. Wait for the server to start and Agent Builder to open

    4. Test your weather MCP server with natural language queries

    Input prompt like this

    SYSTEM_PROMPT

    
    You are my weather assistant
    
    

    USER_PROMPT

    
    How's the weather like in Seattle
    
    

    Step 8: Debug with MCP Inspector

    1. Use the "Debug in Inspector" configuration (Edge or Chrome)

    2. Open the Inspector interface at http://localhost:6274

    3. Explore the interactive testing environment:

    - View available tools

    - Test tool execution

    - Monitor network requests

    - Debug server responses

    ---

    🎯 Key Learning Outcomes

    By completing this lab, you have:

  • [x] Created a custom MCP server using AI Toolkit templates
  • [x] Upgraded to the latest MCP SDK (v1.9.3) for enhanced functionality
  • [x] Configured professional debugging workflows for both Agent Builder and Inspector
  • [x] Set up the MCP Inspector for interactive server testing
  • [x] Mastered VS Code debugging configurations for MCP development
  • πŸ”§ Advanced Features Explored

    | Feature | Description | Use Case |

    |---------|-------------|----------|

    | MCP Python SDK v1.9.3 | Latest protocol implementation | Modern server development |

    | MCP Inspector 0.14.0 | Interactive debugging tool | Real-time server testing |

    | VS Code Debugging | Integrated development environment | Professional debugging workflow |

    | Agent Builder Integration | Direct AI Toolkit connection | End-to-end agent testing |

    πŸ“š Additional Resources

  • MCP Python SDK Documentation
  • AI Toolkit Extension Guide
  • VS Code Debugging Documentation
  • Model Context Protocol Specification
  • ---

    πŸŽ‰ Congratulations! You've successfully completed Lab 3 and can now create, debug, and deploy custom MCP servers using professional development workflows.

    πŸ”œ Continue to Next Module

    Ready to apply your MCP skills to a real-world development workflow? Continue to Module 4: Practical MCP Development - Custom GitHub Clone Server where you'll:

  • Build a production-ready MCP server that automates GitHub repository operations
  • Implement GitHub repository cloning functionality via MCP
  • Integrate custom MCP servers with VS Code and GitHub Copilot Agent Mode
  • Test and deploy custom MCP servers in production environments
  • Learn practical workflow automation for developers
  • πŸ”§ λͺ¨λ“ˆ 3: AI Toolkit을 ν™œμš©ν•œ κ³ κΈ‰ MCP 개발

    🎯 ν•™μŠ΅ λͺ©ν‘œ

    이 μ‹€μŠ΅μ„ 마치면 λ‹€μŒμ„ ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  • βœ… AI Toolkit을 μ‚¬μš©ν•΄ λ§žμΆ€ν˜• MCP μ„œλ²„ 생성
  • βœ… μ΅œμ‹  MCP Python SDK(v1.9.3) μ„€μ • 및 ν™œμš©
  • βœ… 디버깅을 μœ„ν•œ MCP Inspector μ„€μ • 및 μ‚¬μš©
  • βœ… Agent Builder와 Inspector ν™˜κ²½μ—μ„œ MCP μ„œλ²„ 디버깅
  • βœ… κ³ κΈ‰ MCP μ„œλ²„ 개발 μ›Œν¬ν”Œλ‘œμš° 이해
  • πŸ“‹ 사전 μ€€λΉ„ 사항

  • Lab 2 (MCP 기초) μ™„λ£Œ
  • AI Toolkit ν™•μž₯ ν”„λ‘œκ·Έλž¨μ΄ μ„€μΉ˜λœ VS Code
  • Python 3.10 이상 ν™˜κ²½
  • Inspector 섀정을 μœ„ν•œ Node.js 및 npm
  • πŸ—οΈ λ§Œλ“€κ²Œ 될 것

    이번 μ‹€μŠ΅μ—μ„œλŠ” Weather MCP Serverλ₯Ό λ§Œλ“€μ–΄ λ‹€μŒμ„ λ³΄μ—¬μ€λ‹ˆλ‹€:

  • λ§žμΆ€ν˜• MCP μ„œλ²„ κ΅¬ν˜„
  • AI Toolkit Agent Builderμ™€μ˜ 톡합
  • 전문적인 디버깅 μ›Œν¬ν”Œλ‘œμš°
  • μ΅œμ‹  MCP SDK μ‚¬μš© νŒ¨ν„΄
  • ---

    πŸ”§ 핡심 ꡬ성 μš”μ†Œ κ°œμš”

    🐍 MCP Python SDK

    Model Context Protocol Python SDKλŠ” λ§žμΆ€ν˜• MCP μ„œλ²„ κ΅¬μΆ•μ˜ κΈ°λ°˜μž…λ‹ˆλ‹€. 디버깅 κΈ°λŠ₯이 κ°•ν™”λœ 1.9.3 버전을 μ‚¬μš©ν•©λ‹ˆλ‹€.

    πŸ” MCP Inspector

    κ°•λ ₯ν•œ 디버깅 λ„κ΅¬λ‘œ λ‹€μŒ κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€:

  • μ‹€μ‹œκ°„ μ„œλ²„ λͺ¨λ‹ˆν„°λ§
  • 도ꡬ μ‹€ν–‰ μ‹œκ°ν™”
  • λ„€νŠΈμ›Œν¬ μš”μ²­/응닡 검사
  • μΈν„°λž™ν‹°λΈŒ ν…ŒμŠ€νŠΈ ν™˜κ²½
  • ---

    πŸ“– 단계별 κ΅¬ν˜„

    1단계: Agent Builderμ—μ„œ WeatherAgent 생성

    1. AI Toolkit ν™•μž₯ ν”„λ‘œκ·Έλž¨μ„ 톡해 VS Codeμ—μ„œ Agent Builder μ‹€ν–‰

    2. λ‹€μŒ μ„€μ •μœΌλ‘œ μƒˆ μ—μ΄μ „νŠΈ 생성:

    - μ—μ΄μ „νŠΈ 이름: WeatherAgent

    2단계: MCP μ„œλ²„ ν”„λ‘œμ νŠΈ μ΄ˆκΈ°ν™”

    1. Agent Builderμ—μ„œ Tools β†’ Add Tool둜 이동

    2. "MCP Server" 선택

    3. "Create A new MCP Server" 선택

    4. python-weather ν…œν”Œλ¦Ώ 선택

    5. μ„œλ²„ 이름 μ§€μ •: weather_mcp

    3단계: ν”„λ‘œμ νŠΈ μ—΄κ³  ꡬ쑰 확인

    1. μƒμ„±λœ ν”„λ‘œμ νŠΈλ₯Ό VS Codeμ—μ„œ μ—΄κΈ°

    2. ν”„λ‘œμ νŠΈ ꡬ쑰 κ²€ν† :

    ```

    weather_mcp/

    β”œβ”€β”€ src/

    β”‚ β”œβ”€β”€ __init__.py

    β”‚ └── server.py

    β”œβ”€β”€ inspector/

    β”‚ β”œβ”€β”€ package.json

    β”‚ └── package-lock.json

    β”œβ”€β”€ .vscode/

    β”‚ β”œβ”€β”€ launch.json

    β”‚ └── tasks.json

    β”œβ”€β”€ pyproject.toml

    └── README.md

    ```

    4단계: μ΅œμ‹  MCP SDK둜 μ—…κ·Έλ ˆμ΄λ“œ

    > πŸ” μ™œ μ—…κ·Έλ ˆμ΄λ“œν•˜λ‚˜μš”? μ΅œμ‹  MCP SDK(v1.9.3)와 Inspector μ„œλΉ„μŠ€(0.14.0)λ₯Ό μ‚¬μš©ν•΄ ν–₯μƒλœ κΈ°λŠ₯κ³Ό 디버깅 μ„±λŠ₯을 μ–»κΈ° μœ„ν•¨μž…λ‹ˆλ‹€.

    4a. Python μ˜μ‘΄μ„± μ—…λ°μ΄νŠΈ

    pyproject.toml νŽΈμ§‘: ./code/weather_mcp/pyproject.toml μ—…λ°μ΄νŠΈ

    4b. Inspector μ„€μ • μ—…λ°μ΄νŠΈ

    inspector/package.json νŽΈμ§‘: ./code/weather_mcp/inspector/package.json μ—…λ°μ΄νŠΈ

    4c. Inspector μ˜μ‘΄μ„± μ—…λ°μ΄νŠΈ

    inspector/package-lock.json νŽΈμ§‘: ./code/weather_mcp/inspector/package-lock.json μ—…λ°μ΄νŠΈ

    > πŸ“ μ°Έκ³ : 이 νŒŒμΌμ€ λ°©λŒ€ν•œ μ˜μ‘΄μ„± μ •μ˜λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€. μ•„λž˜λŠ” 핡심 ꡬ쑰이며, 전체 λ‚΄μš©μ€ μ˜¬λ°”λ₯Έ μ˜μ‘΄μ„± 해결을 μœ„ν•΄ ν•„μš”ν•©λ‹ˆλ‹€.

    > ⚑ 전체 νŒ¨ν‚€μ§€ 락: package-lock.json 전체 νŒŒμΌμ€ μ•½ 3000쀄에 λ‹¬ν•˜λŠ” μ˜μ‘΄μ„± μ •μ˜λ₯Ό ν¬ν•¨ν•©λ‹ˆλ‹€. μœ„λŠ” μ£Όμš” ꡬ쑰만 보여주며, μ™„μ „ν•œ μ˜μ‘΄μ„± 해결을 μœ„ν•΄ 제곡된 νŒŒμΌμ„ μ‚¬μš©ν•˜μ„Έμš”.

    5단계: VS Code 디버깅 μ„€μ •

    *μ°Έκ³ : μ§€μ •λœ 경둜의 νŒŒμΌμ„ λ³΅μ‚¬ν•˜μ—¬ 둜컬 νŒŒμΌμ„ κ΅μ²΄ν•˜μ„Έμš”*

    5a. μ‹€ν–‰ ꡬ성 μ—…λ°μ΄νŠΈ

    .vscode/launch.json νŽΈμ§‘:

    
    {
    
      "version": "0.2.0",
    
      "configurations": [
    
        {
    
          "name": "Attach to Local MCP",
    
          "type": "debugpy",
    
          "request": "attach",
    
          "connect": {
    
            "host": "localhost",
    
            "port": 5678
    
          },
    
          "presentation": {
    
            "hidden": true
    
          },
    
          "internalConsoleOptions": "neverOpen",
    
          "postDebugTask": "Terminate All Tasks"
    
        },
    
        {
    
          "name": "Launch Inspector (Edge)",
    
          "type": "msedge",
    
          "request": "launch",
    
          "url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
    
          "cascadeTerminateToConfigurations": [
    
            "Attach to Local MCP"
    
          ],
    
          "presentation": {
    
            "hidden": true
    
          },
    
          "internalConsoleOptions": "neverOpen"
    
        },
    
        {
    
          "name": "Launch Inspector (Chrome)",
    
          "type": "chrome",
    
          "request": "launch",
    
          "url": "http://localhost:6274?timeout=60000&serverUrl=http://localhost:3001/sse#tools",
    
          "cascadeTerminateToConfigurations": [
    
            "Attach to Local MCP"
    
          ],
    
          "presentation": {
    
            "hidden": true
    
          },
    
          "internalConsoleOptions": "neverOpen"
    
        }
    
      ],
    
      "compounds": [
    
        {
    
          "name": "Debug in Agent Builder",
    
          "configurations": [
    
            "Attach to Local MCP"
    
          ],
    
          "preLaunchTask": "Open Agent Builder",
    
        },
    
        {
    
          "name": "Debug in Inspector (Edge)",
    
          "configurations": [
    
            "Launch Inspector (Edge)",
    
            "Attach to Local MCP"
    
          ],
    
          "preLaunchTask": "Start MCP Inspector",
    
          "stopAll": true
    
        },
    
        {
    
          "name": "Debug in Inspector (Chrome)",
    
          "configurations": [
    
            "Launch Inspector (Chrome)",
    
            "Attach to Local MCP"
    
          ],
    
          "preLaunchTask": "Start MCP Inspector",
    
          "stopAll": true
    
        }
    
      ]
    
    }
    
    

    .vscode/tasks.json νŽΈμ§‘:

    
    {
    
      "version": "2.0.0",
    
      "tasks": [
    
        {
    
          "label": "Start MCP Server",
    
          "type": "shell",
    
          "command": "python -m debugpy --listen 127.0.0.1:5678 src/__init__.py sse",
    
          "isBackground": true,
    
          "options": {
    
            "cwd": "${workspaceFolder}",
    
            "env": {
    
              "PORT": "3001"
    
            }
    
          },
    
          "problemMatcher": {
    
            "pattern": [
    
              {
    
                "regexp": "^.*$",
    
                "file": 0,
    
                "location": 1,
    
                "message": 2
    
              }
    
            ],
    
            "background": {
    
              "activeOnStart": true,
    
              "beginsPattern": ".*",
    
              "endsPattern": "Application startup complete|running"
    
            }
    
          }
    
        },
    
        {
    
          "label": "Start MCP Inspector",
    
          "type": "shell",
    
          "command": "npm run dev:inspector",
    
          "isBackground": true,
    
          "options": {
    
            "cwd": "${workspaceFolder}/inspector",
    
            "env": {
    
              "CLIENT_PORT": "6274",
    
              "SERVER_PORT": "6277",
    
            }
    
          },
    
          "problemMatcher": {
    
            "pattern": [
    
              {
    
                "regexp": "^.*$",
    
                "file": 0,
    
                "location": 1,
    
                "message": 2
    
              }
    
            ],
    
            "background": {
    
              "activeOnStart": true,
    
              "beginsPattern": "Starting MCP inspector",
    
              "endsPattern": "Proxy server listening on port"
    
            }
    
          },
    
          "dependsOn": [
    
            "Start MCP Server"
    
          ]
    
        },
    
        {
    
          "label": "Open Agent Builder",
    
          "type": "shell",
    
          "command": "echo ${input:openAgentBuilder}",
    
          "presentation": {
    
            "reveal": "never"
    
          },
    
          "dependsOn": [
    
            "Start MCP Server"
    
          ],
    
        },
    
        {
    
          "label": "Terminate All Tasks",
    
          "command": "echo ${input:terminate}",
    
          "type": "shell",
    
          "problemMatcher": []
    
        }
    
      ],
    
      "inputs": [
    
        {
    
          "id": "openAgentBuilder",
    
          "type": "command",
    
          "command": "ai-mlstudio.agentBuilder",
    
          "args": {
    
            "initialMCPs": [ "local-server-weather_mcp" ],
    
            "triggeredFrom": "vsc-tasks"
    
          }
    
        },
    
        {
    
          "id": "terminate",
    
          "type": "command",
    
          "command": "workbench.action.tasks.terminate",
    
          "args": "terminateAll"
    
        }
    
      ]
    
    }
    
    

    ---

    πŸš€ MCP μ„œλ²„ μ‹€ν–‰ 및 ν…ŒμŠ€νŠΈ

    6단계: μ˜μ‘΄μ„± μ„€μΉ˜

    μ„€μ • λ³€κ²½ ν›„ λ‹€μŒ λͺ…λ Ήμ–΄ μ‹€ν–‰:

    Python μ˜μ‘΄μ„± μ„€μΉ˜:

    
    uv sync
    
    

    Inspector μ˜μ‘΄μ„± μ„€μΉ˜:

    
    cd inspector
    
    npm install
    
    

    7단계: Agent Builderμ—μ„œ 디버깅

    1. F5 ν‚€λ₯Ό λˆ„λ₯΄κ±°λ‚˜ "Debug in Agent Builder" ꡬ성 μ‚¬μš©

    2. 디버그 νŒ¨λ„μ—μ„œ 볡합 ꡬ성 선택

    3. μ„œλ²„κ°€ μ‹œμž‘λ˜κ³  Agent Builderκ°€ 열릴 λ•ŒκΉŒμ§€ λŒ€κΈ°

    4. μžμ—°μ–΄ 쿼리둜 날씨 MCP μ„œλ²„ ν…ŒμŠ€νŠΈ

    λ‹€μŒκ³Ό 같은 μž…λ ₯ ν”„λ‘¬ν”„νŠΈ μ˜ˆμ‹œ

    SYSTEM_PROMPT

    
    You are my weather assistant
    
    

    USER_PROMPT

    
    How's the weather like in Seattle
    
    

    8단계: MCP Inspectorμ—μ„œ 디버깅

    1. "Debug in Inspector" ꡬ성 μ‚¬μš© (Edge λ˜λŠ” Chrome)

    2. http://localhost:6274μ—μ„œ Inspector μΈν„°νŽ˜μ΄μŠ€ μ—΄κΈ°

    3. μΈν„°λž™ν‹°λΈŒ ν…ŒμŠ€νŠΈ ν™˜κ²½ 탐색:

    - μ‚¬μš© κ°€λŠ₯ν•œ 도ꡬ 확인

    - 도ꡬ μ‹€ν–‰ ν…ŒμŠ€νŠΈ

    - λ„€νŠΈμ›Œν¬ μš”μ²­ λͺ¨λ‹ˆν„°λ§

    - μ„œλ²„ 응닡 디버깅

    ---

    🎯 μ£Όμš” ν•™μŠ΅ μ„±κ³Ό

    이 μ‹€μŠ΅μ„ μ™„λ£Œν•˜μ—¬ λ‹€μŒμ„ λ‹¬μ„±ν–ˆμŠ΅λ‹ˆλ‹€:

  • [x] AI Toolkit ν…œν”Œλ¦Ώμ„ ν™œμš©ν•œ λ§žμΆ€ν˜• MCP μ„œλ²„ 생성
  • [x] ν–₯μƒλœ κΈ°λŠ₯을 μœ„ν•œ μ΅œμ‹  MCP SDK(v1.9.3) μ—…κ·Έλ ˆμ΄λ“œ
  • [x] Agent Builder와 Inspector λͺ¨λ‘μ— λŒ€ν•œ 전문적인 디버깅 μ›Œν¬ν”Œλ‘œμš° ꡬ성
  • [x] μΈν„°λž™ν‹°λΈŒ μ„œλ²„ ν…ŒμŠ€νŠΈλ₯Ό μœ„ν•œ MCP Inspector μ„€μ •
  • [x] MCP κ°œλ°œμ„ μœ„ν•œ VS Code 디버깅 ꡬ성 λ§ˆμŠ€ν„°
  • πŸ”§ νƒκ΅¬ν•œ κ³ κΈ‰ κΈ°λŠ₯

    | κΈ°λŠ₯ | μ„€λͺ… | ν™œμš© 사둀 |

    |---------|-------------|----------|

    | MCP Python SDK v1.9.3 | μ΅œμ‹  ν”„λ‘œν† μ½œ κ΅¬ν˜„ | ν˜„λŒ€μ μΈ μ„œλ²„ 개발 |

    | MCP Inspector 0.14.0 | μΈν„°λž™ν‹°λΈŒ 디버깅 도ꡬ | μ‹€μ‹œκ°„ μ„œλ²„ ν…ŒμŠ€νŠΈ |

    | VS Code 디버깅 | 톡합 개발 ν™˜κ²½ | 전문적인 디버깅 μ›Œν¬ν”Œλ‘œμš° |

    | Agent Builder 톡합 | AI Toolkitκ³Ό 직접 μ—°κ²° | μ—”λ“œνˆ¬μ—”λ“œ μ—μ΄μ „νŠΈ ν…ŒμŠ€νŠΈ |

    πŸ“š μΆ”κ°€ 자료

  • MCP Python SDK λ¬Έμ„œ
  • AI Toolkit ν™•μž₯ κ°€μ΄λ“œ
  • VS Code 디버깅 λ¬Έμ„œ
  • Model Context Protocol 사양
  • ---

    πŸŽ‰ μΆ•ν•˜ν•©λ‹ˆλ‹€! Lab 3을 μ„±κ³΅μ μœΌλ‘œ μ™„λ£Œν•˜μ—¬ 전문적인 개발 μ›Œν¬ν”Œλ‘œμš°λ‘œ λ§žμΆ€ν˜• MCP μ„œλ²„λ₯Ό 생성, 디버깅, 배포할 수 있게 λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

    πŸ”œ λ‹€μŒ λͺ¨λ“ˆλ‘œ 계속 μ§„ν–‰

    μ‹€μ œ 개발 μ›Œν¬ν”Œλ‘œμš°μ— MCP κΈ°μˆ μ„ μ μš©ν•  μ€€λΉ„κ°€ λ˜μ…¨λ‚˜μš”? λͺ¨λ“ˆ 4: μ‹€μ „ MCP 개발 - λ§žμΆ€ν˜• GitHub 클둠 μ„œλ²„λ‘œ μ΄λ™ν•˜μ—¬:

  • GitHub μ €μž₯μ†Œ μž‘μ—…μ„ μžλ™ν™”ν•˜λŠ” ν”„λ‘œλ•μ…˜ μˆ˜μ€€ MCP μ„œλ²„ ꡬ좕
  • MCPλ₯Ό ν†΅ν•œ GitHub μ €μž₯μ†Œ 클둠 κΈ°λŠ₯ κ΅¬ν˜„
  • VS Code 및 GitHub Copilot Agent λͺ¨λ“œμ™€ λ§žμΆ€ν˜• MCP μ„œλ²„ 톡합
  • ν”„λ‘œλ•μ…˜ ν™˜κ²½μ—μ„œ λ§žμΆ€ν˜• MCP μ„œλ²„ ν…ŒμŠ€νŠΈ 및 배포
  • 개발자λ₯Ό μœ„ν•œ μ‹€μš©μ μΈ μ›Œν¬ν”Œλ‘œμš° μžλ™ν™” ν•™μŠ΅
  • λ©΄μ±… μ‘°ν•­:

    이 λ¬Έμ„œλŠ” AI λ²ˆμ—­ μ„œλΉ„μŠ€ Co-op Translatorλ₯Ό μ‚¬μš©ν•˜μ—¬ λ²ˆμ—­λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

    정확성을 μœ„ν•΄ μ΅œμ„ μ„ λ‹€ν•˜κ³  μžˆμœΌλ‚˜, μžλ™ λ²ˆμ—­μ—λŠ” 였λ₯˜λ‚˜ λΆ€μ •ν™•ν•œ 뢀뢄이 μžˆμ„ 수 μžˆμŒμ„ μœ μ˜ν•˜μ‹œκΈ° λ°”λžλ‹ˆλ‹€.

    원문은 ν•΄λ‹Ή μ–Έμ–΄μ˜ 원본 λ¬Έμ„œκ°€ κΆŒμœ„ μžˆλŠ” 좜처둜 κ°„μ£Όλ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

    μ€‘μš”ν•œ μ •λ³΄μ˜ 경우 전문적인 인간 λ²ˆμ—­μ„ ꢌμž₯ν•©λ‹ˆλ‹€.

    λ³Έ λ²ˆμ—­ μ‚¬μš©μœΌλ‘œ 인해 λ°œμƒν•˜λŠ” μ˜€ν•΄λ‚˜ 잘λͺ»λœ 해석에 λŒ€ν•΄ λ‹Ήμ‚¬λŠ” μ±…μž„μ„ μ§€μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

    MCP Academy — microsoft/mcp-for-beginners