关于 Ncloud MCP Server
Ncloud MCP Server 让 AI 助手管理 Naver Cloud Platform 基础设施,涵盖计算、网络、数据库、存储等服务。一个服务器支持民间、公共和金融区域,并可选择工具组。
主要功能
- 01覆盖 60 多项服务的 1,000 多个 API 工具
- 02支持民间、公共和金融区域
- 03可选择并动态启用工具组
- 04提供 MCP 工具注解和确认门控
- 05读取和管理云基础设施
适用场景
- 01检查或管理计算与网络资源
- 02使用 Ncloud 数据库和存储
- 03按部署区域选择服务
- 04为会话仅加载相关工具组
MCP 相关
通过 MCP 工具向客户端提供 Naver Cloud Platform API,包括基础设施管理和账单功能。工具组可在启动时选择,也可在会话中启用。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y ncloud-mcp-serverNCLOUD_ACCESS_KEY密钥Ncloud API Access KeyNCLOUD_SECRET_KEY密钥Ncloud API Secret KeyNCLOUD_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+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
200收录的工具列表 · 更新于 3 周前
此工具无需参数。
详细介绍
Ncloud MCP Server
这是一个 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 工具。
| 类别 | 服务 |
|---|---|
| Compute | Server、Block Storage、Snapshot、Public IP、Init Script、Login Key、Placement Group、Fabric Cluster ⓕ、Auto Scaling、Cloud Functions |
| Networking | VPC、Subnet、ACG、Network ACL、NAT Gateway、Route Table、VPC Peering、Network Interface、Load Balancer、Target Group、Global DNS、Global Traffic Manager ⓕ |
| Database | Cloud DB for MySQL、PostgreSQL、MSSQL、MongoDB、Cache(Redis/Valkey)、Cloud DB Serverless(MySQL) 🅿 |
| Storage | Object Storage(兼容 S3)、Ncloud Storage(兼容 S3)ⓕ、NAS、Archive Storage(兼容 Swift)ⓕ |
| Containers | Ncloud Kubernetes Service(NKS)、Container Registry |
| Security | Certificate Manager(2.0 仅限民间区,且需要主账户密钥)、Private CA ⓕ、KMS(金融区仅支持 6 种加密/解密操作)、Security Monitoring ⓕ、Secret Manager 🅿 |
| Monitoring | Cloud Insight、Log Analytics |
| Management & Governance | Activity Tracer、Cloud Advisor 🅿、Resource Manager、Sub Account、Web service Monitoring System(WMS)、STS(调用方识别) |
| DevTools | SourceCommit、SourceBuild、SourceDeploy、SourcePipeline |
| Analytics | Search Engine Service、Cloud Hadoop、Cloud Data Streaming Service、Data Stream 🅿、Data Catalog 🅿、Data Forest 🅿、Data Flow 🅿、Data Query 🅿、Datafence 🅿、Cloud Data Box 🅿 |
| Media | VOD Station、Live Station ⓖ、One Click Multi DRM ⓕ |
| Content Delivery(CDN) | Global Edge ⓕ、CDN+(仅限金融区) |
| Application | API Gateway、SENS(SMS/Alimtalk/品牌消息/Mail 🅿,项目)、Cloud Outbound Mailer(民间区:旧版服务,截至 '27-12 / 公共区、金融区:正式版) |
| Billing | Billing(费用/价格查询、成本与用量、折扣) |
ℹ️ 各类别与
NCLOUD_TOOL_GROUPS中的组 key 一一对应。若要仅加载部分工具,请参阅下方选择工具组表格。 🅿 = 仅限民间区(公共区、金融区的 API 指南中未列出) · ⓖ = 公共区不提供 · ⓕ = 金融区不提供。各区域的详细差异请参阅选择区域表格。
所有工具均带有 MCP 标准 tool annotations(readOnlyHint/destructiveHint/idempotentHint),支持的客户端可据此自动批准查询工具,并为破坏性工具启用确认交互体验。破坏性工具的 confirm 参数门控保持不变(双重防护)。
前置要求
- Node.js 20 或更高版本
- Ncloud API 认证密钥(在门户网站申请)
注意事项
- 支持民间区(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(南部地区),金融区 FKR | KR(金融区为 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.com | ncloud.apigw.gov-ntruss.com | fin-ncloud.apigw.fin-ntruss.com |
区域(NCLOUD_REGION) | KR、JPN、SGN、USWN、DEN | KR(首都圈)、KRS(南部地区) | FKR |
| API 指南 | https://api.ncloud-docs.com/docs/home | https://api-gov.ncloud-docs.com/docs | https://api-fin.ncloud-docs.com/docs/api-overview |
| 工具数量(全部工具组) | 1,300 | 1,007 | 862 |
工具数量以未设置
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 403sub 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) |
| 相同服务,不同 API | Cloud 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,其余组可扩展 |
| 一开始就全部开启 | (未设置)或 all | 14 个组全部开启(与以往行为相同) |
| 仅启用指定组,禁止运行时扩展 | 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 | 包含的服务 |
|---|---|
compute | Server、Block Storage、Snapshot、Public IP、Login Key、Init Script、Placement Group、Fabric Cluster、Auto Scaling、Cloud Functions |
network | VPC、Subnet、ACG、Network ACL、NAT Gateway、Route Table、VPC Peering、Network Interface、Load Balancer、Target Group、Global DNS、Global Traffic Manager |
database | Cloud DB for MySQL / PostgreSQL / MSSQL / MongoDB / Cache(Redis/Valkey;公共区包含用户(ACL)管理)/ Cloud DB Serverless(MySQL,私有区、仅限主账号密钥) |
storage | Object Storage、Ncloud Storage、NAS、Archive Storage |
containers | Ncloud Kubernetes Service(NKS)、Container Registry |
monitoring | Cloud Insight、Cloud Log Analytics |
governance | Activity Tracer、Cloud Advisor(私有区)、Resource Manager、Sub Account、Web service Monitoring System、STS 调用方标识(ncloud_get_caller_identity) |
devtools | SourceCommit、SourceBuild、SourceDeploy、SourcePipeline |
analytics | Search Engine Service、Cloud Hadoop、Cloud Data Streaming Service、Data Stream/Catalog/Forest/Flow/Query(私有区)、Datafence·Cloud Data Box(私有区) |
media | VOD Station、Live Station(私有区·金融区)、One Click Multi DRM |
cdn | Global Edge(私有区·公共区)·CDN+(仅限金融区 — 私有区已终止服务,公共区预计于 2026-12-31 终止,因此未注册) |
security | Certificate Manager(公共区包含私有证书签发,私有区包含 2.0 ncloud_cm2_* — 仅限主账号密钥)、Private CA、KMS、Security Monitoring、Secret Manager(私有区,keyIsolation) |
application | API Gateway、SENS(SMS/通知 Talk/品牌消息/Mail(私有区)、项目)、Cloud Outbound Mailer(私有区旧版 / 公共区正式版) |
billing | Billing(费用/价格查询、成本与用量、折扣) |
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。贡献时请参考以下步骤:
- Fork 后在 feature 分支上进行修改
- 使用
npm run build确认构建成功 - 使用
npm test确认测试通过 - 提交 PR
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。