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 κ΄λ¦¬ κΈ°λ₯
- μΈνλΌ μλ κ΅¬μΆ ν νλ¦Ώ
- μλ¬ νΈλ€λ§ κ°μ