Token导航 LogoToken导航TokenDH.com
whitelistmcp (Dbbuilder) logo
AI代理stdio官方级别未说明来源级核验

whitelistmcp (Dbbuilder)

MCP Server

一个基于Model Context Protocol (MCP)的服务,用于统一管理AWS、Azure和Google Cloud Platform的安全组/防火墙规则,提供跨云平台的白名单管理能力。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
PythonClaudeAI代理Claude DesktopClaude

安装说明

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

作者 / 组织

dbbuilder

提供方

dbbuilder

最后核验

2026/5/17 20:21

快速接入

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

命令预览

pip install whitelistmcp>=2.0.0

详细介绍

多云白名单MCP服务器

](https://pypi.org/project/whitelistmcp/) ](https://pypi.org/project/whitelistmcp/) ![License: MIT](https://opensource.org/licenses/MIT) ![MCP Protocol](https://modelcontextprotocol.io) ![AWS](https://aws.amazon.com/) ![Azure](https://azure.microsoft.com/) ![GCP](https://cloud.google.com/)

一个模型上下文协议(MCP)服务器,用于跨AWS、Azure和Google云平台管理安全组/防火墙规则。通过特定于云的优化和并行处理提供统一的白名单功能。

🚀 特性

核心功能

  • 多云支持:AWS、Azure和GCP防火墙管理的统一接口
  • MCP协议合规性:完整的JSON-RPC 2.0实现,支持批处理
  • Claude桌面集成:与Claude无缝集成,实现多云管理
  • 无状态设计:无凭据存储-设计安全
  • 并行处理:同时跨多个云执行操作
  • 全面验证:IP地址、端口和参数验证
  • 生产就绪:错误处理、日志记录和超时管理

云特定功能

  • 亚马逊云服务:具有完整规则管理的EC2安全组
  • Azure:具有基于优先级规则的网络安全组
  • 谷歌云平台:出于安全考虑,VPC防火墙规则采用仅添加模式

高级删除选项

  • 仅按IP地址删除(跨所有端口/服务)
  • 仅按服务名称/端口删除(跨所有IP)
  • 按IP+服务名称/端口组合删除
  • 带过滤的批量移除操作

📦 安装

来自PyPI(推荐)

pip install whitelistmcp>=2.0.0

来源

git clone https://github.com/dbbuilder/whitelistmcp.git
cd whitelistmcp
pip install -e .

🔧 快速开始

1.安装服务器

pip install whitelistmcp>=2.0.0

2.配置克劳德桌面

添加到您的Claude Desktop配置文件中:

{
  "mcpServers": {
    "whitelistmcp": {
      "command": "whitelistmcp",
      "env": {
        "CLOUD_PROVIDER": "aws",  // Options: aws, azure, gcp, all
        "AWS_ACCESS_KEY_ID": "your-aws-key",
        "AWS_SECRET_ACCESS_KEY": "your-aws-secret",
        "AWS_DEFAULT_REGION": "us-east-1",
        "AZURE_CLIENT_ID": "your-azure-client-id",
        "AZURE_CLIENT_SECRET": "your-azure-secret",
        "AZURE_TENANT_ID": "your-azure-tenant",
        "AZURE_SUBSCRIPTION_ID": "your-azure-subscription",
        "GCP_PROJECT_ID": "your-gcp-project",
        "GCP_CREDENTIALS_PATH": "/path/to/gcp-credentials.json"
      }
    }
  }
}

3.在Claude中使用

只需让Claude跨任何云管理您的安全组:

  • “将我的IP添加到AWS安全组sg-123456以进行SSH访问”
  • “将192.168.1.0/24添加到Azure NSG web NSG以用于HTTPS”
  • “将我的IP添加到端口8080的GCP防火墙”(仅为安全起见添加)
  • “从所有安全组中删除IP 192.168.1.1”
  • “从安全组sg-123456中删除所有SSH规则”
  • “从Azure NSG中删除192.168.1.1:443”

有关详细的设置说明,请参阅 CLAUDE_DESKTOP_SETUP.md.

🚀 并行多云执行

CLOUD_PROVIDER=all,操作在所有配置的云上同时执行:

# Example: Add IP to all clouds in parallel
{
  "cloud": "all",
  "ip_address": "203.0.113.1",
  "port": 443,
  "description": "Production API access"
}

# Result: Rules created in parallel on:
# - AWS Security Group (us-east-1)
# - Azure NSG (eastus)
# - GCP Firewall (us-central1)

性能优势

  • 快3倍:操作完成速度与最慢的云一样快
  • 原子操作:每个云操作都是独立的
  • 详细结果:每个云的个人成功/失败
  • 自动重试:每个云都可以重试失败的操作

🔐 环境变量

关键环境变量(参见 .env.example 完整列表):

# Cloud Provider Selection
CLOUD_PROVIDER=aws  # Options: aws, azure, gcp, all

# AWS Credentials
AWS_ACCESS_KEY_ID=your_aws_key_here
AWS_SECRET_ACCESS_KEY=your_aws_secret_here
AWS_DEFAULT_REGION=us-east-1
AWS_DEFAULT_SECURITY_GROUP_ID=sg-0f0df629567eb6344

# Azure Credentials
AZURE_CLIENT_ID=your_azure_client_id
AZURE_CLIENT_SECRET=your_azure_client_secret
AZURE_TENANT_ID=your_azure_tenant_id
AZURE_SUBSCRIPTION_ID=your_azure_subscription_id
AZURE_DEFAULT_RESOURCE_GROUP=my-resource-group
AZURE_DEFAULT_NSG_NAME=my-nsg

# GCP Credentials
GCP_PROJECT_ID=your_gcp_project
GCP_CREDENTIALS_PATH=/path/to/credentials.json
GCP_DEFAULT_NETWORK=default
GCP_ADDITIVE_ONLY=true  # Safety feature: only add rules, never remove

# Common Settings
DESCRIPTION_PREFIX=auto
DESCRIPTION_SEPARATOR=-
DESCRIPTION_TIMESTAMP_FORMAT=%Y%m%d-%H%M

🛠️ 可用工具

MCP服务器提供以下工具:

whitelist_add

在一个或多个云的安全组/防火墙中添加IP地址。

{
  "cloud": "all",  // aws, azure, gcp, or all for parallel execution
  "credentials": {
    "aws_credentials": {
      "access_key_id": "AKIA...",
      "secret_access_key": "...",
      "region": "us-east-1"  // AWS-specific region
    },
    "azure_credentials": {
      "client_id": "...",
      "client_secret": "...",
      "tenant_id": "...",
      "subscription_id": "...",
      "region": "eastus"  // Azure-specific region
    },
    "gcp_credentials": {
      "project_id": "my-project",
      "credentials_path": "/path/to/creds.json",
      "region": "us-central1"  // GCP-specific region
    }
  },
  "security_group_id": "sg-123456",  // AWS
  "nsg_name": "my-nsg",              // Azure
  "resource_group": "my-rg",         // Azure
  "firewall_name": "allow-web",      // GCP
  "ip_address": "192.168.1.1",
  "port": 22,
  "protocol": "tcp",
  "description": "SSH access",
  "service_name": "ssh"
}

whitelist_remove

使用灵活的筛选删除规则:

  • 仅按IP:删除该IP的所有规则
  • 仅按服务/端口:删除该服务的所有规则
  • 按IP+服务/端口:删除特定组合
{
  "cloud": "aws",
  "credentials": {...},
  "security_group_id": "sg-123456",
  "ip_address": "192.168.1.1",  // optional
  "port": 22,  // optional
  "service_name": "ssh"  // optional
}

whitelist_list

列出安全组/防火墙中的所有规则。

whitelist_check

检查IP/服务组合是否已列入白名单。

whitelist_sync

跨多个云同步规则(企业功能)。

在Claude Desktop中,这些显示为:

  • whitelistmcp:whitelist_add
  • whitelistmcp:whitelist_remove
  • whitelistmcp:whitelist_list
  • whitelistmcp:whitelist_check
  • whitelistmcp:whitelist_sync

🔐 凭据管理

选项1:环境变量

{
  "mcpServers": {
    "whitelistmcp": {
      "command": "whitelistmcp",
      "env": {
        "AWS_ACCESS_KEY_ID": "your-key",
        "AWS_SECRET_ACCESS_KEY": "your-secret",
        "AWS_DEFAULT_REGION": "us-east-1"
      }
    }
  }
}

选项2:AWS配置文件

{
  "mcpServers": {
    "whitelistmcp": {
      "command": "whitelistmcp",
      "env": {
        "AWS_PROFILE": "production"
      }
    }
  }
}

选项3:按请求

克劳德将在需要时提示提供凭据。

有关高级模式,请参见 MCP_CREDENTIAL_PATTERNS.md.

🛡️ 安全最佳实践

  1. 从不将凭据存储在配置文件中
  2. 使用IAM角色 在AWS基础架构上运行时
  3. 轮换凭据 定期
  4. 最低权限 -仅授予所需的EC2权限:

- ec2:DescribeSecurityGroups - ec2:AuthorizeSecurityGroupIngress - ec2:RevokeSecurityGroupIngress

🧪 测试

测试MCP服务器

# Test initialization
echo '{"jsonrpc":"2.0","method":"initialize","id":1,"params":{}}' | whitelistmcp

# List available tools
echo '{"jsonrpc":"2.0","method":"tools/list","id":2,"params":{}}' | whitelistmcp

运行合规性测试

# Check MCP compliance
python MCP_DIAGNOSTIC_SCRIPT.py whitelistmcp

🔍 故障排除

常见问题

  1. “找不到方法:工具/调用”

- 更新到1.1.10或更高版本 - 重新启动克劳德桌面

  1. “JSON输入意外结束”

- 更新到1.1.6或更高版本 - 检查stdout的调试输出

  1. AWS凭据错误:

- 验证是否设置了环境变量 - 测试: aws sts get-caller-identity

  1. 权限被拒绝:

- 确保IAM用户具有所需的EC2权限 - 检查安全组是否存在于正确的区域中

启用调试日志记录

{
  "mcpServers": {
    "whitelistmcp": {
      "command": "whitelistmcp",
      "args": ["-v"]
    }
  }
}

📚 MCP协议合规性

此服务器实现:

  • ✅ JSON-RPC 2.0协议
  • ✅ 批量请求支持
  • ✅ 标准 tools/call 方法
  • ✅ 请求ID跟踪
  • ✅ 适当的通知处理
  • ✅ 全面的错误代码

有关合规性详细信息,请参阅:

📖 文档

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 运行合规性测试
  4. 提交拉取请求

📄 许可证

MIT许可证-请参阅 许可证 文件。

🏷️ 版本历史记录

  • v1.1.10 -已添加 tools/call 支持和批量请求
  • v1.1.9 -更新了工具命名约定
  • v1.1.8 -修复了JSON模式验证问题
  • v1.1.7 -集中式版本管理
  • v1.1.6 -固定通知处理

更改日志.md 完整的历史。

目录标签

目录标签

PythonClaudeAI代理多云管理本地部署安全组管理防火墙规则MCP协议并行处理

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

none

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP