Skip to content

contentscoin/pmagent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

69 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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 ๊ธฐ๋Šฅ ๋ฐ ๋ชจ๋ธ์„ ํ†ตํ•ฉํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์„œ

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

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๋ฅผ ์žฌ์‹œ์ž‘ํ•œ ํ›„ ์Šค๋ฏธ๋”๋ฆฌ๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ํ‘œ์‹œ๋˜๋Š”์ง€ ํ™•์ธ

About

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors