Metadata-Version: 2.4
Name: aws-case-drafter
Version: 0.2.2
Summary: MCP server to draft & submit AWS Support cases from chat — China (aws-cn) region focused, with tailored support for API Gateway, Lambda, and IoT Core
License: Apache-2.0
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.10
Requires-Dist: boto3>=1.35.0
Requires-Dist: mcp>=1.0.0
Description-Content-Type: text/markdown

# AWS Case Drafter

MCP server，让客户在 AI 对话中自然地完成 AWS Support 工单的起草与提交。

不需要离开对话窗口，不需要手动整理信息 —— 一句"帮我开个工单"即可。

> **当前支持范围**：目前聚焦 **AWS 中国区（aws-cn，北京 / 宁夏）**。已针对 **API Gateway、Lambda、IoT Core** 三个服务做了诊断信息收集与工单模板的特别适配；其他服务可用通用模板起草。

## 解决什么

- **跳出对话**：不再需要切回控制台手动填写工单
- **重复劳动**：对话中已经说过的问题，不用重新组织一遍
- **反复补充**：自动收集 TSE 需要的诊断信息，减少来回追问

## MCP 工具

| 工具 | 功能 | 凭证 |
|------|------|------|
| `fetch_lambda_context` | Lambda 函数 ARN + 最近错误日志 | 需要 |
| `fetch_iot_context` | IoT Core 诊断信息（V2日志/加密配置/自定义域名/Command/Topic Rule） | 需要 |
| `fetch_apigw_context` | API Gateway REST API 日志 + VPC Link/Usage Plan | 需要 |
| `draft_support_case` | 根据诊断数据生成结构化工单草稿 | 不需要 |
| `submit_support_case` | 客户确认后通过 Support API 提交工单 | 需要 + Business Plan |

## 快速开始

### 1. 准备 uv 运行环境

多数 AI 客户端已集成 uv。Cherry Studio 在 `设置 → MCP 服务器` 点"安装"即可（用其内置 uv）。

### 2. 新建 stdio 类型的 MCP 服务器

在客户端 MCP 配置中添加：

- **命令**：`uvx`
- **参数**：`aws-case-drafter@latest`
- **包管理源**：国内建议选清华/阿里云镜像加速

### 3. 配置环境变量

支持 AWS SDK 标准环境变量：

- 已配置 AWS CLI 时：`AWS_PROFILE`（profile 中一般已包含 region）
- 未配 CLI 时：`AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY` + `AWS_REGION`

凭证可选 —— 无凭证时退化为仅基于对话历史生成草稿。

![Cherry Studio MCP 配置](demo/assets/cherry-mcp-setting.jpg)

## 设计亮点

- **适配多模型**：工具描述简洁直观，适配 DeepSeek、千问等国产模型
- **自动脱敏**：日志中的敏感信息（IP、密钥、邮箱）在进入工单前自动脱敏
- **日志自动附件**：大量错误日志写入临时文件随工单提交，正文保持简洁

## 技术栈

- Python 3.10+
- MCP SDK (FastMCP)
- boto3
- 打包：hatchling → PyPI → `uvx` 运行

## 兼容客户端

1. Cherry Studio + DeepSeek/千问 (国内首选)
2. ChatBox + 任意模型 API
3. Claude Desktop / Kiro / Cursor

## License

Apache-2.0
