Aller au contenu principal
Page traduite

Cette page a été traduite de l'anglais avec l'aide de l'IA. En cas de divergence, la version anglaise fait référence.

Kotlin / JVM

Embarquez le serveur MCP StackQL dans une application Kotlin ou JVM, sous forme de bibliothèque ou de plugin Gradle. Le client est le SDK MCP officiel pour Kotlin.

info

Le binaire embarqué est téléchargé et vérifié par sha256 à la première exécution, ou vendored dans votre application. Consultez le contrat commun.


Installation​

Ajoutez la bibliothèque io.stackql:stackql-mcp :

dependencies {
implementation("io.stackql:stackql-mcp:0.1.0")
}

Nécessite le JDK 17 et Kotlin 2.x. Le client provient du SDK MCP officiel pour Kotlin.


Démarrage rapide​

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")
}
}

L'API se compose de StackqlMcp.builder() avec .mode(), .auth() et .start(), de l'énumération Mode et de LaunchArgs.authFor().


Modes​

Le builder utilise Mode.ReadOnly par défaut. Appelez .mode() avec Mode.Safe, Mode.DeleteSafe ou Mode.FullAccess pour élever le niveau d'accès. L'élévation est explicite - le serveur n'active les outils de mutation ou de cycle de vie que si vous les activez explicitement.


Vendoring / intégration​

La bibliothèque télécharge et vérifie le binaire signé, puis le met en cache dans le cache partagé ~/.stackql/mcp-server-bin/, indépendamment du répertoire de travail. Le plugin Gradle intègre le même lancement à votre build, de sorte que les tâches de CI peuvent exécuter des requêtes StackQL sans étape d'installation séparée.


Application de démonstration​

costgate soumet les déploiements d'infrastructure à un contrôle des budgets de coûts. Il est disponible à la fois sous forme de CLI et de plugin Gradle.

En tant que CLI :

costgate check --intent examples/costgate.yaml --explain

En tant que plugin Gradle :

plugins {
id("io.stackql.costgate") version "0.1.0"
}

costgate {
intent.set(layout.projectDirectory.file("costgate.yaml"))
explain.set(true)
}

github.com/stackql/stackql-mcp-kotlin