AWS服务参考工具

该工具提供与AWS编程服务参考的交互功能,包括列出AWS服务、获取API操作、条件键、资源类型和操作属性等,适用于AWS开发和管理。

  • by MitchyBAwesome
  • Python
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 mitchybawesome/sar-mcp

使用说明

AWS服务参考MCP服务器

此MCP服务器提供与AWS Programmatic Service Reference交互的工具,使您能够:

  • 列出所有可用的AWS服务
  • 获取特定AWS服务的API操作
  • 获取特定API操作支持的条件密钥
  • 获取特定API操作支持的资源类型
  • 获取特定API操作的操作属性(例如写入或列表功能)

安装

  1. 确保你安装了Python 3.10或更高版本
  2. 克隆此存储库
  3. 安装所需的依赖项:
# Create and activate a virtual environment (recommended)
python -m venv .venv
source .venv/bin/activate  # On Unix/macOS
.venv\Scripts\activate     # On Windows

# Install dependencies
pip install -r requirements.txt

用法

运行服务器

您可以直接运行服务器:

python aws_service_reference.py

与Claude Desktop一起使用

  1. 打开您的Claude Desktop配置文件:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • 窗户: %APPDATA%\Claude\claude_desktop_config.json
  2. 添加服务器配置:

{
    "mcpServers": {
        "aws-service-reference": {
            "command": "python",
            "args": ["/ABSOLUTE/PATH/TO/aws_service_reference.py"]
        }
    }
}

替换 /ABSOLUTE/PATH/TO/ 保存服务器文件的实际路径。

  1. 重新启动克劳德桌面

可用工具

服务器提供五个工具:

  1. list_aws_services:列出所有可用的AWS服务
  2. get_service_actions:获取特定AWS服务的API操作
  3. get_action_condition_keys:获取特定API操作支持的条件键
  4. get_action_resource_types:获取特定API操作支持的资源类型
  5. get_action_properties:获取特定API操作的操作属性(如写入或列表功能)

Claude中的示例用法

连接后,您可以向Claude提出以下问题:

  • “AWS提供哪些服务?”
  • “显示S3服务的所有API操作”
  • “s3:PutObject操作支持哪些条件键?”
  • “我可以在ec2:RunInstances操作中使用哪些资源类型?”
  • “s3:PutObject的动作属性是什么?”

示例:使用get_action_properties工具

这 get_action_properties 该工具提供有关操作能力的信息,例如它是否具有写入或列表功能。这在创建IAM策略和了解不同API操作的性质时非常有用。

# Example response for get_action_properties with s3:PutObject
Action properties for s3:PutObject:
IsList: False
IsPermissionManagement: False
IsTaggingOnly: False
IsWrite: True

您可以使用此信息:

  • 识别修改资源的写入操作
  • 找到应该仔细控制的权限管理操作
  • 区分只读和写操作
  • 识别仅修改标签的操作

发展

MCP检验员测试

您可以使用MCP检查器测试服务器:

mcp dev aws_service_reference.py

依赖项

该项目使用以下依赖项(在中指定 requirements.txt):

  • mcp[cli]>=0.1.0:带CLI工具的模型上下文协议SDK
  • httpx>=0.26.0:用于发出API请求的现代HTTP客户端

故障排除

如果您遇到问题:

  1. 验证您的Python版本是否为3.10或更高版本
  2. 确保所有依赖项都已正确安装:
    pip install -r requirements.txt
    
  3. 检查克劳德桌面日志:
    • macOS: ~/Library/Logs/Claude/mcp*.log
    • 窗户: %APPDATA%\Claude\logs\mcp*.log
  4. 确保在Claude Desktop配置中使用绝对路径

许可证

该项目根据MIT许可证获得许可。