cloud-tools
개요
제작자가 쓴 설명(영어 원문)
Multi-cloud cost, inventory and waste analysis over MCP: AWS, GCP, Cloudflare and OVH.
할 수 있는 일
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
- 연결 방식: 내 컴퓨터에서 실행
- 전송 방식: stdio
- 카테고리: 개발자 도구
설치
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 2/2 통과 · 내 컴퓨터에서 실행돼요
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있지만 먼저 준비가 필요해요
cloud-tools 키가 필요해요 (제작자 사이트에서 가입, 비용이 들 수 있음) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
컴퓨터용 Claude 앱 설정 파일 열기
SettingsDeveloperEdit Config
이 설정을 붙여 넣고 저장
{ "mcpServers": { "cloud-tools": { "command": "npx", "args": [ "-y", "@munhq/cloud-tools" ], "env": { "CLOUD_TOOLS_MODE": "your-value" } } } }키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
Claude를 끄고 다시 열기
해 보기
cloud-tools을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 cloud-tools을 쓰고 있다고 하거나 답에 cloud-tools 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT는 아직 cloud-tools에 연결할 수 없어요
cloud-tools는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요
대신 이렇게 할 수 있어요
A · cloud-tools에 연결되는 앱 쓰기
- cloud-tools 키가 필요해요 (제작자 사이트에서 가입, 비용이 들 수 있음) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
- cloud-tools 키가 필요해요 (제작자 사이트에서 가입, 비용이 들 수 있음) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
- cloud-tools 키가 필요해요 (제작자 사이트에서 가입, 비용이 들 수 있음) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
- cloud-tools 키가 필요해요 (제작자 사이트에서 가입, 비용이 들 수 있음) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
B · 개발자 도구에서 ChatGPT에 연결되는 다른 서버
같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요
- Sentry✓ ChatGPT
- Front-End Checklist✓ ChatGPT
- Compiler Explorer✓ ChatGPT
Claude Code에 연결할 수 있지만 먼저 준비가 필요해요
cloud-tools 키가 필요해요 (제작자 사이트에서 가입, 비용이 들 수 있음) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
cloud-tools에 가입하고 키 만들기
제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 비용이 들 수 있어요.
키 받는 방법은 아래 제작자 README에 있어요
터미널 열기
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
이 명령을 붙여 넣고 Enter
claude mcp add cloud-tools --env CLOUD_TOOLS_MODE=your-value -- npx -y @munhq/cloud-toolsEnter 전에 “your-value”를 내 키로 바꾸세요
키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
Claude Code에서 /mcp 입력
cloud-tools이 목록에 있고 연결됨으로 보이면 돼요
해 보기
cloud-tools을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 cloud-tools을 쓰고 있다고 하거나 답에 cloud-tools 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있지만 먼저 준비가 필요해요
cloud-tools 키가 필요해요 (제작자 사이트에서 가입, 비용이 들 수 있음) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
cloud-tools에 가입하고 키 만들기
제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 비용이 들 수 있어요.
키 받는 방법은 아래 제작자 README에 있어요
키 입력
cloud-tools 설정에서 CLOUD_TOOLS_MODE가 비어 있어요. 내 키를 넣고 저장하세요
키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
Cursor에서 AI 채팅을 Agent 모드로 열기
해 보기
cloud-tools을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 cloud-tools을 쓰고 있다고 하거나 답에 cloud-tools 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있지만 먼저 준비가 필요해요
cloud-tools 키가 필요해요 (제작자 사이트에서 가입, 비용이 들 수 있음) · 먼저 컴퓨터에 Node.js를 설치하세요 (한 번만)
cloud-tools에 가입하고 키 만들기
제작자 사이트에서 가입하고 다음 단계에 쓸 API 키를 만드세요. 비용이 들 수 있어요.
키 받는 방법은 아래 제작자 README에 있어요
키 입력
cloud-tools 설정에서 CLOUD_TOOLS_MODE가 비어 있어요. 내 키를 넣고 저장하세요
키는 앱 입력란에만 붙여 넣고, 채팅에 붙이거나 다른 사람에게 보내지 마세요
VS Code에서 AI 채팅을 Agent 모드로 열기
해 보기
cloud-tools을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 cloud-tools을 쓰고 있다고 하거나 답에 cloud-tools 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
개발자용: 터미널 명령과 JSON 설정
컴퓨터에 설치
Claude Code
claude mcp add cloud-tools --env CLOUD_TOOLS_MODE=your-value -- npx -y @munhq/cloud-toolsClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"cloud-tools": {
"command": "npx",
"args": [
"-y",
"@munhq/cloud-tools"
],
"env": {
"CLOUD_TOOLS_MODE": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"cloud-tools": {
"command": "npx",
"args": [
"-y",
"@munhq/cloud-tools"
],
"env": {
"CLOUD_TOOLS_MODE": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"cloud-tools": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@munhq/cloud-tools"
],
"env": {
"CLOUD_TOOLS_MODE": "your-value"
}
}
}
}직접 입력할 값
CLOUD_TOOLS_MODEenvmcp for an MCP client over stdio, http for the REST API. Defaults to mcp, which is what every MCP client wants.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
한눈에 보기
어떤 앱에서 쓸 수 있나요
이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
내 컴퓨터에서 실행하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
할 수 있는 일
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
기본 점검i
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 11일 점검
- ✓ 통과
제작자와 저장소 일치
레지스트리 이름이 GitHub 계정 munhq 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
- ✓ 통과
계속 관리되고 있음
코드 마지막 변경: 그저께
- … 아직 점검 안 함
라이선스 있음
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
- – 해당 없음
엔드포인트 응답
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
- – 해당 없음
OAuth로 로그인
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
- … 아직 점검 안 함
도구 설명에 숨겨진 지시 없음
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
토론
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
사용자 리뷰
아직 리뷰가 없어요
개발자 도구 카테고리의 다른 서버와 비교i
- 이 카테고리의 다른 서버 5751개 중 0%보다 스타가 많아요
- 이 카테고리의 다른 서버 5751개 중 33%보다 최근에 레지스트리에 공개됐어요
- 기본 점검 결과가 이 카테고리의 다른 서버 5751개 중 100%와 같거나 더 좋아요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
자주 묻는 질문
cloud-tools, 안전한가요?
해당하는 기본 점검 2개 중 2개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
어떤 키나 코드가 필요한가요?
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행되나요, 클라우드에서 실행되나요?
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
아직 관리되고 있나요?
GitHub 저장소는 마지막으로 그저께 변경됐고, 최신 버전(0.2.0)은 2개월 전 레지스트리에 올라왔어요.
어떤 앱에서 쓸 수 있나요?
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
대신 쓸 수 있는 건 뭐가 있나요?
같은 카테고리에는: REA, Netdata, Front-End Checklist
대안
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Netdata
Real-time infrastructure monitoring with metrics, logs, alerts, and ML-based anomaly detection.
Front-End Checklist
Review frontend code and live pages against 386 quality-gated web development rules.
제작자의 README
README 열기
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Multi-cloud cost, inventory and waste analysis in Rust — exposed as an MCP server so an AI agent can query spend and waste directly, and as an HTTP API for everything else.
It reports spend and waste: idle instances, oversized nodes, previous-generation hardware, unattached resources, and commitments you are not using.
Eight tools, one shape
Every tool takes cloud and nothing else it does not need. Credentials never appear in a tool call — the server reads them from its own environment, so the agent never handles a secret and never needs to be told one.
{ "cloud": "aws" }
{ "cloud": "gcp" }
Start with check_access. It takes no arguments, contacts no cloud, and reports which clouds this server can reach and what is missing for the ones it cannot.
| Tool | AWS | GCP | Cloudflare | OVH |
|---|---|---|---|---|
check_access | reports configuration for all four | |||
get_costs | yes | needs a billing table | yes | yes |
compare_costs | yes | needs a billing table | — | — |
get_inventory | — | yes | yes | yes |
get_waste | yes | yes | — | — |
get_commitments | yes | yes | — | — |
get_recommendations | — | yes | — | — |
get_cross_cloud_summary | every cloud the server can reach |
A dash is not a silent empty result. The tool answers, for example, waste analysis is not implemented for ovh; supported: aws, gcp, so an agent cannot read a gap as a clean bill.
Reading a zero correctly
get_waste and get_inventory return a coverage field and an errors list. A zero total means one of two entirely different things:
| coverage | meaning |
|---|---|
complete | Nothing is wasted. |
PARTIAL — N API call(s) failed… | Part of the account could not be read. |
A partial result is not a clean bill of health.
Configuring the server
Credentials are read from the environment of the machine running cloud-tools. Nothing is stored, and every call is read-only.
AWS
Resolved in this order, first match winning:
AWS_ACCESS_KEY_IDandAWS_SECRET_ACCESS_KEY~/.aws/credentials, profile fromAWS_PROFILE, otherwise[default]- An ECS task role
- An EC2 instance role
An SSO-only profile is not read directly. Export it first: aws configure export-credentials --profile --format env.
To scan a *different* account, pass a role to assume. A role ARN is not a secret, so it stays an argument:
{ "cloud": "aws", "target": { "role_arn": "arn:aws:iam::…:role/ReadOnly" } }
CLOUD_TOOLS_AWS_ROLE_ARN and CLOUD_TOOLS_AWS_EXTERNAL_ID set a default for that, if every call should assume the same role.
get_waste reads EC2 instances, volumes, snapshots, AMIs, Elastic IPs, key pairs and reserved instances; RDS; S3; Lambda; DynamoDB; ECS; ElastiCache; load balancers; NAT gateways; CloudWatch log groups with no retention; and Compute Optimizer. Idle and oversized come from CloudWatch CPU series, so they are measured rather than guessed.
GCP
Application Default Credentials — gcloud auth application-default login is enough — or GOOGLE_APPLICATION_CREDENTIALS pointing at a service-account file.
| Variable | Purpose |
|---|---|
CLOUD_TOOLS_GCP_PROJECTS | Comma-separated project IDs to query |
CLOUD_TOOLS_GCP_BILLING_TABLE | BigQuery billing export, project.dataset.table |
Projects can also be chosen per call with target.project_ids, which is how one agent scans several.
billing_table matters. Google publishes no per-service spend API, so real costs come from the BigQuery billing export. Without it, get_costs falls back to the Budgets API and labels the result "source": "budgets" with a note saying these are budget amounts, not spend. compare_costs requires it outright.
Cloudflare
CLOUDFLARE_API_TOKEN a token with read access to account resources
CLOUDFLARE_ACCOUNT_ID
OVH
OVH_APPLICATION_KEY
OVH_APPLICATION_SECRET OVH_CONSUMER_KEY OVH_ENDPOINT ovh-eu (default), ovh-us or ovh-ca
Install
Not released yet. The newest tag is
v0.1.0, which shipped.tar.gz
archives under the old asset names, and
@munhq/cloud-toolsis not on npm. The
three commands below start working the moment
v0.2.0is tagged. Until then,
build from source:
cargo build --release.
As an MCP server
claude mcp add cloud-tools -- npx -y @munhq/cloud-tools
Anything that reads a JSON config — Claude Desktop, Cursor, Windsurf, Zed, Cline:
{ "mcpServers": { "cloud-tools": { "command": "npx", "args": ["-y", "@munhq/cloud-tools"] } } }
The npm package is a small wrapper, because the server is a compiled binary and not JavaScript. On install it resolves the release asset for your platform, verifies it against the published SHA256SUMS, caches it under ~/.cache/cloud-tools/bin/ and executes it.
As a binary
Prebuilt binaries for Linux, macOS and Windows, x86_64 and arm64, are attached to each release. The script below downloads the one for your machine and checks it against SHA256SUMS:
curl -sSL https://raw.githubusercontent.com/munhq/cloud-tools/main/install.sh | bash
Or take a single asset directly:
curl -fsSLO https://github.com/munhq/cloud-tools/releases/latest/download/cloud-tools-x86_64-linux
chmod +x cloud-tools-x86_64-linux
As a container
docker run -i --rm \
-e AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY -e AWS_REGION \ munhq/cloud-tools
Running it
Built as a library (cloud_tools) with an optional binary. Two feature flags, both on by default:
mcp— MCP server over stdio and streamable HTTP, viarmcphttp— HTTP API via axum
cargo build --release
./target/release/cloud-tools # MCP server on stdio
As an MCP server it plugs into any MCP-capable agent. The agent calls the tools above directly and reasons over the results.
To embed it instead, depend on the library and turn the binary features off:
cloud-tools = { git = "https://github.com/munhq/cloud-tools", default-features = false }
Status
Working and used against live AWS, GCP, Cloudflare and OVH accounts. Waste analysis exists for AWS and GCP only — Cloudflare and OVH have none at all, not merely fewer rules, and get_waste says so rather than returning an empty list. AWS has no inventory tool yet, though the listing calls behind one already exist. Contributions adding provider coverage are welcome.
Privacy Policy
cloud-tools collects nothing. There is no telemetry, no analytics and no phone-home of any kind — verified by the fact that the only hosts in the source are cloud provider APIs plus github.com, which the npm wrapper uses to download the binary for your platform.
What is collected. Nothing. No account, no sign-up, no identifier.
What is processed, and where. Credentials you pass are used to sign requests to your own cloud provider and are held in memory for the life of that call. The server runs on your machine, so nothing is sent to munhq or to any third party. The responses go back to the MCP client that asked for them and nowhere else.
Storage and retention. Nothing is written to disk and nothing is retained. The one exception is the npm wrapper, which caches the downloaded binary under ~/.cache/cloud-tools/bin/ so it is not re-fetched on every run. That cache holds a program, never your data or your credentials.
Logging. Diagnostics go to stderr, which your MCP client captures. Credentials are never logged. Error messages quote the provider's own response, which may name a project, an account id or a resource — the same information the tool was asked to report.
Third-party sharing. None. The only network destinations are the cloud APIs of the providers whose credentials you supply: AWS (*.amazonaws.com), Google Cloud (*.googleapis.com), Cloudflare (api.cloudflare.com) and OVH (*.api.ovh.com, api.us.ovhcloud.com).
Permissions. Read-only is sufficient for every tool. All eight declare readOnlyHint: true, and nothing in this server creates, modifies or deletes a cloud resource.
Contact. hello@munhq.com. The canonical version of this policy is at https://munhq.com/privacy/cloud-tools.
Licence
Apache-2.0. See LICENSE.