โœจ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

PMAgent MCP Server

PM Agent MCP(Model Context Protocol) ์„œ๋ฒ„๋Š” ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋ฐ ๋‹ค์–‘ํ•œ AI ์—์ด์ „ํŠธ ์กฐ์ •์„ ์œ„ํ•œ JSON-RPC 2.0 ๊ธฐ๋ฐ˜ ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

์ฃผ์š” ๊ธฐ๋Šฅ

  • ํ”„๋กœ์ ํŠธ ๋ฐ ํƒœ์Šคํฌ ๊ด€๋ฆฌ
  • ๋‹ค์–‘ํ•œ AI ์—์ด์ „ํŠธ ๊ด€๋ฆฌ (PM, ๋””์ž์ด๋„ˆ, ํ”„๋ก ํŠธ์—”๋“œ, ๋ฐฑ์—”๋“œ, AI ์—”์ง€๋‹ˆ์–ด)
  • ๋ฐ์ดํ„ฐ ์ง€์†์„ฑ (๋กœ์ปฌ ํŒŒ์ผ ์ €์žฅ)
  • Cursor ํŽธ์ง‘๊ธฐ์™€์˜ ํ†ตํ•ฉ

์„ค์น˜

# ์ €์žฅ์†Œ ๋ณต์ œ
git clone https://github.com/your-username/pmagent-mcp-server.git
cd pmagent-mcp-server

# ์˜์กด์„ฑ ์„ค์น˜
pip install -r requirements.txt

์‹คํ–‰

# ์„œ๋ฒ„ ์‹คํ–‰
python server.py

์„œ๋ฒ„๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ http://localhost:8082์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

API ์—”๋“œํฌ์ธํŠธ

  • ๋ฉ”์ธ API: /api - JSON-RPC 2.0 ์š”์ฒญ ์ฒ˜๋ฆฌ
  • ๋ฃจํŠธ: / - ์„œ๋ฒ„ ์ƒํƒœ ํ™•์ธ

์ฃผ์š” ๋ฉ”์„œ๋“œ

ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ

  • request_planning: ์ƒˆ ์š”์ฒญ ๋“ฑ๋ก ๋ฐ ํƒœ์Šคํฌ ๊ณ„ํš
  • get_next_task: ๋‹ค์Œ ๋Œ€๊ธฐ ์ค‘์ธ ํƒœ์Šคํฌ ๊ฐ€์ ธ์˜ค๊ธฐ
  • mark_task_done: ํƒœ์Šคํฌ ์™„๋ฃŒ ์ฒ˜๋ฆฌ
  • approve_task_completion: ํƒœ์Šคํฌ ์™„๋ฃŒ ์Šน์ธ
  • approve_request_completion: ์ „์ฒด ์š”์ฒญ ์™„๋ฃŒ ์Šน์ธ

์„ธ์…˜ ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ

  • create_session: ์ƒˆ ์„ธ์…˜ ์ƒ์„ฑ
  • export_data: ์„ธ์…˜ ๋ฐ์ดํ„ฐ ๋‚ด๋ณด๋‚ด๊ธฐ (JSON ํ˜•์‹)
  • import_data: ๋ฐ์ดํ„ฐ ๊ฐ€์ ธ์˜ค๊ธฐ

์—์ด์ „ํŠธ ๊ด€๋ฆฌ

  • create_agent: ์ƒˆ ์—์ด์ „ํŠธ ์ƒ์„ฑ
  • get_agent: ์—์ด์ „ํŠธ ์ •๋ณด ์กฐํšŒ
  • list_agents: ์—์ด์ „ํŠธ ๋ชฉ๋ก ์กฐํšŒ
  • assign_task_to_agent: ์—์ด์ „ํŠธ์— ํƒœ์Šคํฌ ํ• ๋‹น
  • get_agent_result: ์—์ด์ „ํŠธ ํƒœ์Šคํฌ ๊ฒฐ๊ณผ ์กฐํšŒ

๋ฐ์ดํ„ฐ ์ง€์†์„ฑ

PMAgent MCP ์„œ๋ฒ„๋Š” ์„ธ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ์ปฌ ํŒŒ์ผ ์‹œ์Šคํ…œ์— JSON ํ˜•์‹์œผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์ €์žฅ ๊ฒฝ๋กœ

  • ์„ธ์…˜ ๋ฐ์ดํ„ฐ: api/data/sessions/{session_id}.json

๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฉ”์„œ๋“œ

  • export_data: ํ˜„์žฌ ์„ธ์…˜ ๋ฐ์ดํ„ฐ๋ฅผ JSON์œผ๋กœ ๋‚ด๋ณด๋‚ด๊ณ  ํŒŒ์ผ๋กœ ์ €์žฅ
  • import_data: ํŒŒ์ผ์—์„œ ๋ฐ์ดํ„ฐ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ (ํŒŒ๋ผ๋ฏธํ„ฐ: โ€œfromFileโ€: true)

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Cursor ํ†ตํ•ฉ

PMAgent MCP ์„œ๋ฒ„๋Š” Cursor ํŽธ์ง‘๊ธฐ์™€์˜ ํ†ตํ•ฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. Cursor์˜ ๋‚ด์žฅ MCP ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ด ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜๊ณ  ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ†ตํ•ฉ ๋‹จ๊ณ„

  1. PMAgent MCP ์„œ๋ฒ„ ์‹คํ–‰
  2. Cursor์—์„œ MCP: Add Server ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์„œ๋ฒ„ ๋“ฑ๋ก (http://localhost:8082)
  3. ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ๋ฐ ์—์ด์ „ํŠธ ํ™œ์šฉ

์ž์„ธํ•œ ๋‚ด์šฉ์€ ํ†ตํ•ฉ ๊ณ„ํš ๋ฌธ์„œ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์—์ด์ „ํŠธ ์œ ํ˜•

PM ์—์ด์ „ํŠธ

ํ”„๋กœ์ ํŠธ ๊ด€๋ฆฌ ๋ฐ ์กฐ์ •์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ถ„์„ํ•˜๊ณ  ํƒœ์Šคํฌ๋ฅผ ๊ณ„ํšํ•ฉ๋‹ˆ๋‹ค.

๋””์ž์ด๋„ˆ ์—์ด์ „ํŠธ

UI/UX ๋””์ž์ธ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ปดํฌ๋„ŒํŠธ, ํ™”๋ฉด, ํ…Œ๋งˆ ๋“ฑ์„ ๋””์ž์ธํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋ก ํŠธ์—”๋“œ ์—์ด์ „ํŠธ

์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ตฌํ˜„์„ ๋‹ด๋‹นํ•ฉ๋‹ˆ๋‹ค. ๋””์ž์ด๋„ˆ์˜ ๊ฒฐ๊ณผ๋ฌผ์„ ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค.

๋ฐฑ์—”๋“œ ์—์ด์ „ํŠธ

์„œ๋ฒ„ ์ธก ๋กœ์ง ๋ฐ API๋ฅผ ๊ตฌํ˜„ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ชจ๋ธ ๋ฐ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค.

AI ์—”์ง€๋‹ˆ์–ด ์—์ด์ „ํŠธ

AI ๊ธฐ๋Šฅ ๋ฐ ๋ชจ๋ธ์„ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ

  • API ๋ฌธ์„œ
  • ์—์ด์ „ํŠธ ์‹œ์Šคํ…œ
  • ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ
  • Cursor ํ†ตํ•ฉ ๊ณ„ํš
  • CLI ์‚ฌ์šฉ๋ฒ•
  • ์„ค์น˜ ๊ฐ€์ด๋“œ
  • ๋กœ๋“œ๋งต

๋ผ์ด์„ผ์Šค

MIT

์„ค์ • ํŒŒ์ผ

ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์„ค์ •์€ config.json ํŒŒ์ผ์— ํ†ตํ•ฉ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค:

{
  "url": "https://successive-glenn-contentscoin-34b6608c.koyeb.app",
  "apiKey": "0c8f6386-e443-4b8b-95ba-22a40d5f5e38",
  "mcpUrl": "https://successive-glenn-contentscoin-34b6608c.koyeb.app/mcp",
  "localUrl": "http://localhost:4000/api/mcp",
  "environments": {
    "production": "https://successive-glenn-contentscoin-34b6608c.koyeb.app",
    "local": "http://localhost:4000/api/mcp"
  },
  "client": {
    // MCP ํด๋ผ์ด์–ธํŠธ ์„ค์ •...
  }
}

MCP ์„œ๋ฒ„ ํ…Œ์ŠคํŠธ

MCP ์„œ๋ฒ„๋ฅผ ํ…Œ์ŠคํŠธํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

# ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„ ํ…Œ์ŠคํŠธ
npm run test:mcp

# ๋กœ์ปฌ ์„œ๋ฒ„ ํ…Œ์ŠคํŠธ
npm run test:mcp:local

์ด ์Šคํฌ๋ฆฝํŠธ๋Š” MCP ์„œ๋ฒ„์— ์—ฐ๊ฒฐํ•˜์—ฌ ๋‹ค์Œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค:

  1. ์„œ๋ฒ„ ์ •๋ณด ํ™•์ธ
  2. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ
  3. ํ”„๋กœ์ ํŠธ ๋ชฉ๋ก ๊ฐ€์ ธ์˜ค๊ธฐ
  4. ํ…Œ์ŠคํŠธ ํ”„๋กœ์ ํŠธ ๋ฐ ํƒœ์Šคํฌ ์ƒ์„ฑ

Smithery ์„ค์ • ๋ฐ ๋“ฑ๋ก

PMAgent MCP Server๋ฅผ Cursor์— ๋“ฑ๋กํ•˜๋ ค๋ฉด ๋‹ค์Œ ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์„ธ์š”:

# ๊ฐ„๋‹จํ•œ ์Šค๋ฏธ๋”๋ฆฌ ๋“ฑ๋ก (๊ถŒ์žฅ)
npm run smithery:simple

# ๊ธฐ์กด ๋ฐฉ์‹์˜ ๋“ฑ๋ก
npm run smithery:register

# ๋กœ์ปฌ ์„œ๋ฒ„ ๋ชจ๋“œ๋กœ ๋“ฑ๋ก
npm run smithery:local

# ๊ธฐ์กด ์„ค์น˜ ์ œ๊ฑฐ ํ›„ ์žฌ์„ค์น˜
npm run smithery:reinstall

# ์Šค๋ฏธ๋”๋ฆฌ ์„ค์ • ํŒŒ์ผ ์ œ๊ฑฐ (๋ฌธ์ œ ํ•ด๊ฒฐ์‹œ)
npm run smithery:clean

๋งŒ์•ฝ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•œ ๋ฐฉ๋ฒ•์ด ์‹คํŒจํ•œ๋‹ค๋ฉด, smithery_install_commands.txt ํŒŒ์ผ์— ์žˆ๋Š” ๋ช…๋ น์–ด๋ฅผ ํ„ฐ๋ฏธ๋„์—์„œ ์ง์ ‘ ์‹คํ–‰ํ•ด๋ณด์„ธ์š”.

์ถ”๊ฐ€ ์˜ต์…˜์€ ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค:

node register_smithery.js --help

์„ค์ • ํŒŒ์ผ

  • config.json: ๋ฉ”์ธ ์„ค์ • ํŒŒ์ผ๋กœ URL๊ณผ API ํ‚ค ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.
  • smithery-simple.json: Smithery ์„œ๋ฒ„ ์ƒ์„ธ ์„ค์ •์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ ํ•ด๊ฒฐ

์Šค๋ฏธ๋”๋ฆฌ ๋“ฑ๋ก ์ค‘ โ€œNo connection configuration foundโ€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์‹œ๋„ํ•˜์„ธ์š”:

  1. ์Šค๋ฏธ๋”๋ฆฌ ์„ค์ • ์ดˆ๊ธฐํ™”: npm run smithery:clean
  2. ๊ฐ„๋‹จํ•œ ๋“ฑ๋ก ์Šคํฌ๋ฆฝํŠธ ์‚ฌ์šฉ: npm run smithery:simple
  3. Cursor๋ฅผ ์žฌ์‹œ์ž‘ํ•œ ํ›„ ์Šค๋ฏธ๋”๋ฆฌ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ํ‘œ์‹œ๋˜๋Š”์ง€ ํ™•์ธ

Featured Templates

View More
Verified Icon
AI Agents
AI Chatbot Starter Kit
1342 9274
Customer service
Service ERP
127 1488
AI Engineering
Python Bug Fixer
122 1766
AI Assistants
Image to text with Claude 3
155 1658

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.