此 MCP(模型上下文协议)服务器允许您通过自然语言与您的 AWS Amplify Gen2 应用的数据进行交互。它使像 Claude 这样的AI助手能够使用对话语言而不是复杂的代码或命令来操作您的 Amplify 数据模型。
此 MCP 服务器使用 Cognito 认证来访问您的 Amplify 数据。您的 Amplify 项目必须配置为使用基于 Cognito 的认证。 服务器仅能访问经过身份验证的用户有权访问的数据模型和记录。
为了实现最佳功能,我们强烈建议:
示例模型授权以供管理员访问:
// 在您的 Amplify 模型定义中
authorization: (allow) => [
allow.authenticated().to(["read"]),
allow.group("ADMINS").to(["create", "read", "update", "delete"]),
];
没有适当的管理员权限,MCP 服务器在处理您的数据时会受到限制。
amplify_outputs.json)克隆仓库:
git clone https://github.com/dbsmith7491/aws-amplify-data-mcp.git
cd aws-amplify-data-mcp
安装依赖项:
npm install
构建项目:
npm run build
要与 Claude Desktop 一起使用:
打开 Claude Desktop 配置文件:
~/Library/Application Support/Claude/claude_desktop_config.json%AppData%\Claude\claude_desktop_config.json如果不存在,请创建该文件。
添加 Amplify MCP 服务器配置:
{
"mcpServers": {
"amplify-data-api": {
"command": "node",
"args": [
"/ABSOLUTE/PATH/TO/aws-amplify-data-mcp/build/index.js",
"--amplify-outputs",
"/ABSOLUTE/PATH/TO/YOUR/amplify_outputs.json"
],
"env": {
"AMPLIFY_USERNAME": "your-admin-username",
"AMPLIFY_PASSWORD": "your-admin-password"
}
}
}
}
替换路径和凭据为您自己的。为了实现全部功能,请使用 ADMINS 组中的用户的凭据。
重启 Claude Desktop
一旦配置完成,您可以在 Claude 中使用日常语言与您的 Amplify 数据进行交互。只需在消息开头包含 @amplify-data-api 标签,即可将问题导向 Amplify 服务器。
以下是一些如何与您的数据交互的例子:
Claude 将解释这些自然语言请求,并将其转换为适当的 GraphQL 查询和变异。
服务器提供以下工具:
列出所有数据模型:
获取模型详情:
运行 GraphQL 查询和变异:
获取关系详情:
列出枚举类型:
手动登录(如有需要):
以下是与 Claude 的典型对话流程:
您:@amplify-data-api 我有哪些可用的数据模型?
Claude:我将检查您的 Amplify 应用中的可用数据模型。
我找到了以下模型:
- 故事
- 角色
- 地点
- 世界 [每个模型的更多细节...]
您:@amplify-data-api 告诉我关于故事模型的信息
Claude:这是故事模型的详细信息:
字段:
- id: ID(必需)
- title: String(必需)
- description: String
- numberOfPages: Int [其他字段...]
您:@amplify-data-api 能不能创建一个名为 "Claude 的冒险" 的故事,讲述一位AI探索魔法世界的故事?
Claude:我将使用 GraphQL 变异为您创建这个故事。这是我要提交的内容:
mutation CreateStory { createStory( input: { title: "Claude 的冒险" description: "讲述一位AI探索魔法世界的故事" status: "草稿" } ) { id title description status createdAt updatedAt } }您:是的,请创建它
Claude:我已经创建了这个故事!这是新的记录:
{ "id": "abc113", "title": "Claude 的冒险", "description": "讲述一位AI探索魔法世界的故事", "status": "草稿", "createdAt": "2023-06-15T10:30:45Z", "updatedAt": "2023-06-15T10:30:45Z" }您:@amplify-data-api 现在让我们给这个故事添加一个角色
Claude:[继续自然地互动...]
amplify_outputs.json 文件是最新的src/ 目录build/npm run build如果您收到的是 ZIP 文件,请按照以下步骤操作:
npm install
npm run build
如果您想将此项目分发给其他人:
src/ 目录及其所有 TypeScript 源文件package.json 和其他配置文件build/ 目录选项:
--amplify-outputs <path> 指向 amplify_outputs.json 文件的路径
--help, -h 显示此帮助信息
环境变量:
AMPLIFY_USERNAME 用于自动登录的 Cognito 用户名
AMPLIFY_PASSWORD 用于自动登录的 Cognito 密码
需要更多帮助?请联系您的开发团队寻求支持。