Esta página se tradujo del inglés con ayuda de IA. Si hay diferencias entre ambas, la versión en inglés es la referencia.
Gleam
Integre el servidor MCP de StackQL en una aplicación Gleam en el destino Erlang/BEAM. La biblioteca se integra con la supervisión de OTP, descarga y verifica el binario firmado y lo inicia sobre stdio.
El binario integrado se descarga y se verifica con sha256 en la primera ejecución, o se incorpora a su aplicación mediante vendoring. Consulte el contrato común.
Instalación
gleam add stackql_mcp
Está dirigida solo a Erlang/BEAM (no al destino JavaScript). El servidor se expone como un hijo de OTP mediante child_spec(), de modo que puede formar parte de su propio árbol de supervisión.
Inicio rápido
import gleam/io
import gleam/int
import gleam/list
import envoy
import stackql_mcp
pub fn main() {
let config =
stackql_mcp.Config(
..stackql_mcp.default_config(),
auth: [stackql_mcp.auth_for("github", "null_auth")],
)
let assert Ok(server) =
stackql_mcp.start(
config: config,
home: "/home/u",
os: "linux",
arch: "x86_64",
getenv: envoy.get,
)
let assert Ok(tools) = stackql_mcp.list_tools(server)
io.println(int.to_string(list.length(tools)) <> " tools available")
stackql_mcp.stop(server)
}
La API es stackql_mcp.start(), stop() y child_spec() para el ciclo de vida; list_tools() y call_tool() para las operaciones (con las variantes supervised_list_tools() y supervised_call_tool() para usarlas bajo un supervisor); y Config, default_config() y auth_for() para la configuración.
Modos
El modo se establece en Config.mode y su valor predeterminado es read_only. Establézcalo en safe, delete_safe o full_access para elevar el modo:
stackql_mcp.Config(..stackql_mcp.default_config(), mode: stackql_mcp.safe)
La elevación de modo es explícita - el servidor no habilita las herramientas de mutación ni las de ciclo de vida a menos que usted las active explícitamente.
Vendoring / integración
Al iniciarse, la biblioteca descarga el bundle de StackQL de la plataforma, lo verifica con los hashes sha256 fijados que lleva incorporados y lo almacena en la caché compartida de la familia. Precedencia de resolución:
Config.binaryexplícito.- Variable de entorno
STACKQL_MCP_BIN. - Caché compartida en
~/.stackql/mcp-server-bin/<version>/<platform-key>/.
Para despliegues sin conexión o en entornos aislados, establezca STACKQL_MCP_BUNDLE para que apunte a un bundle local.
Aplicación de demostración
pipewatch es la demostración prevista para esta biblioteca. Figura en la hoja de ruta y aún no está implementada.