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

MCP Server Granted

MCP Server

基于Granted的AWS多账户访问MCP服务器,提供自动凭证缓存、智能命令安全检测和安全优先的白名单功能。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
JavaScript云端部署Docker

安装说明

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

作者 / 组织

jdellostritto

提供方

jdellostritto

最后核验

2026/5/17 20:21

快速接入

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

详细介绍

MCP服务器已授权

![CI](https://github.com/jdellostritto/mcp-server-granted/actions/workflows/ci.yml)

![Release](https://github.com/jdellostritto/mcp-server-granted/releases)

用于AWS多帐户访问的模型上下文协议(MCP)服务器 授予,具有自动凭证缓存、智能命令安全检测和安全第一白名单。

注: 这是一个独立的实现。 授予 是一种产品 共同命运.

特性

  • 🔐 安全的AWS访问 -使用授予功能自动缓存凭据
  • 🎯 多账户支持 -同时跨多个AWS帐户查询资源
  • 🛡️ 智能安全 -自动检测和阻止破坏性操作
  • ⚙️ 可配置的配置文件 -后缀过滤或显式配置文件选择
  • 📋 命令白名单 -安全第一,持续批准
  • 🔍 动态发现 -自动从以下位置发现配置文件 ~/.aws/config

快速开始

先决条件

  • Node.js 18+
  • AWS-CLI
  • 授予
  • AWS SSO已在中配置 ~/.aws/config (或 %UserProfile%\.aws\config 在Windows上)

安装已授权

macOS(Homebrew):

brew tap common-fate/granted
brew install common-fate/granted/granted

窗户:

  1. 从下载最新的Windows二进制文件 授权发布

- 寻找 granted_x.x.x_windows_x86_64.zipgranted_x.x.x_windows_arm64.zip (取决于您的架构)

  1. 解压缩ZIP文件
  2. 移动 granted.exeC:\Program Files\granted\
  3. 添加 C:\Program Files\granted\ 到你的路径:

- 开放环境变量:Win+X→ 系统→ 高级系统设置→ 环境变量 - 在“系统变量”下,选择“路径”→ Edit - 点击“新建”并添加: C:\Program Files\granted\ - 单击“确定”并重新启动终端

注: Granted目前在Chocolatey上不可用。如果你想看到它包装在那里,可以考虑 打开一个问题 与格兰特团队。

Linux(APT):

# Add the repository and install
sudo apt update
sudo apt install granted

Linux(手动):

# Download, extract, and add to PATH
curl -OL https://github.com/common-fate/granted/releases/download/v0.38.0/granted_0.38.0_linux_x86_64.tar.gz
sudo tar -zxvf granted_0.38.0_linux_x86_64.tar.gz -C /usr/local/bin/

验证安装: granted -v

安装

# Clone and install
cd ~/mcp-server-granted
npm install

# Configuration (choose one):
# Option 1: Interactive setup (recommended for first-time users)
node server.js --setup

# Option 2: Manual configuration
# Create ~/.mcp-granted-config.json with your preferences
# See CONFIGURATION.md for details

# Add to MCP config (~/.copilot/mcp-config.json)
{
  "mcpServers": {
    "mcp-server-granted": {
      "command": "node",
      "args": ["/Users/YOUR_USERNAME/mcp-server-granted/server.js"]
    }
  }
}

Windows MCP配置示例:

{
  "mcpServers": {
    "mcp-server-granted": {
      "command": "node",
      "args": ["C:\\Users\\YOUR_USERNAME\\mcp-server-granted\\server.js"]
    }
  }
}

基本用法

安装后,询问您的AI助手:

"List S3 buckets in dev/readonly"
"Show VPCs across all prod accounts"
"What's my AWS credential status?"

打印服务器版本以验证您运行的是最新版本:

node server.js --version

运作原理

配置文件发现

自动从以下位置加载AWS配置文件 ~/.aws/config.配置要使用的配置文件:

  • 后缀过滤:包括以结尾的配置文件 /readonly, /admin等等。
  • 显式列表:手动选择特定配置文件

安全等级

  • 严格 (默认):确认所有破坏性和修改操作
  • 正常:仅确认破坏性操作
  • 宽松的:最低限度的确认(仅限测试环境)

命令白名单

安全第一的方法,所有AWS命令都必须得到明确批准:

  1. 第一轮 aws ec2 describe-instances → ❌ 已屏蔽
  2. AI呼叫 aws_whitelist_command → ✅ 被正式接受的
  3. 后续运行→ ✅ 立即允许

白名单在会话中持续存在——批准一次,永远使用。

凭据缓存

  • 为AWS SSO身份验证授予的用途
  • 在本地缓存凭据(50分钟有效期)
  • 自动刷新过期的凭据
  • 临时会话令牌(从不使用长期密钥)

配置

AWS配置示例

[profile dev/readonly]
sso_start_url = https://your-org.awsapps.com/start/
sso_region = us-east-1
sso_account_id = 123456789012
sso_role_name = ReadOnlyRole
region = us-west-2

[profile prod/admin]
sso_start_url = https://your-org.awsapps.com/start/
sso_region = us-east-1
sso_account_id = 987654321098
sso_role_name = AdminRole
region = us-east-1

配置选项

选项1:交互式设置(推荐)

node server.js --setup

指导您完成:

  • 配置文件过滤模式选择
  • 安全级别配置
  • 提升权限的安全影响

选项2:手动配置

创建 ~/.mcp-granted-config.json 手动:

{
  "profileFilter": {
    "mode": "suffix",
    "suffixes": ["/readonly", "/ro"],
    "profiles": []
  },
  "safetyLevel": "strict",
  "setupCompleted": true
}

这两个选项都将配置保存到 ~/.mcp-granted-config.json

配置.md 了解详细的配置选项。

可用工具

工具说明
aws_run_command在特定配置文件中运行AWS CLI命令
aws_run_command_confirmed在用户确认破坏性操作后运行AWS CLI命令
aws_run_across_profiles跨多个配置文件运行命令
aws_credential_status检查缓存的凭据状态
aws_refresh_credentials刷新配置文件的凭据
aws_list_profiles列出可用的AWS配置文件
aws_whitelist_command批准命令以供将来使用
aws_list_whitelist查看白名单中的命令
aws_view_config查看当前配置
aws_logout清除缓存的凭据

项目结构

mcp-server-granted/
├── server.js                      # MCP server
├── config-manager.js              # Configuration & safety
├── test/                          # Test suite (115 tests)
├── CONFIGURATION.md               # Detailed configuration guide
├── DESTRUCTIVE_OPERATIONS.md      # Confirmation flow documentation
└── README.md                       # This file

安全特性

破坏性操作检测与确认

自动检测包含以下内容的命令:

  • delete, remove, destroy, terminate

智能确认流程:

  1. 当您请求破坏性操作时,MCP服务器会检测到它
  2. 返回包含操作详细信息的错误消息
  3. 然后,您可以使用 aws_run_command_confirmed 审核后执行
  4. 或者选择取消并避免操作

这可以防止意外的破坏性行为,同时允许故意操作。

破坏行动.md 以获取详细的示例和配置。

提升配置文件警告

具有管理员/超级权限的配置文件已被标记:

dev/admin      ⚠️  ELEVATED
prod/admin     ⚠️  ELEVATED

多层安全

根据环境选择您的安全级别:

  • 生产→ 严格
  • 混合→ 正常
  • 测试/开发→ 宽松的

团队共享

可以安全地进行版本控制:

  • ✅ 没有硬编码凭据
  • ✅ 代码中没有帐户ID
  • ✅ 所有秘密 ~/.aws/config (忽略)
  • ✅ 每个开发人员都有自己的白名单

测试

npm test                # Run all 115 tests
npm run test:coverage   # Run with coverage report

覆盖:总体约18%,业务逻辑覆盖率90-95%

  • 核心功能已全面测试
  • 框架样板除外

测试\_ SUMMARY.md 了解详情。

故障排除

命令未列入白名单:

Use the aws_whitelist_command tool to approve this command

配置文件未显示:

  • node server.js --setup 配置筛选
  • 检查 ~/.mcp-granted-config.json
  • 验证 ~/.aws/config 格式

凭据已过期:

"Refresh credentials for dev/readonly"

未找到MCP服务器:

  • 检查路径 ~/.copilot/mcp-config.json
  • 重新启动Copilot CLI

文档

许可证

麻省理工学院

学分

免责声明

创建此项目是为了解决一个特定问题:简化原作者跨多个帐户的AWS CLI访问和资产检查。它实现了适用于该用例的安全控制,但可能不适合所有环境。

使用风险自负。 此工具:

  • 使用您的凭据执行AWS CLI命令
  • 配置后修改AWS资源
  • 管理敏感凭据缓存
  • 可能不符合贵组织的安全要求

始终首先在非生产环境中审查和测试配置。确保您的安全级别和配置文件过滤符合您的安全策略。

这是一个独立的项目,不隶属于Common Fate或Anthropic,也不受其认可或赞助。

目录标签

目录标签

JavaScript云端部署DockerAWS访问管理本地部署多账户支持凭证缓存命令安全检测安全白名单

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP