Sample Model Context Protocol Demos
好的,这是关于如何将模型上下文协议与 AWS 结合使用的一些示例: **总览** 模型上下文协议 (Model Context Protocol, MCP) 是一种标准化方法,用于将上下文信息传递给机器学习模型。这使得模型能够根据手头的任务更好地理解和响应。在 AWS 环境中,MCP 可以与各种服务集成,以增强模型的性能和可解释性。 **使用场景和示例** 以下是一些使用 MCP 与 AWS 结合的常见场景和示例: * **个性化推荐:** * **场景:** 构建一个推荐系统,根据用户的历史行为、人口统计信息和当前上下文(例如,一天中的时间、位置)来推荐产品或内容。 * **如何使用 MCP:** * 将用户历史行为、人口统计信息和上下文信息编码为 MCP 格式。 * 将 MCP 数据传递给您的推荐模型(例如,在 Amazon SageMaker 上部署的模型)。 * 模型使用 MCP 数据来生成个性化推荐。 * **AWS 服务:** Amazon Personalize, Amazon SageMaker, Amazon DynamoDB (存储用户数据), Amazon Location Service (获取位置信息) * **示例代码 (伪代码):** ```python # 假设我们已经从 DynamoDB 获取了用户数据,并从 Location Service 获取了位置信息 user_id = "user123" user_data = get_user_data_from_dynamodb(user_id) location_data = get_location_data_from_location_service(user_id) # 构建 MCP 数据 mcp_data = { "user_id": user_id, "user_history": user_data["purchase_history"], "user_age": user_data["age"], "location": location_data["city"], "time_of_day": "evening" } # 将 MCP 数据传递给 SageMaker 模型 response = sagemaker_endpoint.invoke(mcp_data) # 从响应中获取推荐结果 recommendations = response["recommendations"] ``` * **欺诈检测:** * **场景:** 检测金融交易中的欺诈行为,考虑交易金额、交易地点、用户行为模式等上下文信息。 * **如何使用 MCP:** * 将交易金额、交易地点、用户行为模式等信息编码为 MCP 格式。 * 将 MCP 数据传递给您的欺诈检测模型。 * 模型使用 MCP 数据来评估交易的欺诈风险。 * **AWS 服务:** Amazon Fraud Detector, Amazon SageMaker, Amazon Kinesis (实时数据流), Amazon DynamoDB (存储用户行为数据) * **示例代码 (伪代码):** ```python # 假设我们已经从 Kinesis 获取了实时交易数据 transaction_data = get_transaction_data_from_kinesis() # 构建 MCP 数据 mcp_data = { "transaction_amount": transaction_data["amount"], "transaction_location": transaction_data["location"], "user_behavior": get_user_behavior_from_dynamodb(transaction_data["user_id"]) } # 将 MCP 数据传递给 Fraud Detector 或 SageMaker 模型 fraud_score = fraud_detector.detect_fraud(mcp_data) # 或 sagemaker_endpoint.invoke(mcp_data) # 根据欺诈评分采取行动 if fraud_score > threshold: flag_transaction_as_fraudulent() ``` * **自然语言处理 (NLP):** * **场景:** 提高文本分类、情感分析或机器翻译等 NLP 任务的准确性,通过提供文档的上下文信息(例如,作者、来源、主题)。 * **如何使用 MCP:** * 将文档内容、作者、来源、主题等信息编码为 MCP 格式。 * 将 MCP 数据传递给您的 NLP 模型。 * 模型使用 MCP 数据来更好地理解文本并提高性能。 * **AWS 服务:** Amazon Comprehend, Amazon SageMaker, Amazon S3 (存储文档), Amazon Kendra (企业搜索) * **示例代码 (伪代码):** ```python # 假设我们已经从 S3 获取了文档 document = get_document_from_s3("s3://my-bucket/my-document.txt") # 构建 MCP 数据 mcp_data = { "document_content": document, "document_author": "John Doe", "document_source": "News Article", "document_topic": "Politics" } # 将 MCP 数据传递给 Comprehend 或 SageMaker 模型 sentiment = comprehend.detect_sentiment(mcp_data) # 或 sagemaker_endpoint.invoke(mcp_data) # 分析情感 print(f"Sentiment: {sentiment}") ``` * **图像识别:** * **场景:** 提高图像识别的准确性,通过提供图像的上下文信息(例如,拍摄地点、时间、天气)。 * **如何使用 MCP:** * 将图像数据、拍摄地点、时间、天气等信息编码为 MCP 格式。 * 将 MCP 数据传递给您的图像识别模型。 * 模型使用 MCP 数据来更好地识别图像中的对象。 * **AWS 服务:** Amazon Rekognition, Amazon SageMaker, Amazon S3 (存储图像), Amazon Location Service (获取位置信息) * **示例代码 (伪代码):** ```python # 假设我们已经从 S3 获取了图像 image = get_image_from_s3("s3://my-bucket/my-image.jpg") # 获取图像的元数据 (例如,通过 EXIF 数据) image_metadata = get_image_metadata(image) # 构建 MCP 数据 mcp_data = { "image_data": image, "location": image_metadata["location"], "time": image_metadata["time"], "weather": get_weather_data_from_location_service(image_metadata["location"]) } # 将 MCP 数据传递给 Rekognition 或 SageMaker 模型 objects = rekognition.detect_objects(mcp_data) # 或 sagemaker_endpoint.invoke(mcp_data) # 识别图像中的对象 print(f"Objects detected: {objects}") ``` **关键考虑因素:** * **数据格式:** 定义清晰的 MCP 数据格式,以便模型能够正确解析和使用上下文信息。 可以使用 JSON 或其他结构化数据格式。 * **数据量:** 考虑 MCP 数据的大小和复杂性,以及它对模型性能的影响。 优化数据传输和处理流程。 * **安全性:** 确保 MCP 数据的安全性,特别是当包含敏感信息时。 使用 AWS Identity and Access Management (IAM) 控制访问权限。 * **模型训练:** 在训练模型时,使用包含上下文信息的 MCP 数据,以便模型能够学习如何利用这些信息。 * **模型部署:** 确保模型部署环境能够接收和处理 MCP 数据。 可以使用 Amazon SageMaker Endpoints 或其他部署选项。 * **监控:** 监控模型的性能,并根据需要调整 MCP 数据或模型参数。 使用 Amazon CloudWatch 监控指标。 **总结:** 模型上下文协议 (MCP) 是一种强大的工具,可以提高机器学习模型的性能和可解释性。 通过将 MCP 与 AWS 服务集成,您可以构建更智能、更个性化的应用程序。 以上示例展示了 MCP 在不同场景下的应用,并提供了使用 AWS 服务的指导。 请根据您的具体需求进行调整和扩展。 希望这些示例对您有所帮助! 如果您有任何其他问题,请随时提出。
aws-samples
README
模型上下文协议示例
一系列关于如何在 AWS 中使用模型上下文协议的示例。
模块列表:
模块 | 语言 | 描述 |
---|---|---|
服务器客户端 MCP/SSE 演示 | TypeScript | 这个完整的演示创建了一个使用 converse API 和 MCP 服务器的 Amazon Bedrock MCP 客户端。 该示例部署在通过 MCP/SSE 连接的容器中。 |
服务器客户端 MCP/stdio 演示 | Python | 这是一个使用 converse API 和一个简单的 MCP stdio 服务器的 Amazon Bedrock MCP 客户端演示。 该示例在本地运行,并与 Amazon Bedrock 连接。 |
ECS 上的服务器客户端 MCP/SSE | Spring AI & Kotlin | 提供了一个在 ECS 上运行的 Spring AI MCP 服务器示例;该服务器被使用 Bedrock 的 Spring AI Agent 使用;该 Agent 也运行在 ECS 上,并通过负载均衡器公开暴露。 |
Bedrock Converse 客户端中使用 pgVector RAG 的服务器客户端 MCP/SSE | Spring AI & Java | 一个基于 Bedrock 构建的 Spring AI 狗狗领养代理,使用带有 pgvector 的 PostgreSQL 进行 RAG,以及一个用于管理领养预约的 MCP 服务器。 |
ECS 上的服务器 MCP/SSE | Spring AI & Kotlin | 非常基础的通过 SSE 在 ECS 上运行的 Spring AI MCP 服务器。 |
安全
有关更多信息,请参阅 CONTRIBUTING。
许可证
此库已获得 MIT-0 许可证的许可。 请参阅 LICENSE 文件。
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。