返回市场
mcp-aws-yolo

mcp-aws-yolo

作者:0xnairb10 星标更新:2025-08-16

项目介绍

MCP AWS YOLO

一个开源的本地托管AI平台,通过LLM分析和向量存储相似性匹配,智能地将用户提示路由到最合适的MCP(模型上下文协议)服务器。

演示

观看MCP AWS YOLO演示 - 智能路由从用户提示到AWS操作(由于本地LLM在CPU上运行,速度较慢):

MCP AWS YOLO 演示

演示展示:自然语言提示 → 智能服务器选择 → 创建AWS S3桶

演示中看到的内容:

  1. 用户查询:"创建名为brian-yolo-000000的S3桶,使用aws-yolo"
  2. 意图分析:MCP AWS YOLO使用LLM + 向量搜索分析提示
  3. 服务器选择:自动路由到awslabs.aws-api-mcp-server
  4. 参数解析:从aws_config.json解析AWS凭证和区域
  5. 工具执行:执行call_aws工具,使用aws s3 mb命令
  6. 结果:成功创建S3桶,并返回详细响应

预备条件

在设置MCP AWS YOLO之前,请确保已安装以下内容:

必需

  • Python 3.10+ - 核心运行时环境
  • uv 包管理器 - 快速的Python包管理器
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
  • Docker & Docker Compose - 用于基础设施服务(Qdrant向量数据库)
  • Ollama - 本地LLM推理服务器
    # 安装Ollama
    curl -fsSL https://ollama.com/install.sh | sh
    

AWS预备条件(针对AWS MCP服务器)

  • 配置好的AWS CLI,带有凭证
    pip install awscli
    aws configure
    
  • 有效的AWS账户,具有适当的IAM权限
  • 配置好的AWS配置文件(默认或命名配置文件)

可选

  • Git - 用于克隆和版本控制

功能

🎯 智能服务器路由

  • 使用混合搜索自动路由到最佳匹配的MCP服务器
    • 向量存储搜索:使用Qdrant和all-minilm嵌入进行语义相似性匹配
    • LLM验证:GPT-OSS 20B模型分析候选者并选择最优服务器
    • 置信评分:每个匹配项包括相似度得分和LLM置信评分
    • 备用逻辑:当初始查询无结果时,扩展关键词搜索

⚙️ 自动参数解析

  • 使用aws_config.json自动解析运行MCP服务器时的参数
    • 模板处理:自动替换MCP服务器配置中的{{env:param_name}}占位符
    • AWS配置:集中式配置文件(aws_config.json)用于所有与AWS相关的参数
    • 环境管理:支持多个AWS配置文件、区域和安全设置
    • 空参数过滤:自动移除空参数和环境变量

架构

MCP AWS YOLO作为AI客户端和MCP服务器之间的智能路由层,结合语义搜索和LLM驱动的决策制定。

架构图

graph TB
    A[AI客户端<br/>Claude/ChatGPT] --> B[MCP AWS YOLO服务器]
    
    B --> C[LLM分析<br/>Ollama/gpt-oss:20b]
    B --> D[向量存储<br/>Qdrant + all-minilm]
    B --> E[MCP客户端管理器]
    
    C --> F[意图分析]
    D --> G[语义搜索]
    
    F --> H[服务器选择]
    G --> H
    
    H --> E
    E --> I[AWS API MCP服务器]
    E --> J[AWS知识MCP服务器]
    E --> K[Lambda MCP服务器]
    E --> L[DynamoDB MCP服务器]
    E --> M[其他MCP服务器...]
    
    I --> N[AWS服务<br/>S3, EC2等]
    J --> O[AWS文档]
    K --> P[Lambda函数]
    L --> Q[DynamoDB表]
    
    style B fill:#e1f5fe
    style C fill:#f3e5f5
    style D fill:#e8f5e8
    style E fill:#fff3e0

组件流程

  1. 意图分析:用户提示 → LLM分析 → 提取关键词和意图
  2. 向量搜索:跨MCP服务器描述进行语义相似性搜索
  3. 服务器选择:LLM验证候选者并选择最佳匹配
  4. 工具执行:连接选定的MCP服务器并执行工具
  5. 结果处理:格式化并返回结果给AI客户端

快速开始

1. 克隆并设置

git clone <repository-url>
cd mcp-aws-yolo

2. 启动基础设施服务

docker-compose up -d

3. 安装依赖

uv sync

4. 运行初始设置

下载模型并索引MCP服务器:

uv run python setup.py

将AWS-YOLO添加到AI客户端

Claude桌面配置

将此配置添加到您的Claude桌面MCP设置中:

文件位置:

  • macOS~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows:%APPDATA%\Claude\claude_desktop_config.json

配置:

{
  "mcpServers": {
    "aws-yolo": {
      "command": "uv",
      "args": [
        "--directory",
        "{absolute_path_to_aws-yolo}/mcp-aws-yolo",
        "run",
        "python", 
        "-m", 
        "src.mcp_aws_yolo.main"
      ]
    }
  }
}

注意:用实际项目位置替换{absolute_path_to__aws-yolo}路径。

其他MCP客户端

对于其他MCP客户端(如ChatGPT等),使用类似的配置:

  • 命令uv
  • 参数["--directory", "/path/to/mcp-aws-yolo", "run", "python", "-m", "src.mcp_aws_yolo.main"]

使用示例

示例提示

尝试这个示例提示来测试系统:

