Skip to main content
Glama
README.md
# NCP MCP Server

Naver Cloud Platform (NCP) Model Context Protocol (MCP) Server for Claude Desktop

## πŸ“‹ ν”„λ‘œμ νŠΈ μ†Œκ°œ

Claude Desktopκ³Ό μ—°λ™ν•˜μ—¬ NCP(Naver Cloud Platform)의 인프라λ₯Ό λŒ€ν™”ν˜•μœΌλ‘œ 관리할 수 μžˆλŠ” MCP μ„œλ²„μž…λ‹ˆλ‹€. Claude AI와 μžμ—°μ–΄λ‘œ λŒ€ν™”ν•˜λ©΄μ„œ ν΄λΌμš°λ“œ λ¦¬μ†ŒμŠ€λ₯Ό 생성, 쑰회, 관리할 수 μžˆμŠ΅λ‹ˆλ‹€.

## ✨ μ£Όμš” κΈ°λŠ₯

### μ„œλ²„ 관리
- μ„œλ²„ μΈμŠ€ν„΄μŠ€ 생성/μ‹œμž‘/쀑지/μ‚­μ œ
- μ„œλ²„ λͺ©λ‘ 쑰회 및 상세 정보 확인

### λ„€νŠΈμ›Œν¬ 관리
- VPC (Virtual Private Cloud) 생성/쑰회/μ‚­μ œ
- Subnet 생성/쑰회/μ‚­μ œ
- ACG (Access Control Group) 생성/쑰회/μ‚­μ œ
- λ³΄μ•ˆ κ·œμΉ™ μΆ”κ°€

### λ‘œλ“œ λ°ΈλŸ°μ„œ
- Load Balancer 생성/쑰회/μ‚­μ œ
- νƒ€κ²Ÿ μ„œλ²„ 등둝 및 관리

### λ°μ΄ν„°λ² μ΄μŠ€
- Cloud DB μΈμŠ€ν„΄μŠ€ 생성/쑰회/μ‚­μ œ

## πŸ›  기술 μŠ€νƒ

- **Language**: TypeScript
- **Runtime**: Node.js
- **Framework**: Model Context Protocol (MCP) SDK
- **API**: Naver Cloud Platform REST API
- **Authentication**: NCP API Key (HMAC-SHA256 Signature)

## πŸ“¦ μ„€μΉ˜ 방법

### 1. μ €μž₯μ†Œ 클둠

```bash
git clone https://github.com/YOUR_USERNAME/ncp-mcp-server.git
cd ncp-mcp-server
```

### 2. μ˜μ‘΄μ„± μ„€μΉ˜

```bash
npm install
```

### 3. ν™˜κ²½ λ³€μˆ˜ μ„€μ •

`.env` νŒŒμΌμ„ μƒμ„±ν•˜κ³  NCP API ν‚€λ₯Ό μ„€μ •ν•©λ‹ˆλ‹€:

```bash
NCP_ACCESS_KEY=your_access_key_here
NCP_SECRET_KEY=your_secret_key_here
```

### 4. λΉŒλ“œ

```bash
npm run build
```

## πŸš€ μ‚¬μš© 방법

### Claude Desktop μ„€μ •

Claude Desktop의 μ„€μ • νŒŒμΌμ— MCP μ„œλ²„λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€:

**macOS/Linux**: `~/Library/Application Support/Claude/claude_desktop_config.json`

**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "ncp-compute": {
      "command": "node",
      "args": ["/path/to/ncp-compute-mcp-server/dist/index.js"],
      "env": {
        "NCP_ACCESS_KEY": "your_access_key",
        "NCP_SECRET_KEY": "your_secret_key"
      }
    }
  }
}
```

### Claude Desktopμ—μ„œ μ‚¬μš©

Claude Desktop을 μž¬μ‹œμž‘ν•œ ν›„, λ‹€μŒκ³Ό 같이 μžμ—°μ–΄λ‘œ λͺ…λ Ήν•  수 μžˆμŠ΅λ‹ˆλ‹€:

```
- "NCP μ„œλ²„ λͺ©λ‘ λ³΄μ—¬μ€˜"
- "web-server-1 μ΄λ¦„μœΌλ‘œ μ„œλ²„ μƒμ„±ν•΄μ€˜"
- "μ„œλ²„ μ‹œμž‘ν•΄μ€˜"
- "λ‘œλ“œ λ°ΈλŸ°μ„œ μƒμ„±ν•΄μ€˜"
```

## πŸ“ API λͺ©λ‘

### Server APIs
- `list_servers` - μ„œλ²„ μΈμŠ€ν„΄μŠ€ λͺ©λ‘ 쑰회
- `get_server_detail` - μ„œλ²„ 상세 정보 쑰회
- `create_server` - μ„œλ²„ 생성
- `start_server` - μ„œλ²„ μ‹œμž‘
- `stop_server` - μ„œλ²„ 쀑지
- `delete_server` - μ„œλ²„ μ‚­μ œ

### VPC APIs
- `list_vpcs` - VPC λͺ©λ‘ 쑰회
- `create_vpc` - VPC 생성
- `delete_vpc` - VPC μ‚­μ œ

### Subnet APIs
- `list_subnets` - Subnet λͺ©λ‘ 쑰회
- `create_subnet` - Subnet 생성
- `delete_subnet` - Subnet μ‚­μ œ

### ACG APIs
- `list_acgs` - ACG λͺ©λ‘ 쑰회
- `create_acg` - ACG 생성
- `delete_acg` - ACG μ‚­μ œ
- `add_acg_rule` - μΈλ°”μš΄λ“œ κ·œμΉ™ μΆ”κ°€

### Load Balancer APIs
- `list_load_balancers` - Load Balancer λͺ©λ‘ 쑰회
- `create_load_balancer` - Load Balancer 생성
- `delete_load_balancer` - Load Balancer μ‚­μ œ
- `add_load_balancer_target` - νƒ€κ²Ÿ μ„œλ²„ μΆ”κ°€

### Cloud DB APIs
- `list_cloud_dbs` - Cloud DB λͺ©λ‘ 쑰회
- `create_cloud_db` - Cloud DB 생성
- `delete_cloud_db` - Cloud DB μ‚­μ œ

## πŸ” λ³΄μ•ˆ

- NCP API 인증은 HMAC-SHA256 μ„œλͺ… 방식 μ‚¬μš©
- API ν‚€λŠ” ν™˜κ²½ λ³€μˆ˜λ‘œ 관리
- `.env` νŒŒμΌμ€ `.gitignore`에 ν¬ν•¨λ˜μ–΄ 버전 κ΄€λ¦¬μ—μ„œ μ œμ™Έ

## πŸ› νŠΈλŸ¬λΈ”μŠˆνŒ…

### 401 Unauthorized 였λ₯˜
- API ν‚€κ°€ μ˜¬λ°”λ₯Έμ§€ 확인
- μ„œλͺ… 생성 μ‹œ 쿼리 νŒŒλΌλ―Έν„°κ°€ ν¬ν•¨λ˜λŠ”μ§€ 확인

### 404 Not Found 였λ₯˜
- API μ—”λ“œν¬μΈνŠΈ 경둜 확인
- NCP API 버전 확인

### 400 Bad Request 였λ₯˜
- ν•„μˆ˜ νŒŒλΌλ―Έν„° λˆ„λ½ 확인 (예: serverCreateCount)
- νŒŒλΌλ―Έν„° ν˜•μ‹ 확인

## πŸ“š μ°Έκ³  자료

- [Model Context Protocol](https://modelcontextprotocol.io/)
- [NCP API Documentation](https://api.ncloud-docs.com/)
- [Claude Desktop](https://claude.ai/download)

## 🎯 ν–₯ν›„ κ³„νš

- [ ] Object Storage API μΆ”κ°€
- [ ] Monitoring (Cloud Insight) API μΆ”κ°€
- [ ] Auto Scaling API μΆ”κ°€
- [ ] Block Storage 관리 κΈ°λŠ₯
- [ ] 인프라 μžλ™ ꡬ좕 ν…œν”Œλ¦Ώ
- [ ] μ—λŸ¬ 핸듀링 κ°œμ„ 



TDQS

B3.2/5.0

Scored across 23 tools

Disambiguation5/5

Each tool name clearly identifies a specific resource and action (e.g., list_servers vs. create_server). No two tools overlap in purpose, and the verbs (list, get, create, delete, etc.) disambiguate operations within the same resource type.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern in snake_case (e.g., list_vpcs, create_subnet). There are no deviations in style or convention.

Tool Count3/5

With 23 tools spanning six resource types, the count feels heavy but is reasonable for the scope. The number is on the high end of the acceptable range, but each tool serves a distinct purpose.

Completeness3/5

Core lifecycle operations (create, read/list, delete) exist for most resources, but update/modify operations are missing entirely. Additionally, there are no get_detail tools for VPCs, subnets, ACGs, load balancers, or Cloud DBs, and some specific actions like removing ACG rules or load balancer targets are absent.

Maintenance

ActivityStale
ResponsivenessNo issues