choec77

NCP MCP Server

Community choec77
Updated

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 ๊ด€๋ฆฌ ๊ธฐ๋Šฅ
  • ์ธํ”„๋ผ ์ž๋™ ๊ตฌ์ถ• ํ…œํ”Œ๋ฆฟ
  • ์—๋Ÿฌ ํ•ธ๋“ค๋ง ๊ฐœ์„ 

MCP Server ยท Populars

MCP Server ยท New