Skip to main content
Glama
Hyunssu-kim

MCP AI Orchestration Server

by Hyunssu-kim
README.md
# ๐Ÿค– MCP AI Orchestration Server

์งˆ๋ฌธ์„ ๋ฐ›์•„ Gemini์™€ Claude CLI์— ๊ฐ๊ฐ ์ „๋‹ฌํ•˜์—ฌ ๋‘ AI์˜ ๋‹ต๋ณ€์„ ๋™์‹œ์— ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” MCP ์„œ๋ฒ„์ž…๋‹ˆ๋‹ค.

## ๐Ÿ“ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

```
๐Ÿค MCP Collaborative AI Server/
โ”œโ”€โ”€ ๐Ÿ“‚ src/                          # ์†Œ์Šค ์ฝ”๋“œ
โ”‚   โ”œโ”€โ”€ ๐Ÿš€ servers/                  # MCP ์„œ๋ฒ„๋“ค
โ”‚   โ”‚   โ”œโ”€โ”€ orchestration_server.py          # ๋ฉ”์ธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์„œ๋ฒ„
โ”‚   โ”‚   โ”œโ”€โ”€ enhanced_collaborative_server.py # ๊ธฐ์กด ํ˜‘์—… ์„œ๋ฒ„ (๋ ˆ๊ฑฐ์‹œ)
โ”‚   โ”‚   โ”œโ”€โ”€ basic_collaborative_server.py     # ๊ธฐ๋ณธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์„œ๋ฒ„
โ”‚   โ”‚   โ”œโ”€โ”€ ultra_simple_server.py           # ํ…Œ์ŠคํŠธ์šฉ ์ตœ์†Œ MCP ์„œ๋ฒ„
โ”‚   โ”‚   โ””โ”€โ”€ simple_test_server.py            # ๊ฐ„๋‹จํ•œ ํ…Œ์ŠคํŠธ ์„œ๋ฒ„
โ”‚   โ”œโ”€โ”€ ๐Ÿ› ๏ธ tools/                   # ๊ฐœ๋ฐœ ๋„๊ตฌ๋“ค
โ”‚   โ”‚   โ””โ”€โ”€ debug_dashboard.py               # ์‹œ๊ฐ์  ํ˜‘์—… ๊ณผ์ • ๋Œ€์‹œ๋ณด๋“œ
โ”‚   โ””โ”€โ”€ โš™๏ธ utils/                   # ์œ ํ‹ธ๋ฆฌํ‹ฐ ํ•จ์ˆ˜๋“ค
โ”œโ”€โ”€ ๐Ÿ“‚ scripts/                      # ์‹คํ–‰ ์Šคํฌ๋ฆฝํŠธ๋“ค
โ”‚   โ”œโ”€โ”€ start_collaborative_server.sh        # ์„œ๋ฒ„ ์‹œ์ž‘ (๋กœ๊ทธ ํฌํ•จ)
โ”‚   โ”œโ”€โ”€ start_server.sh                     # ๊ธฐ๋ณธ ์„œ๋ฒ„ ์‹œ์ž‘
โ”‚   โ”œโ”€โ”€ monitor_logs.sh                     # ์‹ค์‹œ๊ฐ„ ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง
โ”‚   โ””โ”€โ”€ check_claude_logs.sh               # Claude Desktop ๋กœ๊ทธ ํ™•์ธ
โ”œโ”€โ”€ ๐Ÿ“‚ configs/                      # ์„ค์ • ํŒŒ์ผ๋“ค
โ”‚   โ”œโ”€โ”€ claude_desktop_config.json          # Claude Desktop ์„ค์ • ์˜ˆ์ œ
โ”‚   โ”œโ”€โ”€ config.json.example                 # ๊ธฐ๋ณธ ์„ค์ • ์˜ˆ์ œ
โ”‚   โ””โ”€โ”€ mcp_config.json                     # MCP ์„œ๋ฒ„ ์„ค์ •
โ”œโ”€โ”€ ๐Ÿ“‚ examples/                     # ์‚ฌ์šฉ ์˜ˆ์ œ๋“ค
โ”‚   โ””โ”€โ”€ run_example.py                      # ๊ธฐ๋ณธ ์‚ฌ์šฉ ์˜ˆ์ œ
โ”œโ”€โ”€ ๐Ÿ“‚ docs/                         # ๋ฌธ์„œ๋“ค
โ”‚   โ”œโ”€โ”€ README_COLLABORATIVE.md             # ์ƒ์„ธํ•œ ํ˜‘์—… ์‹œ์Šคํ…œ ์„ค๋ช…
โ”‚   โ”œโ”€โ”€ SYSTEM_ARCHITECTURE.md             # ์‹œ์Šคํ…œ ๊ตฌ์กฐ ๋ฌธ์„œ
โ”‚   โ”œโ”€โ”€ system_architecture_diagram.html    # ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ๋‹ค์ด์–ด๊ทธ๋žจ
โ”‚   โ””โ”€โ”€ CLAUDE.md                          # MCP ์„œ๋ฒ„ ์ •๋ณด
โ”œโ”€โ”€ ๐Ÿ“‚ tests/                        # ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋“ค (์˜ˆ์ •)
โ”œโ”€โ”€ ๐Ÿ“‚ logs/                         # ๋กœ๊ทธ ํŒŒ์ผ๋“ค
โ”œโ”€โ”€ ๐Ÿ“„ requirements.txt              # Python ์˜์กด์„ฑ
โ”œโ”€โ”€ ๐Ÿ“„ .gitignore                   # Git ๋ฌด์‹œ ํŒŒ์ผ๋“ค
โ””โ”€โ”€ ๐Ÿ“„ README.md                    # ์ด ํŒŒ์ผ
```

