Skip to content

Latest commit

Β 

History

History
104 lines (77 loc) Β· 3.38 KB

File metadata and controls

104 lines (77 loc) Β· 3.38 KB

파이썬으둜 MCP Agent λ§Œλ“€κΈ°

YouTube 검색, μš”μ•½, 채널 뢄석 κΈ°λŠ₯을 κ°–μΆ˜ 유튜브 μ—μ΄μ „νŠΈλ₯Ό MCP둜 κ΅¬ν˜„ν•œ μ˜ˆμ œμž…λ‹ˆλ‹€.

MCP (Model Context Protocol) μ†Œκ°œ

  • AIκ°€ μ™ΈλΆ€ λ°μ΄ν„°μ˜ 도ꡬ(Tools)에 효과적으둜 μ—°κ²°ν•  수 μžˆλŠ” ν‘œμ€€ν™”λœ 방식
  • 특히 λ‹€μ–‘ν•œ λ„κ΅¬μ˜ ν‘œμ€€ν™”λœ μ—°κ²°λ‘œ 많이 ν™œμš©λ˜κ³  있음
    • MCP Server: μ‚¬μš©ν•  수 μžˆλŠ” 도ꡬ(tool)λ₯Ό μ •μ˜ν•˜κ³  μ œκ³΅ν•˜λŠ” μ—­ν• 
    • MCP Client: μ •μ˜λœ 도ꡬλ₯Ό λΆˆλŸ¬μ™€ μ‚¬μš© (Claude Desktop, Cursor, OpenAI Agents SDK)
  • 이번 μ˜ˆμ œμ—μ„œλŠ” 유튜브 컨텐츠 뢄석을 μœ„ν•œ MCP Serverλ₯Ό λ§Œλ“€μ–΄λ³΄κ³ , OpenAI Agents SDK 기반의 MCP Client와도 μ—°κ²°ν•΄λ³Ό μ˜ˆμ •μž…λ‹ˆλ‹€.

image

초기 μ…‹νŒ…

  1. λ ˆν¬μ§€ν† λ¦¬ clone λ˜λŠ” λ‹€μš΄λ‘œλ“œν•˜κΈ°

    git clone https://github.com/dabidstudio/python-mcp-agent.git
    cd python-mcp-agent
  2. OpenAI ν‚€ λ°œκΈ‰

  3. YouTube Data API Key λ°œκΈ‰

  4. .env.exampleλ₯Ό λ³΅μ‚¬ν•œ ν›„ API ν‚€λ₯Ό μž…λ ₯ν•˜κ³  .env둜 μ €μž₯

    OPENAI_API_KEY=apiν‚€_μž…λ ₯
    YOUTUBE_API_KEY=api_ν‚€_μž…λ ₯
  5. 파이썬 κ°€μƒν™˜κ²½ μ„€μ •

    python -m venv venv
    venv\Scripts\activate # Mac은 source venv/bin/activate  
  6. νŒ¨ν‚€μ§€ μ„€μΉ˜

    pip install mcp openai-agents streamlit youtube-transcript-api python-dotenv requests

MCP ν΄λΌμ΄μ–ΈνŠΈ 연동을 μœ„ν•œ μ€€λΉ„

Claude, Cursor와 같은 MCP ν΄λΌμ΄μ–ΈνŠΈ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 둜컬 MCP μ„œλ²„λ₯Ό μ—°λ™ν•˜λ €λ©΄,
μ„œλ²„ 싀행에 ν•„μš”ν•œ Python μ‹€ν–‰ 파일 κ²½λ‘œμ™€ MCP μ„œλ²„ 슀크립트 경둜λ₯Ό JSON 섀정에 μž…λ ₯ν•΄μ•Ό ν•©λ‹ˆλ‹€.

  • λ‚΄ κ²½λ‘œμ— μ•Œλ§žκ²Œ mcp.json을 μˆ˜μ •ν•΄λ‘‘λ‹ˆλ‹€.

경둜 ꡬ성 μ˜ˆμ‹œ

βœ… Windows μ˜ˆμ‹œ

(예: ν”„λ‘œμ νŠΈ 폴더가 C:\projects\dabidstudio_videos\python_mcp_agent인 경우)

주의: Windowsμ—μ„œλŠ” JSON 문법상 \ λŒ€μ‹  \\ (μ—­μŠ¬λž˜μ‹œ 두 번)을 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

{
  "mcpServers": {
    "mcp-test": {
      "command": "C:\\projects\\dabidstudio_videos\\python_mcp_agent\\venv\\Scripts\\python.exe",
      "args": [
        "C:\\projects\\dabidstudio_videos\\python_mcp_agent\\2_mcp_server.py"
      ]
    }
  }
}

βœ… macOS / Linux μ˜ˆμ‹œ

(예: ν”„λ‘œμ νŠΈ 폴더가 /Users/yourname/projects/python_mcp_agent인 경우)

{
  "mcpServers": {
    "mcp-test": {
      "command": "/Users/yourname/projects/python_mcp_agent/venv/bin/python",
      "args": [
        "/Users/yourname/projects/python_mcp_agent/2_mcp_server.py"
      ]
    }
  }
}

폴더 ꡬ쑰

python-mcp-agent/
β”œβ”€β”€ 1_mcp_server_functions.ipynb   # MCP μ„œλ²„ ν•¨μˆ˜ 예제 λ…ΈνŠΈλΆ
β”œβ”€β”€ 2_mcp_server.py                # MCP μ„œλ²„ κ΅¬ν˜„ 예제
β”œβ”€β”€ 3_openai_agents_basics.py      # OpenAI Agent κΈ°λ³Έ 예제
β”œβ”€β”€ 4_mcp_client.py                # Streamlit MCP Client 예제
β”œβ”€β”€ .env.example                   # ν™˜κ²½λ³€μˆ˜ 예제 파일
└── mcp.json                       # MCP μ„œλ²„ μ„€μ • 파일