mcpField
S
Stackql

Stackql

本地服务
stackql.io云与基础设施1.1k1 天前更新

关于 Stackql

StackQL 是开源的 SQL 查询与资源管理引擎,可用 SQL 语义查询和变更云及 SaaS 服务的状态。它以单个签名二进制文件分发,面向需要统一管理多云基础设施的开发者与 DevOps 团队。

主要功能

  1. 01使用 SQL 查询和配置云及 SaaS 资源
  2. 02单个签名二进制文件,支持 Windows、macOS、Linux
  3. 03提供 Provider 发现、Schema 探索等 MCP 工具
  4. 04支持 exec、shell 和 Postgres 协议的 srv 模式

适用场景

  1. 01通过 SQL 查询多个云平台的资源状态
  2. 02让 AI Agent 在 CI 流程中以只读模式审计基础设施
  3. 03在 MCP 客户端中执行资源生命周期操作

MCP 相关

StackQL 本身是 MCP 服务,通过 stdio 运行 stackql mcp 命令,向 Claude、VS Code、Cursor 等 MCP 客户端暴露查询与配置云资源的工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbstackql-mcp-linux-x64.mcpb0.12.824
mcpbstackql-mcp-linux-arm64.mcpb0.12.824
mcpbstackql-mcp-windows-x64.mcpb0.12.824
mcpbstackql-mcp-darwin-universal.mcpb0.12.824
mcpbstackql-mcp-windows-arm64.mcpb0.12.824
ocidocker.io/stackql/stackql-mcp:0.12.824
npm@stackql/mcp-server0.12.824
pypistackql-mcp-server0.12.824

工具

16

收录的工具列表 · 更新于 3 周前

参数类型必填说明
formatstring否文本内容的渲染格式:markdown(默认)或 json
methodstring否
providerstring否
resourcestring否
row_limitinteger否
servicestring否

详细介绍

logo

platforms license build MCP Toplist MCP Registry MCP Server GitHub Release GitHub Downloads Docker Pulls stars

部署、管理和查询云资源,并使用 SQL 与 API 交互

代理时代的通用接口。配置即数据。基础设施即上下文。

阅读文档 »
提出问题 · 请求功能 · 开发者指南 · 自带提供商

目录
  1. 关于项目
  2. MCP 服务
  3. 安装
  4. 用法
  5. 参与贡献
  6. 许可证
  7. 联系方式
  8. 致谢

关于项目

StackQL 是一个使用 Golang 构建的开源项目,支持你通过 SQL 语义,跨不同的本地和远程接口创建、修改和查询服务与资源的状态。这类接口通常包括但不限于云服务和 SaaS 提供商(Google、AWS、Azure、Okta、GitHub 等)。

stackql-shell stackql-shell

工作原理

StackQL 是一款独立应用,可在客户端模式下使用(通过 exec 或 shell),也可通过 Postgres wire protocol 客户端(psycopg2 等)以服务模式(srv)访问。

StackQL 会解析 SQL 语句,并将其转换为发送给(云)资源提供商的 API 请求。随后执行 API 调用,并将结果返回给用户。

StackQL 提供商接口通常在提供商规范的 OpenAPI 扩展中定义。这些定义随后用于生成 SQL 架构和 API 客户端。提供商定义的源文件存储在 StackQL Registry 中。提供商交互的语义由我们的 any-sdk 库定义。有关实现细节,请参阅本地 AGENTS.md 文件和 any-sdk 的 AGENTS.md。

StackQL 上下文图
以下上下文图从高层描述了 StackQL 架构:
flowchart LR
  subgraph StackQL
    direction BT
    subgraph ProviderDefs
        Registry[Provider Registry Docs]    
    end
    subgraph App
        Proc[$ stackql exec\n$ stackql shell\n$ stackql srv]
        style Proc fill:#000,stroke:#000,color:#fff,text-align:left;

        %% ,font-family:'Courier New', Courier, monospace
    end
  end
  User((User)) <--> StackQL <--> Provider[Cloud Provider API]
  ProviderDefs --> App

更多设计文档请见此处。

MCP 服务

StackQL 是一款 MCP 服务——通过 SQL 为 AI Agent 提供 40 多家云服务和 SaaS 提供商的支持。将任何支持 MCP 的客户端(Claude、VS Code、Cursor 等)连接到 StackQL,即可使用 SQL 查询和配置云资源。

通过 stdio 运行:

stackql mcp --mcp.server.type=stdio

StackQL MCP 已发布到官方 MCP Registry,名称为 io.github.stackql/stackql-mcp,并通过 npm、PyPI、Docker、GitHub Action 和 .mcpb 捆绑包分发。选择一种安装方式,并将对应配置块添加到 MCP 客户端配置中:

npm(npx)
{
  "mcpServers": {
    "stackql": {
      "command": "npx",
      "args": ["-y", "@stackql/mcp-server"]
    }
  }
}
PyPI(uvx)
{
  "mcpServers": {
    "stackql": {
      "command": "uvx",
      "args": ["stackql-mcp-server"]
    }
  }
}
Docker
{
  "mcpServers": {
    "stackql": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "stackql/stackql-mcp"]
    }
  }
}
.mcpb 捆绑包

从最新版本下载适用于你平台的捆绑包,并将其安装到 MCP 客户端中(支持 .mcpb 的客户端可一键安装)。

  • stackql-mcp-linux-x64.mcpb
  • stackql-mcp-linux-arm64.mcpb
  • stackql-mcp-windows-x64.mcpb
  • stackql-mcp-darwin-universal.mcpb
GitHub Actions

将 StackQL MCP 接入 Agent 工作流 CI。默认采用 read_only 模式,这是 CI 中安全的默认设置。

- uses: stackql/setup-stackql-mcp@v1
  with:
    mode: read_only

有关特定客户端的设置、身份验证和服务模式,请参阅 MCP 安装与使用完整文档。

安装

StackQL 可用于 Windows、MacOS、Linux、Docker、GitHub Actions 等平台。请参阅下方适用于你平台的安装说明。

在 MacOS 上安装
  • Homebrew(amd64 和 arm64)
    • brew install stackql 或 brew tap stackql/tap && brew install stackql/tap/stackql
  • MacOS PKG 安装程序(amd64 和 arm64)
在 Windows 上安装
  • MSI 安装程序
  • Chocolatey
  • ZIP 压缩包
    • 下载最新的 StackQL Windows ZIP 压缩包
    • 将压缩包(经过代码签名的 stackql.exe 文件)解压到你选择的目录
    • 将该目录添加到 PATH 环境变量中(可选)
在 Linux 上安装
  • ZIP 压缩包
    • 下载最新的 StackQL Linux ZIP 压缩包
      • 或通过 curl -L https://bit.ly/stackql-zip -O && unzip stackql-zip 下载
    • 将压缩包(stackql 文件)解压到你选择的目录
    • 将该目录添加到 PATH 环境变量中(可选)
从 DockerHub 获取 StackQL

在 DockerHub 上查看所有可用的 StackQL 镜像。可用镜像包括 stackql、stackql-jupyter-demo 等。使用以下命令拉取最新的 StackQL 基础镜像:

docker pull stackql/stackql

想要发现结果,而非基础设施?使用标准镜像,通过一条命令运行只读的跨云安全与 FinOps 审计 — 请参阅 Docker 审计快速入门。

通过 GitHub Actions 使用 StackQL

在 GitHub Actions 工作流中使用 StackQL,自动执行云基础设施预配、IaC 保障或合规性与安全任务。可用的 GitHub Actions 包括:setup-stackql、stackql-exec 等。

用法

StackQL 可通过交互式 REPL shell、exec 命令使用,也可作为服务运行,并使用 Postgres wire protocol。

ℹ️ StackQL 无需数据库,也不会安装数据库。

  • 交互式 Shell

    # run interactive stackql queries
    stackql shell --auth="${AUTH}"
    
  • 执行语句或文件

    stackql exec --auth="${AUTH}" -i myscript.iql --iqldata vars.jsonnet --output json
    
    # or
    
    stackql exec --auth="${AUTH}" "SELECT id, status FROM aws.ec2.instances WHERE region = 'us-east-1'"
    

    ℹ️ exec 命令可通过 --output 标志使用 json、csv、table 和 text 输出选项

    ℹ️ StackQL 支持使用 jsonnet 或 json 传递参数,请参阅使用变量

  • 服务

    # serve client requests over the Postgres wire protocol (psycopg2, etc.) 
    # clients are not authenticated unless mTLS is configured via --pgsrv.tls, so keep the listener on loopback otherwise
    stackql srv --pgsrv.address=127.0.0.1 --auth="${AUTH}"
    

更多示例请参阅我们的 博客。

贡献

欢迎并鼓励大家贡献。如需了解如何参与贡献,请参阅我们的贡献指南。

许可证

本项目依据 MIT License 分发。有关详细信息,请参阅 LICENSE。我们使用的第三方软件许可证包含在 /docs/licenses 目录中。

联系方式

你可以通过 Twitter 联系我们:@stackql;发送邮件至 [email protected];或通过讨论区发起交流。

致谢

以下项目的分支为我们的工作提供了支持:

我们衷心感谢这些项目的贡献。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。