数据查询服务器

Super MCP Server是一个Lambda可部署的MCP服务器,内置SuperDB用于数据查询,适用于本地开发和AWS Lambda环境。

  • by berrydev-ai
  • Go
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 berrydev-ai/super-mcp-server

使用说明

超级MCP服务器

Lambda可部署的MCP服务器,内嵌SuperDB用于数据查询。

特性

  • 嵌入式SuperDB:没有外部依赖,超级二进制嵌入在Go可执行文件中
  • Lambda就绪:在AWS Lambda中运行,并自动进行二进制提取 /tmp
  • 地方发展:也可用作本地MCP服务器,用于与Claude Desktop进行测试
  • 三个核心工具:
    • query_data:对数据文件或URL执行SuperSQL查询
    • list_files:列出目录中的数据文件
    • analyze_data:分析数据结构和类型

设置

  1. 下载超级二进制文件:
chmod +x scripts/setup.sh
./scripts/setup.sh
  1. 为本地测试而构建:
go mod tidy
go build -o super-mcp-server
  1. 为Lambda构建:
GOOS=linux GOARCH=amd64 go build -o bootstrap main.go
zip lambda-deployment.zip bootstrap

本地使用

配置Claude桌面(claude_desktop_config.json):

{
  "mcpServers": {
    "super-data": {
      "command": "/absolute/path/to/super-mcp-server",
      "args": [],
      "env": {}
    }
  }
}

然后重新启动Claude Desktop,您可以提出以下问题:

  • “列出我当前目录中的数据文件”
  • “查询我的sample.json文件并显示前10条记录”
  • “分析此CSV文件的结构”

Lambda部署

  1. 上传 lambda-deployment.zip AWS Lambda
  2. 将运行时设置为“在Amazon Linux 2上提供自己的引导程序”
  3. 将处理程序设置为“bootstrap”
  4. 增加超时时间(对于大型查询,建议使用30+秒)
  5. 增加内存(建议512MB+以获得更好的性能)

项目结构

super-mcp-server/
├── main.go                    # Complete server implementation
├── go.mod                     # Go module dependencies
├── scripts/
│   └── setup.sh              # Downloads Super binary
├── binaries/
│   └── super-linux-amd64     # Embedded Super binary (created by setup.sh)
└── README.md                 # This file

查询示例

连接到Claude Desktop后,您可以问:

基本查询

  • “我当前目录中有哪些数据文件?”
  • “显示data.json中的前5条记录”
  • “统计我的CSV文件中的行数”

高级分析

  • “在我的日志中按活动查找前10名用户”
  • “按月份分组销售数据并显示总计”
  • “分析JSON文件中的数据类型”

URL数据源

  • “查询此API终结点并显示结构:https://api.example.com/data.json"
  • “从该URL下载并分析数据”

超级SQL语言

服务器使用SuperDB的SuperSQL方言,它通过以下方式扩展了SQL:

  • 管道语法: SELECT * FROM data.json | WHERE age > 25 | GROUP BY department
  • JSON原生:不需要特殊的JSON函数
  • 无架构:适用于异构数据
  • 丰富的类型:支持复杂的嵌套数据结构

技术说明

  • 超级二进制文件在编译时嵌入(~15-20MB)
  • 在Lambda中,二进制被提取为 /tmp 第一次调用
  • 支持来自文件、URL、S3路径的数据(如果Lambda有权限)
  • 支持JSON、CSV、Parquet、NDJSON和许多其他格式
  • 容器重用意味着每个容器生命周期只进行一次二进制提取

故障排除

“未找到超级二进制文件”错误

  • 确保你跑了 ./scripts/setup.sh 建造前
  • 检查一下 binaries/super-linux-amd64 存在并且可执行

Claude桌面连接问题

  • 在配置中使用绝对路径
  • 配置更改后重新启动Claude Desktop
  • 检查二进制文件是否可执行: chmod +x super-mcp-server

Lambda超时错误

  • 增加大数据处理的Lambda超时时间
  • 考虑将Lambda层用于非常大的部署
  • 监控CloudWatch日志以获取特定错误消息