mcpField
N
Ncloud MCP Server

Ncloud MCP Server

本地服务
github.com/sjk4425开发工具2今天更新

关于 Ncloud MCP Server

Ncloud MCP Server 让 AI 助手管理 Naver Cloud Platform 基础设施,涵盖计算、网络、数据库、存储等服务。一个服务器支持民间、公共和金融区域,并可选择工具组。

主要功能

  1. 01覆盖 60 多项服务的 1,000 多个 API 工具
  2. 02支持民间、公共和金融区域
  3. 03可选择并动态启用工具组
  4. 04提供 MCP 工具注解和确认门控
  5. 05读取和管理云基础设施

适用场景

  1. 01检查或管理计算与网络资源
  2. 02使用 Ncloud 数据库和存储
  3. 03按部署区域选择服务
  4. 04为会话仅加载相关工具组

MCP 相关

通过 MCP 工具向客户端提供 Naver Cloud Platform API,包括基础设施管理和账单功能。工具组可在启动时选择,也可在会话中启用。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"ncloud": {
"command": "npx",
"args": [
"-y",
"ncloud-mcp-server"
],
"env": {
"NCLOUD_ACCESS_KEY": "<NCLOUD_ACCESS_KEY>",
"NCLOUD_SECRET_KEY": "<NCLOUD_SECRET_KEY>",
"NCLOUD_ZONE": "<NCLOUD_ZONE>",
"NCLOUD_REGION": "<NCLOUD_REGION>",
"NCLOUD_TOOL_GROUPS": "<NCLOUD_TOOL_GROUPS>",
"NCLOUD_RESPONSE_PRUNE": "<NCLOUD_RESPONSE_PRUNE>",
"NCLOUD_TIMEOUT_MS": "<NCLOUD_TIMEOUT_MS>",
"NCLOUD_LANG": "<NCLOUD_LANG>",
"NCLOUD_RESPONSE_MAXBYTES": "<NCLOUD_RESPONSE_MAXBYTES>"
}
}
}
}
启动命令npx -y ncloud-mcp-server
需要配置的环境变量
NCLOUD_ACCESS_KEY密钥Ncloud API Access Key
NCLOUD_SECRET_KEY密钥Ncloud API Secret Key
NCLOUD_ZONEZone: 'pub' (default, Public zone), 'gov' (Government zone) or 'fin' (Financial zone). Selects the API gateways, regions and service catalogue; credentials must be issued by that zone's console. Any other value aborts startup.
NCLOUD_REGIONNcloud region code. Public zone: KR, JPN, SGN, USWN, DEN. Government zone: KR (KR-CENTRAL), KRS (KR-SOUTH). Financial zone: FKR. Default KR (FKR in the Financial zone).
NCLOUD_TOOL_GROUPSComma-separated tool groups to load at startup, e.g. 'compute,network,billing' or 'all,-billing'. Unset = all groups. Include the 'dynamic' keyword to start with the core set (common+compute+network+database) AND allow mid-session expansion via the ncloud_enable_tool_group meta tool; without 'dynamic', the listed groups are locked (no runtime expansion). A '-'-excluded group is also refused for dynamic enable. common is always on.
NCLOUD_RESPONSE_PRUNESet to '1' to strip empty values (null/""/[]/{}) from responses globally.
NCLOUD_TIMEOUT_MSAPI request timeout in milliseconds (default 30000). HTTP 429 is always auto-retried up to 2 times; read-only query tools also retry 503/504 and network errors.
NCLOUD_LANGLanguage for client error messages: 'en' for English, otherwise/unset is Korean (default).
NCLOUD_RESPONSE_MAXBYTESOpt-in response-size guard for read-only tools. When set to a positive byte threshold, large read-only responses are truncated item-by-item to stay under it, adding 'truncated'/'suggestedPageSize' recovery hints. Unset/0 = guard off (response shape unchanged).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmncloud-mcp-server2.1.0

工具

200

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

Ncloud MCP Server

English

CI npm version License: MIT Node.js TypeScript

这是一个 Model Context Protocol (MCP) 服务,可让 AI 助手直接管理 Naver Cloud Platform(Ncloud)基础设施。

