Skip to main content
Glama

NCP MCP Server

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

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

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

Related MCP server: Superjolt MCP Server

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

μ„œλ²„ 관리

  • μ„œλ²„ μΈμŠ€ν„΄μŠ€ 생성/μ‹œμž‘/쀑지/μ‚­μ œ

  • μ„œλ²„ λͺ©λ‘ 쑰회 및 상세 정보 확인

λ„€νŠΈμ›Œν¬ 관리

  • 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 관리 κΈ°λŠ₯

  • 인프라 μžλ™ ꡬ좕 ν…œν”Œλ¦Ώ

  • μ—λŸ¬ 핸듀링 κ°œμ„ 

Available Tools

23 tools
add_acg_ruleB

ACG에 μΈλ°”μš΄λ“œ κ·œμΉ™μ„ μΆ”κ°€ν•©λ‹ˆλ‹€

Inputs: protocolTypeCode (required), accessControlGroupNo (required), ipBlock, portRange.

add_load_balancer_targetC

λ‘œλ“œ λ°ΈλŸ°μ„œμ— νƒ€κ²Ÿ μ„œλ²„λ₯Ό μΆ”κ°€ν•©λ‹ˆλ‹€

Inputs: serverInstanceNoList (required), loadBalancerInstanceNo (required).

create_acgB

μƒˆλ‘œμš΄ ACGλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

Inputs: vpcNo (required), accessControlGroupName (required), accessControlGroupDescription.

create_cloud_dbB

μƒˆλ‘œμš΄ Cloud DB μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

Inputs: cloudDBProductCode (required), cloudDBServerCount (required), cloudDBServiceName (required), dataStorageTypeCode (required), +4 more.

create_load_balancerC

μƒˆλ‘œμš΄ λ‘œλ“œ λ°ΈλŸ°μ„œλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

Inputs: loadBalancerName (required), loadBalancerAlgorithmTypeCode (required), vpcNo, subnetNoList.

create_serverB

μƒˆλ‘œμš΄ μ„œλ²„ μΈμŠ€ν„΄μŠ€λ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

Inputs: serverName (required), serverProductCode (required), serverImageProductCode (required), vpcNo, +3 more.

create_subnetB

μƒˆλ‘œμš΄ μ„œλΈŒλ„·μ„ μƒμ„±ν•©λ‹ˆλ‹€

Inputs: vpcNo (required), subnet (required), zoneCode (required), subnetName (required), +2 more.

create_vpcC

μƒˆλ‘œμš΄ VPCλ₯Ό μƒμ„±ν•©λ‹ˆλ‹€

Inputs: vpcName (required), ipv4CidrBlock (required).

delete_acgB

ACGλ₯Ό μ‚­μ œν•©λ‹ˆλ‹€

Inputs: accessControlGroupNo (required).

delete_cloud_dbB

Cloud DB μΈμŠ€ν„΄μŠ€λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€

Inputs: cloudDBInstanceNo (required).

delete_load_balancerC

λ‘œλ“œ λ°ΈλŸ°μ„œλ₯Ό μ‚­μ œν•©λ‹ˆλ‹€

Inputs: loadBalancerInstanceNo (required).

delete_serverB

μ„œλ²„ μΈμŠ€ν„΄μŠ€λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€

Inputs: serverInstanceNo (required).

delete_subnetC

μ„œλΈŒλ„·μ„ μ‚­μ œν•©λ‹ˆλ‹€

Inputs: subnetNo (required).

delete_vpcB

VPCλ₯Ό μ‚­μ œν•©λ‹ˆλ‹€

Inputs: vpcNo (required).

get_server_detailB

νŠΉμ • μ„œλ²„ μΈμŠ€ν„΄μŠ€μ˜ 상세 정보λ₯Ό μ‘°νšŒν•©λ‹ˆλ‹€

Inputs: serverInstanceNo (required).

list_acgsB

ACG(Access Control Group) λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€

Inputs: vpcNo.

list_cloud_dbsA

Cloud DB μΈμŠ€ν„΄μŠ€ λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€

Inputs: no named parameters.

list_load_balancersA

λ‘œλ“œ λ°ΈλŸ°μ„œ λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€

Inputs: no named parameters.

list_serversA

NCP의 λͺ¨λ“  μ„œλ²„ μΈμŠ€ν„΄μŠ€ λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€

Inputs: regionCode.

list_subnetsB

μ„œλΈŒλ„· λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€

Inputs: vpcNo.

list_vpcsA

VPC λͺ©λ‘μ„ μ‘°νšŒν•©λ‹ˆλ‹€

Inputs: no named parameters.

start_serverA

μ€‘μ§€λœ μ„œλ²„ μΈμŠ€ν„΄μŠ€λ₯Ό μ‹œμž‘ν•©λ‹ˆλ‹€

Inputs: serverInstanceNo (required).

stop_serverA

μ‹€ν–‰ 쀑인 μ„œλ²„ μΈμŠ€ν„΄μŠ€λ₯Ό μ€‘μ§€ν•©λ‹ˆλ‹€

Inputs: serverInstanceNo (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    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

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers

    • F
      license
      B
      quality
      D
      maintenance
      Enables managing Google Cloud Platform resources through natural language commands in Claude Desktop, supporting comprehensive operations across compute, storage, databases, networking, monitoring, and IAM without manual credential setup.
      56
      20
      -
    • -
      license
      Not graded
      quality
      Not graded
      maintenance
      Enables AI-powered infrastructure management of JavaScript applications via natural language commands, allowing users to deploy, configure, and manage cloud services through Claude Desktop.
      4 npm
      -
    • F
      license
      B
      quality
      D
      maintenance
      Enables conversational management of Naver Cloud Platform infrastructure through Claude Desktop, allowing users to create, query, and manage cloud resources like servers, VPCs, load balancers, and databases using natural language.
      23
      -