## โœจ ์ฃผ์š” ํŠน์ง•

### ๐Ÿค– AI ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜
- **์งˆ๋ฌธ์„ ๋‘ AI์—๊ฒŒ ๋™์‹œ ์ „๋‹ฌ**
- **Gemini์™€ Claude CLI ์—ฐ๋™**
- **๊ฐ AI์˜ ์ˆœ์ˆ˜ํ•œ ๋‹ต๋ณ€ ์ œ๊ณต**
- **์„ฑ๊ฒฉ์ด๋‚˜ ์—ญํ•  ์—†์ด ์žˆ๋Š” ๊ทธ๋Œ€๋กœ ์‘๋‹ต**

### ๐ŸŽฏ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋„๊ตฌ๋“ค
1. **ask_both_ai** - ์งˆ๋ฌธ์„ ๋‘ AI์—๊ฒŒ ๋™์‹œ ์ „๋‹ฌ
2. **get_orchestration_stats** - ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ†ต๊ณ„ ์กฐํšŒ

## ๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

### 1. ์ €์žฅ์†Œ ํด๋ก 
```bash
git clone https://github.com/Hyunssu-kim/mcp_server_claude_test.git
cd mcp_server_claude_test
```

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

### 3. ์„œ๋ฒ„ ์‹คํ–‰
```bash
# ๋ฉ”์ธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์„œ๋ฒ„ ์‹คํ–‰
python src/servers/orchestration_server.py

# ๊ธฐ๋ณธ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์„œ๋ฒ„ ์‹คํ–‰ (CLI ์—†์ด)
python src/servers/basic_collaborative_server.py
```

### 4. Claude Desktop ์„ค์ •
```json
{
  "mcpServers": {
    "orchestration-ai": {
      "command": "/usr/local/bin/python3",
      "args": ["/path/to/src/servers/orchestration_server.py"]
    }
  }
}
```

## ๐Ÿ’ก ์‚ฌ์šฉ ์˜ˆ์ œ

### ๐Ÿค– ๋‘ AI์—๊ฒŒ ๋™์‹œ ์งˆ๋ฌธ
```
ask_both_ai ๋„๊ตฌ๋กœ "Python ์›น์•ฑ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•"์„ ์งˆ๋ฌธํ•ด์ฃผ์„ธ์š”
```

### ๐Ÿ“Š ํ†ต๊ณ„ ์กฐํšŒ
```
get_orchestration_stats ๋„๊ตฌ๋กœ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ํ†ต๊ณ„๋ฅผ ํ™•์ธํ•ด์ฃผ์„ธ์š”
```

### ๐Ÿ” CLI ๋„๊ตฌ ํ™•์ธ
```bash
# Gemini CLI ํ™•์ธ
which gemini

# Claude CLI ํ™•์ธ
which claude
```

## ๐Ÿ” ๋ชจ๋‹ˆํ„ฐ๋ง

### ๊ธฐ๋ณธ ๋กœ๊ทธ ํ™•์ธ
```bash
# ์„œ๋ฒ„ ์‹คํ–‰ ์‹œ ์ฝ˜์†” ์ถœ๋ ฅ ํ™•์ธ
python src/servers/orchestration_server.py
```

## ๐Ÿ›ก๏ธ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

### MCP ์„œ๋ฒ„๊ฐ€ ์ธ์‹๋˜์ง€ ์•Š์„ ๋•Œ
1. Claude Desktop ์žฌ์‹œ์ž‘
2. ์„ค์ • ํŒŒ์ผ ๊ฒฝ๋กœ ํ™•์ธ
3. Python ๊ฒฝ๋กœ ํ™•์ธ: `/usr/local/bin/python3`
4. ๊ธฐ๋ณธ ์„œ๋ฒ„๋กœ ํ…Œ์ŠคํŠธ: `src/servers/basic_collaborative_server.py`

### CLI ๋„๊ตฌ๊ฐ€ ์—†์„ ๋•Œ
1. Gemini CLI ์„ค์น˜ ํ•„์š”
2. Claude CLI ์„ค์น˜ ํ•„์š”
3. PATH ํ™˜๊ฒฝ๋ณ€์ˆ˜ ํ™•์ธ

## ๐Ÿ“š ์ถ”๊ฐ€ ๋ฌธ์„œ

- **[๊ธฐ์กด ํ˜‘์—… ์‹œ์Šคํ…œ](docs/README_COLLABORATIVE.md)** - ๋ ˆ๊ฑฐ์‹œ ํ˜‘์—… ์›Œํฌํ”Œ๋กœ์šฐ ์ฐธ๊ณ 
- **[์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜](docs/SYSTEM_ARCHITECTURE.md)** - ๊ธฐ์ˆ ์  ๊ตฌ์กฐ ๋ฌธ์„œ
- **[MCP ์„œ๋ฒ„ ์ •๋ณด](docs/CLAUDE.md)** - Claude Desktop ์—ฐ๋™ ๊ฐ€์ด๋“œ

## ๐ŸŽจ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜ ์›Œํฌํ”Œ๋กœ์šฐ

```
๐Ÿ“ ์งˆ๋ฌธ ์ž…๋ ฅ
   โ†“
๐Ÿ”„ ๋‘ AI์—๊ฒŒ ๋™์‹œ ์ „๋‹ฌ
   โ†“
๐Ÿ”ธ Gemini ์‘๋‹ต    ๐Ÿ”น Claude ์‘๋‹ต
   โ†“                โ†“
๐Ÿ“Š ๊ฒฐ๊ณผ ํ†ตํ•ฉ ๋ฐ ํ‘œ์‹œ
```

## ๐Ÿค– AI ์‘๋‹ต ํŠน์„ฑ

- **๐Ÿ”ธ Gemini**: ๊ฐ์ž์˜ ๊ณ ์œ ํ•œ ํŠน์„ฑ์œผ๋กœ ๋‹ต๋ณ€
- **๐Ÿ”น Claude**: ๊ฐ์ž์˜ ๊ณ ์œ ํ•œ ํŠน์„ฑ์œผ๋กœ ๋‹ต๋ณ€
- **๐Ÿค ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜**: ๋‘ AI์˜ ์„œ๋กœ ๋‹ค๋ฅธ ๋‹ต๋ณ€์„ ๋‚˜๋ž€ํžˆ ์ œ๊ณต

## ๐Ÿ“ˆ ํŠน์ง•

- **๋™์‹œ ์‹คํ–‰**์œผ๋กœ ๋น ๋ฅธ ์‘๋‹ต ์ˆ˜์ง‘
- **CLI ์ง์ ‘ ์—ฐ๋™**์œผ๋กœ ์ˆœ์ˆ˜ํ•œ AI ๋‹ต๋ณ€
- **๊ฐ„๋‹จํ•œ ๊ตฌ์กฐ**๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›€
- **๋น„๊ต ๋ถ„์„**์„ ํ†ตํ•œ ๋‹ค์–‘ํ•œ ๊ด€์  ์ œ๊ณต

## ๐Ÿ”ง ๊ธฐ์ˆ ์  ํŠน์ง•

- **JSON-RPC 2.0** ํ”„๋กœํ† ์ฝœ ๊ธฐ๋ฐ˜
- **๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ**๋กœ ๋™์‹œ ์‹คํ–‰
- **CLI ํ”„๋กœ์„ธ์Šค ๊ด€๋ฆฌ**
- **๊ฐ„๋‹จํ•œ ํ†ต๊ณ„ ์ถ”์ **

## ๐Ÿค ๊ธฐ์—ฌํ•˜๊ธฐ

1. ์ด ์ €์žฅ์†Œ๋ฅผ Fork
2. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ (`git checkout -b feature/amazing-feature`)
3. ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ปค๋ฐ‹ (`git commit -m 'Add amazing feature'`)
4. ๋ธŒ๋žœ์น˜์— ํ‘ธ์‹œ (`git push origin feature/amazing-feature`)
5. Pull Request ์ƒ์„ฑ

## ๐Ÿ“„ ๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” MIT ๋ผ์ด์„ ์Šค ํ•˜์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ `LICENSE` ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

## ๐Ÿ‘ฅ ์ œ์ž‘์ž

- **Hyunssu Kim**
- **Email**: foxkim951@naver.com
- **GitHub**: [Hyunssu-kim](https://github.com/Hyunssu-kim)