Token导航 LogoToken导航TokenDH.com
MCP GCP DevOps logo
运维云端stdio官方级别未说明来源级核验

MCP GCP DevOps

MCP Server

通过自然语言管理Google Cloud Platform基础设施的服务器,支持虚拟机部署、SSH密钥管理和Terraform基础设施即代码。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
基础设施即代码PythonClaude自然语言处理Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

vog01r

提供方

vog01r

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 mcp_server.py

详细介绍

GCP基础设施MCP服务器

🎥 视频演示

Démonstration du serveur MCP GCP

👉 观看完整视频(898KB)

*了解如何使用Claude以自然语言部署GCP基础设施*

备注 :上面的动画GIF将自动启动。对于带声音的完整视频, 下载MP4文件.

______________________________________________________________________

MCP(模型上下文协议)服务器,通过Claude以自然语言管理GCP(谷歌云平台)基础设施。该服务器允许您使用Terraform部署和管理虚拟机、管理SSH密钥和部署基础设施。

⚠️ 重要警告-安全 这个项目是 仅用于介绍人工智能工作 而且不应该 不用于生产 没有重大的安全变化。 🔴 未实现OAuth身份验证 :MCP服务器可公开访问,无需身份验证。任何有权访问服务器URL的人都可以使用它,并可能访问您的GCP资源。 ⚠️ 只能在隔离的开发环境中使用,或使用适当的安全措施(防火墙、身份验证等)。
📋 关于与Claude一起使用的说明 为了使Claude能够轻松地使用MCP服务器进行身份验证,它是 强烈推荐 利用者 使用https的域名 而不是IP或HTTP地址。Claude需要安全连接(https)才能与外部MCP服务器正常工作。

功能

🔑 SSH密钥管理

  • 生成SSH密钥 :自动创建SSH密钥对(私有/公共)
  • 储存钥匙 :SSH密钥的安全存储(内存和磁盘 ~/.ssh_mcp)
  • 列出钥匙 :查看所有可用的SSH密钥
  • 添加现有密钥 :导入您自己的SSH密钥

☁️ 虚拟机GCP(计算引擎)格式

  • 列出实例 :查看GCP项目中的所有虚拟机
  • 创建实例 :部署具有自定义配置的新虚拟机
  • 启动/停止实例 :检查VM的状态
  • 删除实例 :清理资源
  • 获取详细信息 :查看VM的详细信息(IP、磁盘等)

🔐 远程SSH执行

  • 执行命令 :通过SSH在虚拟机上运行命令
  • 上传文件 :通过SFTP将文件传输到虚拟机

🏗️ 基础设施作为Terraform的代码

  • 初始地形 :准备Terraform项目
  • 计划 :在应用更改之前查看更改
  • 应用 :部署基础设施
  • 摧毁 :清理Terraform资源

💬 自然语言

  • 以法语解释请求,以便于使用

安装

先决条件

  • Python 3.8+
  • 配置项目的GCP帐户
  • GCP服务密钥文件(service account key.json)
  • 具有SSL/TLS证书的域名 (建议与Claude一起使用)
  • 使用HTTPS的反向代理(Nginx/Apache) 配置(推荐)

安装步骤

  1. 克隆存储库:
git clone 
cd 
  1. 安装依赖项:
pip3 install -r requirements.txt
  1. 配置者配置凭据GCP:

- 放置您的文件 service-account-key.json 在项目目录中 - 确保帐户服务具有必要的权限: - 计算引擎管理员 - 服务帐户用户

  1. (可选)如果要使用Terraform功能,请安装Terraform:
# Ubuntu/Debian
wget -O- https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform

使用

使用域名配置HTTPS(推荐)

为了让Claude轻松进行身份验证,请使用https和域名配置服务器:

  1. 获取SSL证书 (建议使用Let's Encrypt):
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d votre-domaine.com
  1. 配置Nginx商业反向代理 :
server {
    listen 443 ssl;
    server_name votre-domaine.com;

    ssl_certificate /etc/letsencrypt/live/votre-domaine.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/votre-domaine.com/privkey.pem;

    location / {
        proxy_pass http://localhost:5001;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
  1. 重新启动nginx :
sudo systemctl restart nginx

启动服务器

python3 mcp_server.py

服务器将启动 http://0.0.0.0:5001 (通过反向代理使用HTTPS进行生产)

Claude桌面中的配置

要通过HTTPS与Claude一起使用MCP服务器,请配置服务器的URL:

{
  "mcpServers": {
    "gcp-infrastructure": {
      "url": "https://votre-domaine.com",
      "headers": {
        "Content-Type": "application/json"
      }
    }
  }
}

备注 :将您的域名与https一起使用(例如: https://mcp.votre-domaine.com)以便Claude能够正确验证自己。

仅限本地使用,也可以使用直接命令:

{
  "mcpServers": {
    "gcp-infrastructure": {
      "command": "python3",
      "args": ["/opt/git/mcp_server.py"],
      "env": {
        "GOOGLE_APPLICATION_CREDENTIALS": "/opt/git/service-account-key.json"
      }
    }
  }
}

可用工具

SSH密钥管理

ssh_generate_key

生成新的SSH密钥对。

设置 :

  • key_name (必填):密钥名称
  • description (可选):密钥描述

示例:

{
  "key_name": "ma-cle-vm",
  "description": "Clé pour mes VMs GCP"
}

ssh_list_keys

列出所有可用的SSH密钥。

ssh_add_key

添加现有SSH密钥。

设置 :

  • key_name (必填):密钥名称
  • private_key (必需):PEM格式的私钥
  • public_key (必需):公钥
  • description (可选):描述

虚拟机GCP管理

gcp_list_instances

列出所有VM实例。

设置 :

  • zone (可选):GCP区域(默认值:us-central1-a)

gcp_create_instance

创建新的VM实例。

设置 :

  • instance_name (请求):实例编号
  • machine_type (可选):机器类型(默认:E2介质)
  • disk_size_gb (可选):磁盘大小(GB)(默认值:10)
  • image_family (可选):映像族(默认值:debian-11)
  • ssh_key_name (可选):要使用的SSH密钥的名称

示例:

{
  "instance_name": "mon-serveur-web",
  "machine_type": "e2-medium",
  "disk_size_gb": 20,
  "image_family": "debian-11",
  "ssh_key_name": "ma-cle-vm"
}

gcp_start_instance

启动VM实例。

设置 :

  • instance_name (请求):实例编号
  • zone (可选):GCP区域

gcp_stop_instance

停止VM实例。

设置 :

  • instance_name (请求):实例编号
  • zone (可选):GCP区域

gcp_delete_instance

删除VM实例。

设置 :

  • instance_name (请求):实例编号
  • zone (可选):GCP区域

gcp_get_instance

获取实例的详细信息。

设置 :

  • instance_name (请求):实例编号
  • zone (可选):GCP区域

SSH执行

ssh_execute

在远程计算机上运行ssh命令。

设置 :

  • host (必需):IP地址或主机名
  • username (必需):SSH用户名
  • command (必需):要执行的命令
  • ssh_key_name (必需):要使用的SSH密钥的名称

示例:

{
  "host": "35.123.45.67",
  "username": "debian",
  "command": "sudo apt update && sudo apt install -y nginx",
  "ssh_key_name": "ma-cle-vm"
}

ssh_upload_file

通过SSH上传文件。

设置 :

  • host (必需):IP地址或主机名
  • username (必需):SSH用户名
  • local_path (必需):本地文件路径
  • remote_path (必需):文件的远程路径
  • ssh_key_name (必需):要使用的SSH密钥的名称

地形

terraform_init

在目录中初始化Terraform。

设置 :

  • working_dir (必需):Terraform工作目录

terraform_plan

计划Terraform部署。

设置 :

  • working_dir (必需):Terraform工作目录
  • var_file (可选):变量文件

terraform_apply

应用Terraform部署。

设置 :

  • working_dir (必需):Terraform工作目录
  • var_file (可选):变量文件
  • auto_approve (可选):自动批准(默认值:true)

terraform_destroy

破坏Terraform基础设施。

设置 :

  • working_dir (必需):Terraform工作目录
  • auto_approve (可选):自动批准(默认值:true)

自然语言

gcp_natural_query

用自然语言解释请求。

设置 :

  • query (必填):法语请求

示例:

{
  "query": "Crée une nouvelle VM pour mon serveur web"
}

Claude的使用示例

示例1:使用SSH密钥创建虚拟机

Utilisateur : Je veux créer une VM sur GCP pour héberger un site web

Claude : Je vais vous aider à créer une VM. D'abord, générons une clé SSH :
[utilise ssh_generate_key]

Maintenant, créons la VM avec cette clé :
[utilise gcp_create_instance avec la clé SSH]

Votre VM est en cours de création ! Une fois démarrée, vous pourrez vous y connecter.

示例2:在虚拟机上安装软件

Utilisateur : Installe nginx sur ma VM "mon-serveur-web"

Claude : Je vais d'abord obtenir l'adresse IP de votre VM :
[utilise gcp_get_instance]

Maintenant j'installe nginx via SSH :
[utilise ssh_execute avec la commande d'installation]

Nginx est maintenant installé sur votre VM !

示例3:使用Terraform部署

Utilisateur : Déploie l'infrastructure définie dans /opt/terraform/infrastructure

Claude : Je vais initialiser Terraform :
[utilise terraform_init]

Voyons ce qui va être créé :
[utilise terraform_plan]

Tout semble correct. J'applique maintenant :
[utilise terraform_apply]

Infrastructure déployée avec succès !

建筑

SSH密钥的存储

SSH密钥安全存储:

  • 在记忆中 :用于执行期间的快速访问
  • 在磁盘上 :在 ~/.ssh_mcp/ 具有限制权限(私钥600,公钥644)

配置GCP

  • 项目 :冲浪板-473817-p5
  • 默认区域 :美国中央1-a
  • 凭证 :service-account-key.json

安全

⚠️ 关键警告

此MCP服务器不实现OAuth身份验证或其他安全机制。

安全风险:

  • 🔴 未经身份验证的公共访问 :任何拥有URL的人都可以使用您的服务器
  • 🔴 GCP资源展示 :对虚拟机、SSH密钥和基础架构的潜在访问
  • 🔴 限速通行证 :易受拒绝服务攻击
  • 🔴 审计日志 :无法跟踪谁使用了服务器

生产建议:

  1. 实现OAuth 2.0 或其他认证机制
  2. 必须使用HTTPS (证书SSL有效)
  3. 配置程序 限制IP访问
  4. 添加速率限制 为了防止滥用
  5. 启用审核日志 跟踪所有动作
  6. 使用反向代理 (nginx/traefik)具有身份验证
  7. 限制GCP权限 最低限度的必要

良好做法

  1. SSH密钥 :以限制权限存储(600)
  2. 服务账号 :使用具有最低权限要求的GCP凭据
  3. 私钥 :从未在API响应中公开(仅返回公钥)
  4. HTTPS是必需的 :在生产中始终使用HTTPS,从不使用HTTP
  5. 域名 :为Claude使用具有SSL证书的有效域名

GCP要求的权限

服务帐户必须至少具有:

  • roles/compute.instanceAdmin.v1
  • roles/iam.serviceAccountUser

故障排除

服务器无法启动

  • 确保已安装所有依赖项: pip3 install -r requirements.txt
  • 检查文件是否 service-account-key.json 存在且有效

GCP连接错误

  • 验证帐户服务是否具有正确的权限
  • 检查GCP项目代码是否正确(GCP_PROJECT_ID)

SSH错误

  • 验证SSH密钥是否存在:使用 ssh_list_keys
  • 验证VM在其元数据中是否具有公钥
  • 验证GCP防火墙是否允许SSH端口(22)

Terraform错误

  • 确保已安装Terraform: terraform --version
  • 检查工作目录是否包含有效的Terraform文件

API 参考

端点REST

得到/

服务器信息

GET/健康

服务员健康检查

POST/mcp

端点主体MCP(JSON-RPC 2.0)

关于这个项目

这个GitHub存储库仅用于展示人工智能方面的工作。

该项目演示了模型上下文协议(MCP)服务器与谷歌云平台的集成,使Claude(和其他人工智能助手)能够以自然语言管理云基础设施。

教育目标:

  • MCP协议使用演示
  • 与GCP API集成
  • 通过对话AI进行基础设施管理
  • 社区代码示例

⚠️ 在没有重大安全变化的情况下,不要在生产中使用。

贡献者

欢迎捐款!不要犹豫打开问题或拉取请求。

许可证

MIT许可证

支持

如果您有任何问题,请在GitHub上打开问题。

目录标签

目录标签

基础设施即代码PythonClaude自然语言处理GCP管理本地部署SSH密钥管理Terraform

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

oauth

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

remote-capable

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiooauthremote-capable

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP