[AI] MCP ์„ค์ • ๊ฐ€์ด๋“œ

2026. 3. 16. 20:39ยท๐Ÿ“ AI/โœ AI Tools

1. MCP

MCP๋Š” ํด๋ผ์ด์–ธํŠธ(AI ๋„๊ตฌ)์™€ ์„œ๋ฒ„(๋„๊ตฌ ์ œ๊ณต์ž) ์‚ฌ์ด๋ฅผ ์ž‡๋Š” JSON-RPC ๊ธฐ๋ฐ˜ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.

[AI ๋„๊ตฌ] - [MCP Server] - [ํŒŒ์ผ / API / DB]

MCP ์„œ๋ฒ„ ํ•˜๋‚˜๊ฐ€ "ํŒŒ์ผ ์ฝ๊ธฐ", "DB ์กฐํšŒ", "GitHub PR ์ƒ์„ฑ" ๊ฐ™์€ ํˆด(Tool)์„ ์ •์˜ํ•˜๋ฉด, AI๊ฐ€ ์ž‘์—… ์ค‘์— ๊ทธ ํˆด์„ ์ž๋™์œผ๋กœ ํ˜ธ์ถœํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด "์ด ํ”„๋กœ์ ํŠธ์˜ DB ์Šคํ‚ค๋งˆ๋ฅผ ๋ณด๊ณ  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ฝ”๋“œ ์งœ์ค˜"๋ผ๊ณ  ํ•˜๋ฉด AI๊ฐ€ MCP๋ฅผ ํ†ตํ•ด ์‹ค์ œ DB์— ์ ‘๊ทผํ•œ ๋’ค ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•œ๋‹ค.

๋ฐฉ์‹ ์„ค๋ช… ์ฃผ์š” ์‚ฌ์šฉ์ฒ˜
stdio ํ‘œ์ค€ ์ž…์ถœ๋ ฅ์œผ๋กœ ํ†ต์‹ . ๋กœ์ปฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง์ ‘ ์‹คํ–‰ npx, node, python ๋กœ์ปฌ ์‹คํ–‰
HTTP (SSE / Streamable) HTTP๋กœ ํ†ต์‹ . ์›๊ฒฉ ์„œ๋ฒ„ ์ ‘์† ๊ฐ€๋Šฅ Docker ์„œ๋ฒ„, ์›๊ฒฉ ๋ฐฐํฌ

 

2. MCP ์„ค์ •

MCP ์„œ๋ฒ„๋Š” ๊ฐ ๋„๊ตฌ์˜ ์„ค์ • ํŒŒ์ผ์— JSON ํ˜•์‹์œผ๋กœ ๋“ฑ๋กํ•œ๋‹ค.

๋„๊ตฌ๋ณ„ ์ „์—ญ ์„ค์ •

์ „์—ญ ์„ค์ •์ด๋ž€ ํŠน์ • ํ”„๋กœ์ ํŠธ๊ฐ€ ์•„๋‹Œ ๋‚ด PC ์ „์ฒด์— ์ ์šฉ๋˜๋Š” ์„ค์ •์ด๋‹ค. ํŠน์ • ํ”„๋กœ์ ํŠธ์—๋งŒ ์ ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์— .mcp.json์„ ๋งŒ๋“ค๋ฉด ๋œ๋‹ค.

๋„๊ตฌ ์ „์—ญ ์„ค์ • ํŒŒ์ผ ๊ฒฝ๋กœ
Claude Code ~/.claude.json
Cursor ~/.cursor/mcp.json
Windsurf ~/.codeium/windsurf/mcp_config.json
Copilot OS ๋งˆ๋‹ค ๋‹ค๋ฅด๊ณ  servers ๊ฐ’์œผ๋กœ ์„ค์ • ํ•„์š”
Windows์—์„œ ~๋Š” %HOMEPATH%(C:\Users\yourname)์— ํ•ด๋‹นํ•œ๋‹ค.
{
  "mcpServers": {
    "์„œ๋ฒ„์ด๋ฆ„": {
      "command": "์‹คํ–‰๋ช…๋ น์–ด",
      "args": ["์ธ์ž1", "์ธ์ž2"],
      "env": {
        "API_KEY": "your-key"
      }
    },
    "sse-์„œ๋ฒ„์ด๋ฆ„": {
      "url": "http://localhost:3000/sse"
    }
  }
}

 