一个服务即可支持民间区(Public)、公共区(Government)和金融区(Financial)。设置 NCLOUD_ZONE=gov 或 NCLOUD_ZONE=fin 即可切换到相应区域的 API 网关、区域和服务目录;未设置时默认为民间区 → 选择区域。

主要功能

通过 MCP 协议提供 Ncloud 60 多项服务和 1,000 多个 API 工具。

类别服务
ComputeServer、Block Storage、Snapshot、Public IP、Init Script、Login Key、Placement Group、Fabric Cluster ⓕ、Auto Scaling、Cloud Functions
NetworkingVPC、Subnet、ACG、Network ACL、NAT Gateway、Route Table、VPC Peering、Network Interface、Load Balancer、Target Group、Global DNS、Global Traffic Manager ⓕ
DatabaseCloud DB for MySQL、PostgreSQL、MSSQL、MongoDB、Cache(Redis/Valkey)、Cloud DB Serverless(MySQL) 🅿
StorageObject Storage(兼容 S3)、Ncloud Storage(兼容 S3)ⓕ、NAS、Archive Storage(兼容 Swift)ⓕ
ContainersNcloud Kubernetes Service(NKS)、Container Registry
SecurityCertificate Manager(2.0 仅限民间区,且需要主账户密钥)、Private CA ⓕ、KMS(金融区仅支持 6 种加密/解密操作)、Security Monitoring ⓕ、Secret Manager 🅿
MonitoringCloud Insight、Log Analytics
Management & GovernanceActivity Tracer、Cloud Advisor 🅿、Resource Manager、Sub Account、Web service Monitoring System(WMS)、STS(调用方识别)
DevToolsSourceCommit、SourceBuild、SourceDeploy、SourcePipeline
AnalyticsSearch Engine Service、Cloud Hadoop、Cloud Data Streaming Service、Data Stream 🅿、Data Catalog 🅿、Data Forest 🅿、Data Flow 🅿、Data Query 🅿、Datafence 🅿、Cloud Data Box 🅿
MediaVOD Station、Live Station ⓖ、One Click Multi DRM ⓕ
Content Delivery(CDN)Global Edge ⓕ、CDN+(仅限金融区)
ApplicationAPI Gateway、SENS(SMS/Alimtalk/品牌消息/Mail 🅿,项目)、Cloud Outbound Mailer(民间区:旧版服务,截至 '27-12 / 公共区、金融区:正式版)
BillingBilling(费用/价格查询、成本与用量、折扣)

ℹ️ 各类别与 NCLOUD_TOOL_GROUPS 中的组 key 一一对应。若要仅加载部分工具,请参阅下方选择工具组表格。 🅿 = 仅限民间区(公共区、金融区的 API 指南中未列出) · ⓖ = 公共区不提供 · ⓕ = 金融区不提供。各区域的详细差异请参阅选择区域表格。

所有工具均带有 MCP 标准 tool annotations(readOnlyHint/destructiveHint/idempotentHint),支持的客户端可据此自动批准查询工具,并为破坏性工具启用确认交互体验。破坏性工具的 confirm 参数门控保持不变(双重防护)。

前置要求

注意事项

  • 支持民间区(Public)、公共区(Government)和金融区(Financial)。通过 NCLOUD_ZONE 选择区域,且必须使用在对应区域控制台申请的认证密钥。
  • API 规范基于民间区 API 指南、公共区 API 指南和金融区 API 指南编写,并通过对照三个指南纳入了各区域在端点、区域和操作方面的差异。
  • 已主要针对民间区韩国(KR)区域的真实账户进行测试。对公共区和金融区的支持已通过对照各区域的官方 API 指南及单元测试验证,但尚未在真实账户中确认——如果在公共区或金融区遇到问题,请提交 issue。其他区域或区域类型中的部分 API 可能表现不同。

安装

npx(推荐——无需安装)

无需单独安装,即可使用 npx 直接运行:

npx -y ncloud-mcp-server

MCP 客户端的配置方法请参阅下方的 MCP 客户端配置部分。

从源代码构建
# 저장소 클론
git clone https://github.com/sjk4425/ncloud-mcp-server.git
cd ncloud-mcp-server

# 의존성 설치 및 빌드
npm install
npm run build

环境变量

变量必填说明默认值
NCLOUD_ACCESS_KEY✅Ncloud API Access Key-
NCLOUD_SECRET_KEY✅Ncloud API Secret Key-
NCLOUD_ZONE-选择可用区。pub(民间区)、gov(公共区)、fin(金融区)。值无效时将停止启动(详情请参见下文可用区选择)pub
NCLOUD_REGION-区域代码。民间区 KR/JPN/SGN/USWN/DEN,公共区 KR(首都圈)/KRS(南部地区),金融区 FKRKR(金融区为 FKR)
NCLOUD_API_URL-覆盖默认 API 网关(优先于可用区默认值)民间区 https://ncloud.apigw.ntruss.com / 公共区 https://ncloud.apigw.gov-ntruss.com / 金融区 https://fin-ncloud.apigw.fin-ntruss.com
NCLOUD_ARCHIVE_PROJECT_ID-Archive Storage 项目 ID-
NCLOUD_ARCHIVE_DOMAIN_ID-Archive Storage 域 ID-
NCLOUD_SENS_SERVICE_ID-SENS 通道通用默认 serviceId(NRN,例如 ncp:sms:kr:…)。通道专用变量 NCLOUD_SENS_SMS_SERVICE_ID / NCLOUD_SENS_ALIMTALK_SERVICE_ID / NCLOUD_SENS_BRANDMESSAGE_SERVICE_ID(未设置时使用 AlimTalk 值)/ NCLOUD_SENS_MAIL_SERVICE_ID 优先级更高。所有 SENS 工具都可以通过 serviceId 参数覆盖单次调用的值,并可使用 ncloud_sens_list_projects 查询 NRN-
NCLOUD_STORAGE_ADDRESSING-Ncloud Storage(ncloud_ncs_*)存储桶寻址方式。默认采用官方文档中的虚拟主机方式(https://{bucket}.kr.ncloudstorage.com/),设为 path 则恢复为旧方式(https://kr.ncloudstorage.com/{bucket}/)。Ncloud Storage 仅在 KR 区域提供,因此与 NCLOUD_REGION 无关virtual-hosted
NCLOUD_TOOL_GROUPS-选择启动时加载的工具组。未设置时全部启用。包含 dynamic 时仅启用核心组,并允许在会话期间扩展(其他值则锁定)(详情请参见下文工具组选择(可选))全部
NCLOUD_RESPONSE_PRUNE-设为 1 时,全局移除响应中的空值(null/""/[]/{})0
NCLOUD_TIMEOUT_MS-API 请求超时(毫秒)。超时后将中止调用并返回提示消息(HTTP 429 始终自动重试,最多 2 次;查询工具遇到 503/504 或网络错误时也会重试)30000
NCLOUD_LANG-客户端错误消息的语言。设为 en 时使用英文;其他值或未设置时使用韩文ko
NCLOUD_RESPONSE_MAXBYTES-可选启用的响应大小保护阈值(字节)。设为正数时,查询工具会按条目截断大型响应,使其低于阈值,并附加 truncated/suggestedPageSize 提示。未设置或设为 0 时关闭保护(不更改响应)-

可用区选择(民间区 / 公共区 / 金融区)

一个软件包支持三个可用区。只需更改 NCLOUD_ZONE,服务就会自动适配 API 网关域名、区域目录、各可用区的服务目录,以及部分服务的 API 版本、路径和字段差异。三个可用区的工具名称和参数相同,因此无需更改提示词。

民间区(pub,默认值)公共区(gov)金融区(fin)
获取认证密钥民间区控制台公共区控制台金融区控制台
默认网关ncloud.apigw.ntruss.comncloud.apigw.gov-ntruss.comfin-ncloud.apigw.fin-ntruss.com
区域(NCLOUD_REGION)KR、JPN、SGN、USWN、DENKR(首都圈)、KRS(南部地区)FKR
API 指南https://api.ncloud-docs.com/docs/homehttps://api-gov.ncloud-docs.com/docshttps://api-fin.ncloud-docs.com/docs/api-overview
工具数量(全部工具组)1,3001,007862

工具数量以未设置 NCLOUD_ARCHIVE_PROJECT_ID/NCLOUD_ARCHIVE_DOMAIN_ID 为准。设置后,民间区和公共区将各增加 10 个 Archive Storage 工具。

⚠️ 各可用区的认证密钥互不通用。使用民间区密钥调用公共区或金融区(反之亦然)会导致认证错误。如果将 NCLOUD_ZONE 设为 pub/gov/fin 以外的值,服务会在启动时退出,以避免静默切换到其他可用区。

🔑 账号与密钥注意事项(2.0.0)

  • Certificate Manager 2.0(ncloud_cm2_*,民间区)只能使用主账号 Access Key 调用(经 Ncloud 技术支持确认)。子账号密钥会被 2.0 端点以 HTTP 403 拒绝;此时服务会返回包含调用者信息的提示,并引导使用可通过任意密钥查询和注册外部证书的 1.0 工具(ncloud_list_certificates、ncloud_register_external_certificate)。
  • Secret Manager(ncloud_secret_*,民间区)的主机取决于加密密钥所用的 KMS 密钥类型。使用所有工具的 keyIsolation 参数选择:global(默认,secretmanager.apigw.ntruss.com)/ regional(KMS 区域隔离密钥,ocapi-kr.ncloud.com/secretmanager;日本区域仅支持隔离密钥)。隔离密钥主机由服务在启动时根据区域(NCLOUD_REGION)确定。
  • Cloud DB Serverless(ncloud_serverless_*,民间区)也只能使用主账号 Access Key 调用。API 会以 HTTP 403 sub account is not supported yet 拒绝子账号密钥(2026-10-02 已重新确认,NCP_ADMINISTRATOR 子账号);服务会在该 403 响应中附加使用主账号密钥的提示。使用同一密钥时,Cloud DB for MySQL 等其他 DB 工具仍可正常运行。
  • 可以通过 ncloud_get_caller_identity(STS,三个可用区)确认当前密钥属于主账号还是子账号。

公共区配置示例

{
  "mcpServers": {
    "ncloud-gov": {
      "command": "npx",
      "args": ["-y", "ncloud-mcp-server"],
      "env": {
        "NCLOUD_ZONE": "gov",
        "NCLOUD_ACCESS_KEY": "your-gov-access-key",
        "NCLOUD_SECRET_KEY": "your-gov-secret-key",
        "NCLOUD_REGION": "KR"
      }
    }
  }
}

金融专区只需在 "NCLOUD_ZONE": "fin"、"NCLOUD_REGION": "FKR"(可省略——金融专区默认值)中填入从金融专区控制台获取的密钥即可。如需同时使用多个专区,可像上面那样注册多个名称不同的服务器条目(ncloud、ncloud-gov、ncloud-fin)。

各专区差异(对照官方指南,截至 2026-09-30)

分类内容
仅限民间专区的服务Cloud DB Serverless、Cloud Advisor、Live Station(金融专区提供)、Data Stream/Catalog/Forest/Flow/Query、Datafence、Cloud Data Box、Secret Manager、Certificate Manager 2.0、SENS Mail 通道
仅限民间专区的操作LB 监听器证书(SNI)3 种(金融专区提供)、重新签发 NKS kubeconfig、修改 VOD Station 通道(金融专区提供)、复制 DRM 策略、SES/CDSS 的 KVM(G3)创建及规格查询相关操作、KMS 密钥创建中的 protectionType
仅限公共专区的操作Cloud DB for Cache 用户(ACL)管理 4 种、签发 Certificate Manager 私有证书(issuePrivate)、发送及查询 Cloud Outbound Mailer 5 种(金融专区也提供;民间专区由 SENS Mail 替代)
金融专区不提供的服务Global Traffic Manager、Ncloud Storage、Archive Storage、Cloud DB Serverless、Fabric Cluster、NKS Add-on Manager、Cloud Advisor、Data*、One Click Multi DRM、Global Edge(金融专区的 cdn 组为 CDN+ 5 种)、Private CA、Security Monitoring、KMS API 2.0(密钥管理、ACL、令牌)
仅限金融专区的操作Cloud Insight Metric Export 6 种、取消收集 Cloud Log Analytics 服务器日志(ncloud_delete_server_log_collection)
相同服务,不同 APICloud Functions:民间专区和金融专区使用 API v2.1(/ncf/api/v2;金融专区仅限 VPC,没有 platform 查询参数)/公共专区使用 API v2.0(/api/v2,仅限 Classic,仅支持 cron 和 github 触发器)。Object Storage:公共专区使用 kr/krs.object.gov-ncloudstorage.com(签名区域为 gov-standard/gov2-standard),金融专区使用 kr.object.fin-ncloudstorage.com(fin-standard)。NKS·NCR·SES·CDSS·Log Analytics:区域包含在路径中(民间专区为 sgn/jpn,公共专区为 krs,金融专区为 fkr),由服务器根据启用的区域组装。金融专区 NKS 路径前缀为 /nks/v2(其他专区为 /vnks/v2)。金融专区 Live Station:使用民间专区主机名,路径前缀为 /api/fin-v2。金融专区 KMS:仅支持 v1 网关(kms.apigw.fin-ntruss.com)的加密和解密 6 种操作
主机名不符合规则(*.apigw.gov-ntruss.com)的公共专区服务Container Registry gov-ncr、Private CA privateca、VOD Station vod-station、KMS ocapi.gov-ncloud.com、Ncloud Storage/Object Storage/Archive *.gov-ncloudstorage.com
主机名不符合规则(*.apigw.fin-ntruss.com)的金融专区服务默认网关 fin-ncloud、SES fin-vpcsearchengine、CDSS fin-clouddatastreamingservice、Billing billingapi.apigw-pub、SourceDeploy/SourcePipeline(没有 vpc 前缀)、Live Station(民间专区主机名)、Object Storage kr.object.fin-ncloudstorage.com
未移植的服务民间专区和公共专区的 CDN+、Global CDN(民间专区已终止,公共专区计划于 2026-12-31 终止——请使用 Global Edge)。金融专区没有 Global Edge,因此注册了 CDN+ 5 种

专区不提供的工具不会被注册,因此不会出现在工具列表中。可以使用 ncloud_get_current_region 查看当前服务器关联的专区和可用区域。

MCP 客户端设置

使用 npx(推荐)

添加到 mcp.json(或相应客户端的 MCP 设置文件):

{
  "mcpServers": {
    "ncloud": {
      "command": "npx",
      "args": ["-y", "ncloud-mcp-server"],
      "env": {
        "NCLOUD_ACCESS_KEY": "your-access-key",
        "NCLOUD_SECRET_KEY": "your-secret-key",
        "NCLOUD_REGION": "KR"
      }
    }
  }
}
使用源码构建
{
  "mcpServers": {
    "ncloud": {
      "command": "node",
      "args": ["path/to/ncloud-mcp-server/dist/index.js"],
      "env": {
        "NCLOUD_ACCESS_KEY": "your-access-key",
        "NCLOUD_SECRET_KEY": "your-secret-key",
        "NCLOUD_REGION": "KR"
      }
    }
  }
}

选择工具组(可选)

仅使用默认设置即可启用全部工具(约 1,000 个)。如果想直接使用全部工具,请不要设置此变量——未设置即表示“全部开启”,行为与以往相同。只有在想减轻启动上下文负担(推荐:dynamic),或只启用部分工具时,才需要查看以下内容。

为什么需要? 全部开启时,仅工具定义就会占用大量会话上下文(tools/list ≈ 694KB / 约 177k 个令牌)。使用 NCLOUD_TOOL_GROUPS 只启用所需的组,可以减少 AI 一次看到的工具数量,从而降低令牌成本并提高工具选择准确率。只需在 mcp.json 的 env 中添加一行 NCLOUD_TOOL_GROUPS 设置即可。(common 是 Region/Zone 通用工具,会始终自动包含)

一目了然——该使用哪个值
目标设置值行为
(推荐) 轻量启动,并在需要时自动扩展dynamic从核心集合开始,其余工具会在会话期间自动启用
每天使用特定组dynamic,analytics从启动时起启用核心集合 + analytics,其余组可扩展
一开始就全部开启(未设置)或 all14 个组全部开启(与以往行为相同)
仅启用指定组,禁止运行时扩展compute,network仅启用这些组——锁定运行时扩展
从全部组中排除部分组all,-billing除 billing 外全部启用(以 - 排除的组也会被阻止启用)

核心规则: 只有包含 dynamic 关键字时,才会启用会话期间的组扩展。不包含 dynamic、仅列出组(例如 compute,network)表示“只启用这些组”的锁定状态;all/未设置则已启用全部组,因此扩展没有意义(没有更多组可启用)。可用的全部组 key 列表请参阅下方详细控制中的表格。

권장: dynamic (동적 그룹)

전체를 다 켜는 대신 핵심 그룹만 켠 채 가볍게 시작하고, AI가 다른 서비스를 요청받으면 서버 재시작 없이 세션 중에 해당 그룹을 자동으로 켭니다.

{
  "mcpServers": {
    "ncloud": {
      "command": "npx",
      "args": ["-y", "ncloud-mcp-server"],
      "env": {
        "NCLOUD_ACCESS_KEY": "your-access-key",
        "NCLOUD_SECRET_KEY": "your-secret-key",
        "NCLOUD_REGION": "KR",
        "NCLOUD_TOOL_GROUPS": "dynamic"
      }
    }
  }
}

한 줄 요약: dynamic = "확장 모드 ON + 핵심 세트로 가볍게 시작". 안 쓰는 그룹은 처음에 안 올려 토큰을 아끼고, 필요할 때만 자동으로 켭니다.

  • 시작 ON: common + compute + network + database (약 367개 도구 / 약 65k 토큰 — 전체 대비 63% 절감)
  • AI는 항상 켜져 있는 메타 도구로 나머지 그룹에 도달합니다:
    • ncloud_list_tool_groups — 14개 그룹의 서비스·도구 수·현재 ON/OFF 조회
    • ncloud_enable_tool_group — 그룹을 런타임에 활성화 (멱등)

dynamic vs all — 무엇이 다른가

시작 시 로딩안 쓰는 그룹토큰(시작)
all / (미설정)14개 그룹 전부이미 다 켜져 있음~177k
dynamic핵심 세트만필요할 때 자동으로 켜짐~65k

둘 다 결국 모든 그룹을 쓸 수 있지만, dynamic은 "처음엔 핵심만, 나머지는 쓸 때" 방식이라 시작 컨텍스트가 가볍습니다. 이 절감이 dynamic의 존재 이유입니다.

동작 흐름 (예: Live Station 요청)

1. 서버 시작: 핵심 그룹 + 메타 도구만 ON
2. 사용자: "Live Station 채널 목록 보여줘"
3. AI: 카탈로그에서 media 그룹 확인 → ncloud_enable_tool_group("media")
4. 서버: media 도구 등록 + tools/list_changed 통지 → 클라이언트 도구 목록 갱신
5. AI: 새로 나타난 Live Station 도구 호출 → 작업 계속
  • 켜진 상태는 세션 동안만 유지됩니다(다음 세션은 기본값으로 리셋).
  • dynamic에 그룹 키를 더하면 그 그룹은 "시작 즉시 ON"입니다(나중에 동적으로 붙는 게 아님). 예: dynamic,analytics는 핵심 세트 + analytics를 처음부터 켜고 나머지만 확장 대상으로 둡니다. 매일 쓰는 그룹은 이렇게 적어두면 enable 호출 없이 바로 씁니다.

클라이언트 호환성 — 동적 추가된 도구가 즉시 나타나려면 클라이언트가 tools/list_changed 통지를 지원해야 합니다.

클라이언트tools/list_changed비고
Claude Code✅ 지원 (검증)enable 즉시 같은 세션에서 새 도구 호출 가능
Claude Desktop✅ 지원 (MCP 표준)미검증
Kiro❌ 미반영 (검증)enable 해도 재시작 전까지 새 도구가 안 보임 — 아래 안내 참고
Cursor⚠️ 미검증도구 목록 변경에 수동 새로고침이 필요할 수 있음 — 자가 검증 권장
Codex⚠️ 미검증자가 검증 권장

💡 표에 없거나 "미검증"인 클라이언트는 30초만에 직접 확인할 수 있습니다. NCLOUD_TOOL_GROUPS=dynamic으로 설정 후 AI에게 *"media 그룹 켜고 Live Station 채널 목록 보여줘"*라고 요청 → 새 도구가 그 세션에서 호출되면 지원, AI가 도구를 못 찾으면 미지원이니 그룹을 미리 나열하는 방식으로 쓰면 됩니다.

list_changed 미지원 클라이언트(예: Kiro)에서는 dynamic의 세션 중 자동 확장이 동작하지 않습니다. enable은 되지만 새 도구가 도구 목록에 안 떠 호출할 수 없습니다. 이 경우 자주 쓰는 그룹을 미리 나열하세요 — 예: dynamic,governance,media처럼 시작부터 켜거나, 명시 리스트(compute,network,...)·all로 설정. (enable 응답도 같은 폴백을 안내합니다: NCLOUD_TOOL_GROUPS에 그룹을 추가하고 재시작.) 폴백 시 기존과 동일한 경험으로 회귀하므로 악화는 없습니다.

ℹ️ 권한 경계: MCP 도구가 노출된다고 권한이 부여되는 것은 아닙니다. Ncloud 측 실제 권한은 Access Key의 Sub Account 권한이 최종 경계입니다. 동적 로딩은 confirm 게이트·destructive 경고 등 기존 안전장치를 우회하지 않습니다.

精细控制 — 仅启用特定组 / 锁定

不使用 dynamic,而是用逗号列出组 key,即可仅启用这些组并锁定运行时扩展(适用于严格运营和最小权限环境)。例如:"NCLOUD_TOOL_GROUPS": "compute,network,billing"。也可以使用 - 排除特定组,例如 all,-billing;被排除的组也会拒绝动态启用(运营安全边界)。

服务器启动时,可以通过日志确认已加载的组: ncloud-mcp-server: 4개 그룹 등록 (common, compute, network, billing) 错误的 key 会被忽略,并且只输出警告。

组 key → 包含的服务

组 key包含的服务
computeServer、Block Storage、Snapshot、Public IP、Login Key、Init Script、Placement Group、Fabric Cluster、Auto Scaling、Cloud Functions
networkVPC、Subnet、ACG、Network ACL、NAT Gateway、Route Table、VPC Peering、Network Interface、Load Balancer、Target Group、Global DNS、Global Traffic Manager
databaseCloud DB for MySQL / PostgreSQL / MSSQL / MongoDB / Cache(Redis/Valkey;公共区包含用户(ACL)管理)/ Cloud DB Serverless(MySQL,私有区、仅限主账号密钥)
storageObject Storage、Ncloud Storage、NAS、Archive Storage
containersNcloud Kubernetes Service(NKS)、Container Registry
monitoringCloud Insight、Cloud Log Analytics
governanceActivity Tracer、Cloud Advisor(私有区)、Resource Manager、Sub Account、Web service Monitoring System、STS 调用方标识(ncloud_get_caller_identity)
devtoolsSourceCommit、SourceBuild、SourceDeploy、SourcePipeline
analyticsSearch Engine Service、Cloud Hadoop、Cloud Data Streaming Service、Data Stream/Catalog/Forest/Flow/Query(私有区)、Datafence·Cloud Data Box(私有区)
mediaVOD Station、Live Station(私有区·金融区)、One Click Multi DRM
cdnGlobal Edge(私有区·公共区)·CDN+(仅限金融区 — 私有区已终止服务,公共区预计于 2026-12-31 终止,因此未注册)
securityCertificate Manager(公共区包含私有证书签发,私有区包含 2.0 ncloud_cm2_* — 仅限主账号密钥)、Private CA、KMS、Security Monitoring、Secret Manager(私有区,keyIsolation)
applicationAPI Gateway、SENS(SMS/通知 Talk/品牌消息/Mail(私有区)、项目)、Cloud Outbound Mailer(私有区旧版 / 公共区正式版)
billingBilling(费用/价格查询、成本与用量、折扣)
common (始终 ON)Region / Zone 通用

使用示例

可以在 MCP 客户端中通过自然语言管理 Ncloud 基础设施:

"현재 서버 목록을 보여줘"
"KR-2 존에 Ubuntu 서버를 하나 만들어줘"
"my-vpc의 서브넷 목록을 조회해줘"
"Cloud DB for MySQL 인스턴스 상태를 확인해줘"
"Object Storage에 새 버킷을 만들어줘"
"로드밸런서에 연결된 타겟 그룹을 확인해줘"
"Cloud Insight에서 CPU 사용률 상위 서버를 조회해줘"

支持的区域

私有区(NCLOUD_ZONE=pub,默认值)

区域代码
韩国KR
日本JPN
新加坡SGN

**注意:**美国西部(USWN)、德国(DEN)区域仅支持 Classic 环境,因此在基于 VPC 的本 MCP 服务器中使用受限。

公共区(NCLOUD_ZONE=gov)

区域代码
韩国首都圈(KR-CENTRAL)KR
韩国南部地区(KR-SOUTH)KRS

**注意:**公共区 Ncloud Storage 和 Archive Storage 仅支持 KR 单一区域;Object Storage 支持 KR(gov-standard)和 KRS(gov2-standard)两个区域。ncloud_set_region 仅接受该 Zone 的区域列表。

金融区(NCLOUD_ZONE=fin)

区域代码
韩国(金融)FKR

**注意:**金融区仅支持 FKR 单一区域,未设置 NCLOUD_REGION 时默认使用 FKR。Object Storage 使用 kr.object.fin-ncloudstorage.com(签名区域 fin-standard)。

故障排除

症状原因解决方法
服务器启动时立即退出未设置环境变量确认已设置 NCLOUD_ACCESS_KEY、NCLOUD_SECRET_KEY 环境变量
认证失败(HTTP 401)API 认证密钥错误在门户中确认密钥状态为启用。确认密钥值中不含空格或换行符
拒绝访问(HTTP 403)服务权限不足确认已申请使用该服务。使用 Sub Account 时,需要授予其相应服务的 API 权限
区域无效区域代码错误确认支持的区域(KR、JPN、SGN)。可以使用 ncloud_set_region 工具进行更改
服务暂不可用(HTTP 503)无法连接 API 端点检查网络状态。在防火墙/代理环境中,需要允许访问 ncloud.apigw.ntruss.com 的出站流量
请求超时(HTTP 504)API 响应延迟稍后重试。如果问题持续,请查看 Ncloud 状态页面
超过请求限制(HTTP 429)达到 API Rate Limit拉开请求间隔后重试

项目结构

ncloud-mcp-server/
├── src/
│   ├── index.ts              # MCP 서버 엔트리포인트 (stdio transport)
│   ├── auth/
│   │   └── signature.ts      # HMAC-SHA256 서명 생성
│   ├── client/
│   │   ├── ncloud-client.ts  # Ncloud API HTTP 클라이언트
│   │   ├── s3-compatible-client.ts   # Object Storage (S3 호환)
│   │   └── swift-compatible-client.ts # Archive Storage (Swift 호환)
│   └── tools/                # 서비스별 MCP 도구 (63개 파일)
│       ├── compute-server.ts
│       ├── vpc.ts
│       ├── cloud-insight.ts
│       └── ...
├── package.json
├── tsconfig.json
├── LICENSE
└── README.md

开发

# 빌드
npm run build

# 테스트
npm test

# 타입 체크
npx tsc --noEmit

贡献

欢迎提交 issue 和 PR。贡献时请参考以下步骤:

  1. Fork 后在 feature 分支上进行修改
  2. 使用 npm run build 确认构建成功
  3. 使用 npm test 确认测试通过
  4. 提交 PR

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。