翻译页面
本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。
Kotlin / JVM
将 StackQL MCP 服务器嵌入 Kotlin 或 JVM 应用,可作为库或 Gradle 插件使用。客户端是官方的 Kotlin MCP SDK。
信息
嵌入的二进制文件在首次运行时下载并经 sha256 校验,或以 vendoring 方式打包进你的应用。参阅通用契约。
安装
添加 io.stackql:stackql-mcp 库:
dependencies {
implementation("io.stackql:stackql-mcp:0.1.0")
}
需要 JDK 17 和 Kotlin 2.x。客户端来自官方的 Kotlin MCP SDK。
快速入门
import io.stackql.mcp.LaunchArgs
import io.stackql.mcp.Mode
import io.stackql.mcp.StackqlMcp
suspend fun main() {
val server = StackqlMcp.builder()
.mode(Mode.ReadOnly)
.auth(LaunchArgs.authFor("github", "null_auth"))
.start()
server.use {
val tools = server.client.listTools().tools
println("${tools.size} tools available")
}
}
API 为 StackqlMcp.builder(),搭配 .mode()、.auth() 和 .start(),以及 Mode 枚举和 LaunchArgs.authFor()。
模式
构建器默认使用 Mode.ReadOnly。调用 .mode() 并传入 Mode.Safe、Mode.DeleteSafe 或 Mode.FullAccess 即可提升权限。权限提升必须显式进行:除非你明确选择启用,否则服务器不会启用变更或生命周期工具。
Vendoring / 嵌入
该库会下载、校验已签名的二进制文件,并将其缓存到位于 ~/.stackql/mcp-server-bin/ 的共享缓存中,与工作目录无关。Gradle 插件将相同的启动方式接入你的构建,因此 CI 任务无需单独的安装步骤即可运行 StackQL 查询。
演示应用
costgate 根据成本预算对基础设施部署进行门控。它同时以 CLI 和 Gradle 插件两种形式发布。
作为 CLI:
costgate check --intent examples/costgate.yaml --explain
作为 Gradle 插件:
plugins {
id("io.stackql.costgate") version "0.1.0"
}
costgate {
intent.set(layout.projectDirectory.file("costgate.yaml"))
explain.set(true)
}