3. npx : ๊ณต์‹ ์„œ๋ฒ„๋ฅผ ์ฆ‰์‹œ ๋ถ™์ด๋Š” ๊ฐ€์žฅ ๋น ๋ฅธ ๋ฐฉ๋ฒ•

npx๋Š” npm์— ์˜ฌ๋ผ์˜จ ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ ์—†์ด ์ฆ‰์‹œ ์‹คํ–‰ํ•ด ์ฃผ๋Š” Node.js ๋„๊ตฌ์ด๋‹ค.

๊ณต์‹ MCP ์„œ๋ฒ„๋“ค์ด ๋Œ€๋ถ€๋ถ„ npm์— ๋ฐฐํฌ๋˜์–ด ์žˆ์–ด ๊ฐ€์žฅ ๊ฐ„ํŽธํ•˜๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

# Node.js 18+ ์„ค์น˜ ํ™•์ธ (์—†์œผ๋ฉด https://nodejs.org)
node -v

์‚ฌ์šฉํ•˜๋ ค๋Š” ์„œ๋ฒ„๋ฅผ ์ฐพ์€ ๋’ค, ํ•ด๋‹น ์„œ๋ฒ„์˜ ๊ณต์‹ ๋ฌธ์„œ์—์„œ ์ œ๊ณตํ•˜๋Š” ์„ค์ • ์˜ˆ์‹œ๋ฅผ ๋ณต์‚ฌํ•ด์„œ ์„ค์ • ํŒŒ์ผ์— ๋ถ™์—ฌ๋„ฃ์œผ๋ฉด ๋œ๋‹ค.

Windows ๋„ค์ดํ‹ฐ๋ธŒ ํ™˜๊ฒฝ(WSL ์•„๋‹˜)์—์„œ๋Š” npx๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•˜๋ฉด "Connection closed" ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.
cmd /c ๋ž˜ํผ๋กœ ๊ฐ์‹ธ์ฃผ๋ฉด ํ•ด๊ฒฐ๋œ๋‹ค.
{
  "mcpServers": {
    "my-server": {
      "command": "cmd",
      "args": ["/c", "npx", "-y", "ํŒจํ‚ค์ง€๋ช…", "์ถ”๊ฐ€์ธ์ž..."]
    }
  }
}

 

4. Node.js : JS/TS๋กœ ์ปค์Šคํ…€ ์„œ๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

์‚ฌ๋‚ด API ์—ฐ๋™, ๋…์ž์ ์ธ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง๊ณผ ๊ฐ™์ด ๊ณต์‹ ์„œ๋ฒ„์— ์—†๋Š” ๊ธฐ๋Šฅ์„ ์ง์ ‘ ๋งŒ๋“ค ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

  • ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐํ™” ๋ฐ ์„œ๋ฒ„ ์ฝ”๋“œ
mkdir my-mcp-server && cd my-mcp-server
npm init -y
npm install @modelcontextprotocol/sdk zod
npm install -D typescript @types/node
// src/index.ts
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { z } from "zod";

const server = new McpServer({ name: "my-custom-server", version: "1.0.0" });

server.tool(
  "get_deployment_status",
  "์„œ๋น„์Šค ๋ฐฐํฌ ์ƒํƒœ๋ฅผ ์กฐํšŒํ•ฉ๋‹ˆ๋‹ค",
  { service: z.string().describe("์„œ๋น„์Šค ์ด๋ฆ„") },
  async ({ service }) => {
    const res = await fetch(`https://api.example.com/api/status/${service}`);
    const data = await res.json();
    return { content: [{ type: "text", text: JSON.stringify(data, null, 2) }] };
  }
);

async function main() {
  const transport = new StdioServerTransport();
  await server.connect(transport);
}
main().catch(console.error);
  • ๋นŒ๋“œ ํ›„ ์„ค์ • ํŒŒ์ผ์— ๋“ฑ๋ก
npx tsc
{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["/absolute/path/to/my-mcp-server/dist/index.js"],
      "env": { "DEPLOY_API_KEY": "your-api-key" }
    }
  }
}
๊ฒฝ๋กœ๋Š” ๋ฐ˜๋“œ์‹œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ์ƒ๋Œ€ ๊ฒฝ๋กœ๋Š” AI ๋„๊ตฌ ์‹คํ–‰ ์œ„์น˜์— ๋”ฐ๋ผ ์˜ค๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

5. Python/uvx : AI, ๋ฐ์ดํ„ฐ ๋„๊ตฌ๋ฅผ ์—ฐ๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•

uv๋Š” pip๋ณด๋‹ค ๋น ๋ฅธ Python ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์ด๊ณ , uvx๋Š” Python ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ ์—†์ด ์ฆ‰์‹œ ์‹คํ–‰ํ•ด ์ฃผ๋Š” npx์˜ Python ๋ฒ„์ „์ด๋‹ค.

ํฌ๋กค๋ง, ๋ฐ์ดํ„ฐ ๋ถ„์„, AI ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ธฐ๋ฐ˜ MCP ์„œ๋ฒ„์— ์œ ์šฉํ•˜๋‹ค.

# uv ์„ค์น˜ (macOS/Linux)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows PowerShell (๊ด€๋ฆฌ์ž ๊ถŒํ•œ์œผ๋กœ ์‹คํ–‰)
# PowerShell: Windows์— ๋‚ด์žฅ๋œ ๋ช…๋ น์ค„ ์…ธ๋กœ, macOS Terminal(zsh/bash)์— ํ•ด๋‹นํ•œ๋‹ค.
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  • ์„ค์ • ํŒŒ์ผ์— ๋“ฑ๋ก
{
  "mcpServers": {
    "playwright": {
      "command": "uvx",
      "args": ["mcp-playwright"]
    },
    "data-analysis": {
      "command": "python",
      "args": ["/absolute/path/server.py"]
    }
  }
}
  • Python์œผ๋กœ ์ง์ ‘ ์„œ๋ฒ„ ์ž‘์„ฑ
# server.py
from mcp.server.fastmcp import FastMCP
import pandas as pd

mcp = FastMCP("data-analysis-server")

@mcp.tool()
def analyze_csv(filepath: str) -> str:
    """CSV ํŒŒ์ผ์„ ์ฝ์–ด ๊ธฐ๋ณธ ํ†ต๊ณ„๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค"""
    df = pd.read_csv(filepath)
    return df.describe().to_string()

if __name__ == "__main__":
    mcp.run()
# uvx๋กœ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ: ๋ณ„๋„ ์„ค์น˜ ๋ถˆํ•„์š”
# python server.py๋กœ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ: ์•„๋ž˜ ํŒจํ‚ค์ง€ ์„ค์น˜ ํ•„์š”
pip install mcp pandas

 

6. HTTP ๋ฐฉ์‹ (Docker, ์›๊ฒฉ URL) : ์›๊ฒฉ์œผ๋กœ ์šด์˜ํ•˜๋Š” ๋ฐฉ๋ฒ•

stdio ๋ฐฉ์‹์ด ๋กœ์ปฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋ผ๋ฉด, HTTP ๋ฐฉ์‹์€ ์–ด๋”˜๊ฐ€์— ๋– ์žˆ๋Š” ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค.

  • Docker ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰ํ•ด์„œ MCP ์„œ๋ฒ„๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ
  • ์ด๋ฏธ ๋ฐฐํฌ๋œ ์„œ๋ฒ„์— URL๋กœ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒฝ์šฐ

Docker๋กœ MCP ์„œ๋ฒ„ ์‹คํ–‰ํ•˜๊ธฐ

Docker๋Š” ๋ˆ„๊ตฐ๊ฐ€ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ๋ฐฐํฌํ•œ ํ”„๋กœ๊ทธ๋žจ(์ด๋ฏธ์ง€)์„ ๋‚ด PC์—์„œ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ๋‹ค. Docker ์ด๋ฏธ์ง€๋Š” Ubuntu, Debian, Alpine Linux ๋“ฑ ๋‹ค์–‘ํ•œ Linux ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ Docker ์ด๋ฏธ์ง€๋กœ ๋ฐฐํฌํ•ด๋‘” MCP ์„œ๋ฒ„๊ฐ€ ์žˆ๋‹ค๋ฉด ํ™˜๊ฒฝ์„ ๊ทธ๋Œ€๋กœ ํฌ์žฅํ•ด์„œ ์–ด๋””์„œ๋“  ๋™์ผํ•˜๊ฒŒ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

[๋‚ด ๋งฅ๋ถ]   →  [Docker ์ปจํ…Œ์ด๋„ˆ (Linux ๋‚ด๋ถ€)]
[ํŒ€์› PC]   →  [๋™์ผํ•œ ์ปจํ…Œ์ด๋„ˆ] ← ํ•ญ์ƒ ๋™์ผํ•œ ํ™˜๊ฒฝ
[ํšŒ์‚ฌ ์„œ๋ฒ„] →  [๋™์ผํ•œ ์ปจํ…Œ์ด๋„ˆ]

์„ค์น˜ ํ›„ ์„ค์ • ํŒŒ์ผ์— ์•„๋ž˜์ฒ˜๋Ÿผ ๋“ฑ๋กํ•˜๋ฉด ๋œ๋‹ค. command๋กœ Docker๋ฅผ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” stdio ๋ฐฉ์‹์ด๋‹ค.

  • run: ์ด๋ฏธ์ง€๋ฅผ ์‹คํ–‰
  • -i: stdio๋กœ ํ†ต์‹  (AI ๋„๊ตฌ์™€ ์ž…์ถœ๋ ฅ ์—ฐ๊ฒฐ)
  • --rm: ์ข…๋ฃŒ ์‹œ ์ปจํ…Œ์ด๋„ˆ ์ž๋™ ์‚ญ์ œ
  • -e MY_API_KEY: ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์ปจํ…Œ์ด๋„ˆ ์•ˆ์œผ๋กœ ์ „๋‹ฌ
  • ๋งˆ์ง€๋ง‰ ์ค„: ์‹คํ–‰ํ•  Docker ์ด๋ฏธ์ง€ ์ด๋ฆ„ (์‚ฌ์šฉํ•˜๋Š” MCP ์„œ๋ฒ„์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)
{
  "mcpServers": {
    "my-docker-mcp": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "MY_API_KEY",
        "some-org/some-mcp-server:latest"
      ],
      "env": {
        "MY_API_KEY": "${MY_API_KEY}"
      }
    }
  }
}

Windows์—์„œ WSL์„ ๊ฑฐ์น˜๋Š” ๊ฒฝ์šฐ, Docker ๋ช…๋ น์–ด๋ฅผ WSL์„ ํ†ตํ•ด ์‹คํ–‰ํ•˜๋Š” ํŒจํ„ด๋„ ์ž์ฃผ ์“ฐ์ธ๋‹ค.

{
  "mcpServers": {
    "my-docker-mcp": {
      "command": "C:\\Windows\\System32\\wsl.exe",
      "args": [
        "-d", "Ubuntu", "--", "bash", "-lc",
        "docker run -i --rm -e MY_API_KEY some-org/some-mcp-server:latest"
      ],
      "env": {
        "MY_API_KEY": "${MY_API_KEY}",
        "WSLENV": "MY_API_KEY/u"
      }
    }
  }
}

์ด๋ฏธ ์žˆ๋Š” ์„œ๋ฒ„์— URL๋กœ ์—ฐ๊ฒฐํ•˜๊ธฐ

Docker ์—†์ด ์ด๋ฏธ ๋ฐฐํฌ๋œ ์™ธ๋ถ€ MCP ์„œ๋ฒ„๋‚˜ SaaS ํ˜•ํƒœ์˜ ์„œ๋น„์Šค์— ์ ‘์†ํ•  ๋•Œ๋Š” command ์—†์ด url๋งŒ์œผ๋กœ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.

์ธ์ฆ์ด ํ•„์š”ํ•˜๋ฉด headers๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

{
  "mcpServers": {
    "remote-server": {
      "url": "https://example.com/mcp/sse",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}

 

7. ๋ณด์•ˆ, ๋””๋ฒ„๊น…

API ํ‚ค ๋…ธ์ถœ ์ฃผ์˜

.mcp.json์„ git์— ์ปค๋ฐ‹ํ•  ๋•Œ API ํ‚ค๋ฅผ ์ง์ ‘ ์“ฐ๋ฉด ํ‚ค๊ฐ€ ๊ทธ๋Œ€๋กœ ์˜ฌ๋ผ๊ฐ„๋‹ค. ๋ฐ˜๋“œ์‹œ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋กœ ๋ถ„๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

// ์œ„ํ—˜
"env": { "GITHUB_TOKEN": "your_github_token" }

// ์•ˆ์ „
"env": { "GITHUB_TOKEN": "${GITHUB_TOKEN}" }

// ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋“ฑ๋ก
# macOS/Linux (~/.zshrc ๋˜๋Š” ~/.bashrc)
export GITHUB_TOKEN="ghp_xxxx"
# Windows PowerShell
[System.Environment]::SetEnvironmentVariable("GITHUB_TOKEN", "ghp_xxxx", "User")

ํŒ€๊ณผ .mcp.json์„ ๊ณต์œ ํ•˜๋ฉด์„œ ํ‚ค๋ฅผ ์ง์ ‘ ์จ์•ผ ํ•  ๊ฒฝ์šฐ์—” .gitignore์— ์ถ”๊ฐ€ํ•œ๋‹ค.

.mcp.json
.env

MCP Inspector ๊ณต์‹ ๋””๋ฒ„๊น… ๋„๊ตฌ

์„œ๋ฒ„๊ฐ€ AI ๋„๊ตฌ์—์„œ ์ธ์‹์ด ์•ˆ ๋  ๋•Œ, Inspector๋กœ ์„œ๋ฒ„ ์ž์ฒด๊ฐ€ ์ •์ƒ์ธ์ง€ ๋จผ์ € ํ™•์ธํ•œ๋‹ค. ๋ธŒ๋ผ์šฐ์ €์—์„œ http://localhost:6274 ์ ‘์† → Transport / Command / Arguments ์ž…๋ ฅ → Connect → ํˆด ๋ชฉ๋ก ํ™•์ธ ๋ฐ ์ง์ ‘ ํ˜ธ์ถœ ํ…Œ์ŠคํŠธ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

npx @modelcontextprotocol/inspector
์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)
'๐Ÿ“ AI/โœ AI Tools' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [AI] BMAD : ์ฝ”๋“œ ํ•œ ์ค„์ด ์•„๋‹Œ ํ”„๋กœ์ ํŠธ ์ „์ฒด๋ฅผ ๋งก๊ธฐ๋Š” ๋ฒ•
  • [AI] Git Worktree๋ฅผ ํ™œ์šฉํ•œ ๊ฐœ๋ฐœ ์›Œํฌํ”Œ๋กœ์šฐ ๊ฐœ์„ 
Blxxming
Blxxming
CS ์ง€์‹๊ณผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ฐฐ์šด ๊ฒƒ, ๊ฒฝํ—˜ํ•œ ๊ฒƒ ๋“ฑ์„ ๊ธฐ๋กํ•˜๋Š” ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
  • Blxxming
    ๐Ÿ’ก๋ฒˆ๋œฉ๐Ÿ’ก
    Blxxming
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • ๊ณต์ง€์‚ฌํ•ญ

    • Tech Interview
    • ๐Ÿ“š Tech (251)
      • ๐Ÿ“ Computer Science (96)
        • โœ OS (12)
        • โœ Network & Web (10)
        • โœ Database (11)
        • โœ Data Structure (6)
        • โœ Algorithm (40)
        • โœ Design Pattern (9)
        • โœ Cloud Computing (3)
        • โœ (5)
      • ๐Ÿ“ AI (5)
        • โœ AI Tools (3)
        • โœ Claude (2)
      • ๐Ÿ“ Language (73)
        • โœ Language (6)
        • โœ C & C++ (11)
        • โœ C# (19)
        • โœ JAVA (37)
      • ๐Ÿ“ Game (43)
        • โœ Computer Graphics (2)
        • โœ Unity (14)
        • โœ Unreal (26)
        • โœ (1)
      • ๐Ÿ“ Book (34)
        • โœ Effective (3)
        • โœ Game Server (16)
        • โœ Clean Code (14)
        • โœ (1)
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.0
Blxxming
[AI] MCP ์„ค์ • ๊ฐ€์ด๋“œ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”