Skip to main content
Glama

ํ•˜์ฐฎ์•„MCP ๐ŸŽจ

์นด์นด์˜ค AGENTIC PLAYER 10 ๊ณต๋ชจ์ „ ์ถœํ’ˆ์ž‘ ChatGPT๋Š” ์ž˜ ๊ทธ๋ฆฝ๋‹ˆ๋‹ค. ํ•˜์ฐฎ์•„MCP๋Š” ์ผ๋ถ€๋Ÿฌ ๋ชป ๊ทธ๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๋žŒ๋“ค์€ ๋ชป ๊ทธ๋ฆฐ ๊ฑธ ๋” ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค.

์นด์นด์˜คํ†ก ๋Œ€ํ™”์ฐฝ์—์„œ "๊ณ ์–‘์ด ๊ทธ๋ ค์ค˜"๋ผ๊ณ  ํ•˜๋ฉด, ์ž˜ ๊ทธ๋ฆฐ ๊ทธ๋ฆผ ๋Œ€์‹  ์„  ๋ช‡ ๊ฐœ๋กœ ๋Œ€์ถฉ ๊ทธ๋ฆฐ ํ•˜์ฐฎ์€ ๊ทธ๋ฆผ์„ ๋Œ๋ ค์ฃผ๋Š” MCP ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

๋™์ž‘ ํ๋ฆ„

์‚ฌ์šฉ์ž(์นด์นด์˜คํ†ก) โ†’ ChatGPT for Kakao(์˜ค์ผ€์ŠคํŠธ๋ ˆ์ดํ„ฐ) โ†’ ํ•˜์ฐฎ์•„MCP
   draw_shabby: 1) ์•ˆ์ „ ํ•„ํ„ฐ โ†’ 2) ํ•˜์ฐฎ์Œ ํ”„๋กฌํ”„ํŠธ ๋ณ€ํ™˜
              โ†’ 3) "์ด ํ”„๋กฌํ”„ํŠธ๋กœ, ๋‹ค๋“ฌ์ง€ ๋ง๊ณ  ๊ทธ๋Œ€๋กœ ๊ทธ๋ ค๋ผ" ์ง€์‹œ + ํ”„๋กฌํ”„ํŠธ ๋ฐ˜ํ™˜
                 โ†’ ํ˜ธ์ŠคํŠธ ChatGPT๊ฐ€ ์‹ค์ œ ์ด๋ฏธ์ง€๋ฅผ ๋ Œ๋”๋ง
  • ์‹ค์ œ ๋ Œ๋”๋ง์€ ํ˜ธ์ŠคํŠธ ChatGPT๊ฐ€ ๋‹ด๋‹นํ•œ๋‹ค. ์ง€์‹œ ๋”ฐ๋ฅด๊ธฐ๊ฐ€ ๊ฐ•ํ•œ ๋ชจ๋ธ์ด๋ผ ํ•˜์ฐฎ์Œ ํ™”ํ’์ด ์ž˜ ๋‚˜์˜ค๊ณ , ์šฐ๋ฆฌ ๋น„์šฉ์€ 0์›.

  • MCP์˜ ๊ฐ€์น˜ = ์•ˆ์ „ํ•„ํ„ฐ + ํ•œ๊ธ€์ฃผ์ œโ†’์˜๋ฌธ ํ•˜์ฐฎ์Œ ํ”„๋กฌํ”„ํŠธ ์„ค๊ณ„ + ์ผ๊ด€๋œ ํ™”ํ’ ์ง€์‹œ.

  • ์ œ์–ด ํ๋ฆ„์€ ChatGPTโ†’MCPโ†’๋ฐ˜ํ™˜ ์ผ๋ฐฉํ–ฅ. MCP๊ฐ€ ChatGPT๋ฅผ ๊ฑฐ๊พธ๋กœ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋Š”๋‹ค(์ฃผ๊ฐ์ „๋„ ์—†์Œ).

  • (Pollinations ์ง์ ‘ ์ƒ์„ฑ์€ ๋ณธ์„ /ํด๋ฐฑ ์˜ต์…˜์œผ๋กœ src/pollinations.ts์— ๋ณด์กด.)

Related MCP server: GPT-Image-1 MCP Server

Tool: draw_shabby

ํŒŒ๋ผ๋ฏธํ„ฐ

ํƒ€์ž…

ํ•„์ˆ˜

์„ค๋ช…

subject

string

O

๊ทธ๋ฆด ๋Œ€์ƒ. ์˜ˆ: "๊ณ ์–‘์ด", "์ถœ๊ทผํ•˜๋Š” ์ง์žฅ์ธ"

mood

string

X

๋ถ„์œ„๊ธฐ/๊ฐ์ •. ์˜ˆ: "์Šฌํ”ˆ", "์‹ ๋‚œ"

ํ”„๋กฌํ”„ํŠธ๋Š” ๊ณ ์ •๋œ ๋‹จ์ผ "ํ•˜์ฐฎ์Œ" ๋ฌธ๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, subject(+mood)๋งŒ ์น˜ํ™˜๋œ๋‹ค. (src/shabby.ts)

๋ฐ˜ํ™˜: content์— ๋ Œ๋”๋ง ์ง€์‹œ ํ…์ŠคํŠธ("์ด ํ”„๋กฌํ”„ํŠธ๋กœ, ๋‹ค๋“ฌ์ง€ ๋ง๊ณ  ๊ทธ๋Œ€๋กœ ๊ทธ๋ ค๋ผ" + IMAGE PROMPT), structuredContent์— render_prompt / subject / mood / render_rules. ์‹ค์ œ ์ด๋ฏธ์ง€๋Š” ํ˜ธ์ŠคํŠธ ChatGPT๊ฐ€ ์ƒ์„ฑํ•œ๋‹ค. ์•ˆ์ „์„ฑ ์œ„๋ฐ˜ ์‹œ์—๋Š” ๊ทธ๋ฆผ ๋Œ€์‹  ์นœ์ ˆํ•œ ๊ฑฐ๋ถ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์ „์†ก ๋ฐฉ์‹ (PlayMCP ์ค€์ˆ˜)

  • Streamable HTTP (stateless). ์—”๋“œํฌ์ธํŠธ POST /mcp, ํ—ฌ์Šค์ฒดํฌ GET /healthz.

  • ํฌํŠธ๋Š” PORT ํ™˜๊ฒฝ๋ณ€์ˆ˜(๊ธฐ๋ณธ 3000). Remote(๊ณต๊ฐœ URL) MCP ์„œ๋ฒ„๋กœ ๋ฐฐํฌ.

  • ์„ธ์…˜ ์—†์Œ โ†’ ์š”์ฒญ๋งˆ๋‹ค ์ƒˆ server/transport ์ธ์Šคํ„ด์Šค.

๊ฐœ๋ฐœ / ์‹คํ–‰

npm install
npm run build

npm start                  # Streamable HTTP MCP ์„œ๋ฒ„ ๊ธฐ๋™ (http://localhost:3000/mcp)
node dist/test-client.js   # HTTP๋กœ ์„œ๋ฒ„ ๋„์›Œ ํ•ธ๋“œ์…ฐ์ดํฌ + tools/call ๊ฒ€์ฆ
npm run smoke              # ํ”„๋กฌํ”„ํŠธ ๋ณ€ํ™˜ ๋กœ์ง + (ํด๋ฐฑ)Pollinations ํ˜ธ์ถœ ๊ฒ€์ฆ

MCP Inspector ์ ๊ฒ€ (ํ•„์ˆ˜)

npm start                                  # ํ•œ ํ„ฐ๋ฏธ๋„์—์„œ ์„œ๋ฒ„ ๊ธฐ๋™
npx @modelcontextprotocol/inspector        # ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์—์„œ Inspector ์‹คํ–‰
#  โ†’ Transport: "Streamable HTTP", URL: http://localhost:3000/mcp ๋กœ ์—ฐ๊ฒฐ

์†Œ์Šค ๊ตฌ์กฐ

ํŒŒ์ผ

์—ญํ• 

src/index.ts

Streamable HTTP(stateless) ์ง„์ž…์  (Node ๋‚ด์žฅ http)

src/server.ts

MCP ์„œ๋ฒ„ + draw_shabby ํˆด ์ •์˜(annotations ํฌํ•จ)

src/shabby.ts

ํ•˜์ฐฎ์Œ ํ”„๋กฌํ”„ํŠธ(๊ณ ์ • ๋ฌธ๊ตฌ + subject/mood ์น˜ํ™˜) โ€” ํ•ต์‹ฌ ๊ฒฝ์Ÿ๋ ฅ

src/safety.ts

์ž…๋ ฅ ์•ˆ์ „ ํ•„ํ„ฐ(ํ•œ/์˜ ๊ธˆ์ง€์–ด + ์šฐํšŒ ์ •๊ทœํ™”)

src/pollinations.ts

(ํด๋ฐฑ) Pollinations URL ์กฐ๋ฆฝ + ์žฌ์‹œ๋„ + base64 ๋ณ€ํ™˜