创建名为brian-yolo-000000的S3桶,使用aws-yolo

更多示例提示

  • S3操作:"列出我账户中的所有S3桶,使用aws-yolo"
  • Lambda管理:"显示us-east-1中的所有Lambda函数,使用aws-yolo"
  • 文档:"S3安全的最佳实践是什么?,使用aws-yolo"
  • EC2实例:"显示正在运行的EC2实例,使用aws-yolo"

配置

环境变量

创建.env文件或设置这些环境变量:

变量描述默认值
MCP_AWS_YOLO_LLM_MODEL要使用的LLM模型ollama/gpt-oss:20b
MCP_AWS_YOLO_LLM_BASE_URLLLM API端点http://localhost:11434
MCP_AWS_YOLO_QDRANT_URLQdrant向量存储URLhttp://localhost:6333
MCP_AWS_YOLO_EMBEDDING_MODELOllama嵌入模型all-minilm
MCP_AWS_YOLO_LOG_LEVEL日志级别INFO

AWS配置

系统使用aws_config.json进行AWS特定设置:

{
  "aws_profile": "default",
  "aws_region": "ap-southeast-1", 
  "read_only_mode": "false",
  "require_consent": "false",
  "enable_telemetry": "false"
}

关键设置:

  • require_consent:设为"false"以避免引发错误
  • read_only_mode:设为"true"以安全探索
  • aws_region:您首选的AWS区域

MCP服务器注册表

系统包括一个全面的53个AWS MCP服务器注册表在mcp_registry.json中:

序号服务器名称类别
1AWS API MCP服务器开发
2AWS知识MCP服务器文档
3Aurora DSQL MCP服务器数据
4MySQL MCP服务器数据
5PostgreSQL MCP服务器数据
6AWS Bedrock数据自动化MCP服务器AI
7CloudWatch应用信号MCP服务器开发
8CloudWatch MCP服务器开发
9AWS数据处理MCP服务器数据
10CDK MCP服务器开发
11Lambda工具MCP服务器开发
12EKS MCP服务器开发
13CloudFormation MCP服务器开发
14Terraform MCP服务器开发
15ECS MCP服务器开发
16Bedrock KB检索MCP服务器AI
17DocumentDB MCP服务器数据
18DynamoDB MCP服务器数据
19ElastiCache/MemoryDB for Valkey MCP服务器数据
20ElastiCache for Memcached MCP服务器数据
21代码文档生成MCP服务器开发
22核心MCP服务器开发
23成本探索器MCP服务器开发
24Finch MCP服务器开发
25前端MCP服务器开发
26Git仓库研究MCP服务器开发
27ElastiCache MCP服务器数据
28IAM MCP服务器开发
29MCP Lambda处理器模块开发
30Nova Canvas MCP服务器AI
31OpenAPI MCP服务器开发
32Prometheus MCP服务器开发
33Redshift MCP服务器数据
34S3表MCP服务器数据
35步骤函数工具MCP服务器开发
36合成数据MCP服务器数据
37Timestream for InfluxDB MCP服务器数据
38Kendra索引MCP服务器AI
39Keyspaces MCP服务器数据
40MQ MCP服务器开发
41Neptune MCP服务器数据
42Q业务匿名MCP服务器AI
43Rekognition MCP服务器AI
44SNS/SQS MCP服务器开发
45图形MCP服务器开发
46HealthOmics MCP服务器数据
47位置服务MCP服务器开发
48无服务器MCP服务器开发
49支持MCP服务器开发
50Q索引MCP服务器AI
51文档MCP服务器文档
52MSK MCP服务器数据
53定价MCP服务器开发

类别总结:

  • AI & 机器学习:7个服务器
  • 数据 & 数据库:17个服务器
  • 开发 & 基础设施:27个服务器
  • 文档:2个服务器

开发

本地开发设置

  1. 安装依赖:
uv sync
  1. 启动基础设施:
docker-compose up -d
  1. 运行设置:
uv run python setup.py
  1. 启动开发服务器:
uv run python -m src.mcp_aws_yolo.main

添加新的MCP服务器

  1. 编辑mcp_registry.json以添加服务器配置
  2. 运行设置重新索引:uv run python setup.py
  3. 使用get_intention测试以验证发现

测试(正在进行中)

# 安装测试依赖  
uv add --dev pytest pytest-asyncio

# 运行测试
pytest tests/

Docker服务

compose.yml包括基础设施服务:

  • qdrant:向量数据库(端口6333)

MCP服务器通过uv独立运行,以提供灵活性和开发便利。

故障排除

常见问题

  1. “不支持引发”错误

    • aws_config.json中设置require_consent: "false"
  2. 向量维度不匹配

    • 运行uv run python setup.py以重新创建集合
  3. AWS权限错误

    • 检查AWS CLI配置:aws sts get-caller-identity
    • 验证IAM权限以执行预期的操作
  4. 找不到模型错误

    • 确保Ollama正在运行:ollama list
    • 下载所需模型:ollama pull gpt-oss:20b

健康检查

测试系统健康:

# 检查服务是否运行
curl http://localhost:6333/healthz  # Qdrant
curl http://localhost:11434/api/tags  # Ollama

贡献

  1. 分叉仓库
  2. 创建功能分支
  3. 进行更改
  4. 如适用,添加测试
  5. 提交拉取请求

许可

MIT许可 - 查看LICENSE文件了解详情

支持

相关项目