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. ์ ์ฅ์ ํด๋ก
git clone https://github.com/YOUR_USERNAME/ncp-mcp-server.git
cd ncp-mcp-server
2. ์์กด์ฑ ์ค์น
npm install
3. ํ๊ฒฝ ๋ณ์ ์ค์
.env ํ์ผ์ ์์ฑํ๊ณ NCP API ํค๋ฅผ ์ค์ ํฉ๋๋ค:
NCP_ACCESS_KEY=your_access_key_here
NCP_SECRET_KEY=your_secret_key_here
4. ๋น๋
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
{
"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)
- ํ๋ผ๋ฏธํฐ ํ์ ํ์ธ
๐ ์ฐธ๊ณ ์๋ฃ
๐ฏ ํฅํ ๊ณํ
- Object Storage API ์ถ๊ฐ
- Monitoring (Cloud Insight) API ์ถ๊ฐ
- Auto Scaling API ์ถ๊ฐ
- Block Storage ๊ด๋ฆฌ ๊ธฐ๋ฅ
- ์ธํ๋ผ ์๋ ๊ตฌ์ถ ํ ํ๋ฆฟ
- ์๋ฌ ํธ๋ค๋ง ๊ฐ์