Dockerfile

PlayMCP in KC ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ์šฉ(๋ฉ€ํ‹ฐ์Šคํ…Œ์ด์ง€)

๋ฐฐํฌ (PlayMCP in KC โ†’ PlayMCP ๋“ฑ๋ก)

  1. PlayMCP in KC: Git ์†Œ์Šค ๋˜๋Š” ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€(Dockerfile)๋กœ ๋ฐฐํฌ โ†’ Endpoint URL ๋ฐœ๊ธ‰.

  2. PlayMCP ๋“ฑ๋ก: Endpoint ์ž…๋ ฅ โ†’ "์ •๋ณด ๋ถˆ๋Ÿฌ์˜ค๊ธฐ" ์„ฑ๊ณต โ†’ "์ž„์‹œ ๋“ฑ๋ก"(์•„์ง ์‹ฌ์‚ฌ์š”์ฒญ X) โ†’ ๋„๊ตฌํ•จ ์ถ”๊ฐ€ โ†’ AI์ฑ„ํŒ… ํ…Œ์ŠคํŠธ.

  3. ํ…Œ์ŠคํŠธ OK โ†’ "์‹ฌ์‚ฌ ์š”์ฒญ"(1~2์ผ, ์ตœ๋Œ€ 7์ผ) โ†’ ์Šน์ธ โ†’ "์ „์ฒด ๊ณต๊ฐœ" โ†’ ์ƒ์„ธํŽ˜์ด์ง€ URL ๋ณต์‚ฌ.

  4. ๊ณต๋ชจ์ „ ํŽ˜์ด์ง€ "Player ์˜ˆ์„  ์ฐธ์—ฌ" ๋น„์ฆˆํผ ์ ‘์ˆ˜(์ตœ๋Œ€ 2๊ฐœ, 7/14 ๋งˆ๊ฐ, 7/7 ์ œ์ถœ ๊ถŒ์žฅ).

๋‚จ์€ ํ™•์ธ์‚ฌํ•ญ

  • (๋ฆฌ์Šคํฌ) PlayMCP AI์ฑ„ํŒ… ํ…Œ์ŠคํŠธ์—์„œ ํ˜ธ์ŠคํŠธ๊ฐ€ โ‘  ํ”„๋กฌํ”„ํŠธ๋กœ ์ด๋ฏธ์ง€๋ฅผ ์ƒ์„ฑํ•˜๊ณ  โ‘ก "๋‹ค๋“ฌ์ง€ ๋งˆ" ์ง€์‹œ๋ฅผ ๋”ฐ๋ฅด๋Š”์ง€ ์‹ค์ธก โ†’ ์•ˆ ๋˜๋ฉด Pollinations ์ง์ ‘ ์ƒ์„ฑ(ํด๋ฐฑ)์œผ๋กœ ์ „ํ™˜.

  • ๋ฐ๋ชจ ์‹œ๋‚˜๋ฆฌ์˜ค ์ •๋ฆฌ(์ œ์ถœ์šฉ).

๋ณธ์„  TODO (์˜ˆ์„  ์ดํ›„)

  • ์‚ฌ์ง„ โ†’ ์‚ฌ์ง„ (image-to-image): ์‚ฌ์šฉ์ž๊ฐ€ ์ฒจ๋ถ€ํ•œ ์‚ฌ์ง„์„ ํ•˜์ฐฎ๊ฒŒ redraw. Pollinations kontext/nanobanana ๋ชจ๋ธ ํ•„์š” โ€” enter.pollinations.ai ๊ฐ€์ž… + API ํ† ํฐ + Pollen ํฌ๋ ˆ๋”ง ์†Œ๋ชจ(์œ ๋ฃŒ, ๋‹จ ๋งค์šฐ ์ €๋ ด/์ผ์ผ ๋ฌด๋ฃŒ grant ์žˆ์Œ). ์ž…๋ ฅ ์ด๋ฏธ์ง€๋Š” ๊ณต๊ฐœ URL์ด์–ด์•ผ ํ•จ(ํŒŒ์ผ ์—…๋กœ๋“œ X). ์˜ˆ์„ ์€ ๋ฌด๋ฃŒยท๋ฌด์ œํ•œ textโ†’image(Flux) ์œ ์ง€, ๋ณธ์„ ์—์„œ ์นด์นด์˜ค ์ง€์› ํฌ๋ ˆ๋”ง์œผ๋กœ ๋„์ž… ๊ฒ€ํ† .

Related MCP Connectors

Related MCP Servers