S3超级MCP服务器
  
模型上下文协议(MCP)服务器,使大型语言模型能够使用强大的 超级 图书馆。
概述
S3 Super MCP Server弥合了自然语言查询和复杂数据分析之间的差距。它允许像Claude Desktop这样的人工智能助手用简单的英语理解业务问题,并自动将其转换为优化的SuperSQL查询,可以分析存储在S3中的大量数据集。
主要特点
- 自然语言处理:自动将业务问题转换为SQL查询
- 多格式支持:无缝查询JSON、CSV、Parquet和其他格式
- 商业智能模板:预构建的收入分析、客户分析、流失预测
- 高性能:利用super的优化查询引擎实现快速结果
- 无服务器就绪:部署到AWS Lambda以实现自动扩展
- 生产等级:全面的错误处理、监控和安全
用例
- 高管仪表板:“按产品类别显示本季度的收入趋势”
- 运营分析:“按服务查找过去24小时内所有API错误”
- 客户智能:“根据价值对用户进行细分,并确定顶级消费者”
- 日志分析:“分析响应时间并确定性能瓶颈”
安装
先决条件
- Python 3.11或更高版本
- 已配置AWS凭据
- 超级 已安装二进制文件
- 访问包含您数据的S3存储桶
安装超级库
macOS:
brew install brimdata/tap/superLinux:
cd /tmp
wget https://github.com/brimdata/super/releases/latest/download/super-linux-amd64.tar.gz
tar -xzf super-linux-amd64.tar.gz
sudo mv super-linux-amd64/super /usr/local/bin/
sudo chmod +x /usr/local/bin/super窗户: 下载自 超级发布 并添加到PATH中。
安装MCP服务器
# Clone the repository
git clone https://github.com/your-org/s3-super-mcp-server.git
cd s3-super-mcp-server
# Install dependencies
pip install -r requirements.txt
# Verify installation
python -c "import src.mcp_server; print('✅ Installation successful')"配置
AWS凭据
使用以下方法之一配置AWS凭据:
# Option 1: AWS CLI
aws configure
# Option 2: Environment Variables
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_DEFAULT_REGION=us-east-1
# Option 3: IAM Roles (recommended for production)
# Use IAM roles with appropriate S3 permissions所需的S3权限
您的AWS凭据需要以下S3权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket",
"s3:ListObjects",
"s3:ListObjectsV2"
],
"Resource": [
"arn:aws:s3:::your-data-bucket",
"arn:aws:s3:::your-data-bucket/*"
]
}
]
}MCP客户端配置
克劳德桌面
添加到您的Claude Desktop配置(claude_desktop_config.json):
{
"mcpServers": {
"s3-super-mcp": {
"command": "python",
"args": ["/path/to/s3-super-mcp-server/src/mcp_server.py"],
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1"
}
}
}
}其他MCP客户端
服务器实现了标准的MCP协议,并与任何兼容的客户端一起工作。在本地运行:
python src/mcp_server.py用法
基本查询
配置MCP客户端后,您可以问自然语言问题:
收入分析:
“显示过去30天内收入排名前10的产品”
客户细分:
“按总支出对客户进行细分,并显示平均订单价值”
日志分析:
“查找昨天API日志中按服务分组的所有错误”
性能监控:
“上周各端点的平均响应时间是多少?”
可用工具
MCP服务器为AI助手提供以下工具:
1. smart_query
自然语言查询的主要界面
- 将业务问题转换为SuperSQL
- 对S3数据执行查询
- 返回格式化结果
2. explore_data
数据发现和模式分析
- 分析数据结构和类型
- 提供字段统计信息
- 建议查询模式
3. business_metrics
预构建的商业智能计算
- 收入分析
- 客户终身价值
- 流失分析
- 转换漏斗
- 队列分析
4. cross_dataset_join
多源数据分析
- 跨S3位置连接数据
- 组合不同的数据格式
- 跨数据集的统一分析
5. data_quality_check
数据验证和分析
- 完整性评估
- 一致性验证
- 质量评分
示例数据结构
服务器在S3中处理结构化数据的效果最好:
电子商务交易 (s3://your-bucket/transactions/*.json):
{
"transaction_id": "txn_12345",
"user_id": "user_789",
"product": "laptop",
"amount": 1299.99,
"timestamp": "2024-01-15T10:30:00Z",
"channel": "web"
}应用程序日志 (s3://your-bucket/logs/*.json):
{
"timestamp": "2024-01-15T10:30:00Z",
"level": "ERROR",
"service": "api-gateway",
"message": "Connection timeout",
"response_time_ms": 5000
}部署
地方发展
# Run the MCP server locally
python src/mcp_server.py
# Run tests
pytest tests/ -v
# Check code quality
black src/ tests/
ruff check src/ tests/AWS Lambda部署
部署到AWS Lambda以供生产使用:
# Build and deploy with SAM
sam build
sam deploy --guided
# Or use the deployment script
./scripts/deploy.sh productionLambda部署提供:
- 根据需求自动缩放
- 内置监控和日志记录
- 经济高效的按查询付费定价
- 跨区域的高可用性
环境变量
使用以下环境变量配置服务器:
| 变量 | 描述 | 默认值 |
|---|---|---|
AWS_REGION | 用于S3访问的AWS区域 | us-east-1 |
LOG_LEVEL | 记录冗长 | INFO |
SUPER_BINARY_PATH | 超级二进制路径 | /usr/local/bin/super |
QUERY_TIMEOUT | 查询超时(秒) | 300 |
MAX_RESULTS | 每次查询的最大结果数 | 10000 |
性能提示
查询优化
- 使用特定的S3路径来减少数据扫描
- 在查询早期应用过滤器以最大限度地减少处理
- 考虑将JSON转换为Parquet以获得更好的性能
数据组织
- 按日期/地区对S3数据进行分区,以实现更快的查询
- 跨数据集使用一致的字段命名
- 以优化的格式存储频繁查询的数据
成本管理
- 监控S3数据传输成本
- 使用S3智能分层进行成本优化
- 设置适当的查询超时以防止成本失控
故障排除
常见问题
未找到超级二进制文件:
# Verify installation
which super
super --version
# If not found, reinstall following installation instructionsAWS权限错误:
# Test S3 access
aws s3 ls s3://your-bucket/
# Verify credentials
aws sts get-caller-identity查询超时:
- 使用更具体的S3路径减小数据集大小
- 使用采样进行探索性查询
- 增加复杂分析的超时时间
内存问题:
- 使用带有LIMIT子句的流式查询
- 以较小的块处理数据
- 考虑升级Lambda内存分配
调试模式
启用详细日志记录以进行故障排除:
export LOG_LEVEL=DEBUG
python src/mcp_server.py贡献
我们欢迎捐款!请参阅我们的投稿指南:
- 分叉存储库
- 创建要素分支
- 添加新功能的测试
- 确保所有测试通过
- 提交拉取请求
开发设置
# Install development dependencies
pip install -r requirements-dev.txt
# Run tests with coverage
pytest tests/ --cov=src --cov-report=html
# Format code
black src/ tests/
isort src/ tests/
# Lint code
ruff check src/ tests/
mypy src/许可证
此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。
支持
- 文档:
- 问题:
- 讨论:
相关项目
______________________________________________________________________
内置于❤️ 对于数据社区来说。使您的AI助手能够从S3数据湖中解锁洞察力。
