-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathaction.yml
More file actions
59 lines (55 loc) · 2 KB
/
Copy pathaction.yml
File metadata and controls
59 lines (55 loc) · 2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Setup StackQL MCP Server - GitHub Action
#
# Installs the signed stackql binary (sha256-verified against the release
# .sha256) and emits an mcpServers JSON config consumable by MCP-capable
# actions such as anthropics/claude-code-action. Defaults to read_only server
# mode - the safe default for agentic CI.
name: 'Setup StackQL MCP Server'
description: 'Install the signed StackQL binary and emit MCP server config for agentic CI workflows (cloud queries over MCP)'
author: 'StackQL Studios'
branding:
icon: 'database'
color: 'blue'
inputs:
version:
description: stackql release version (X.Y.Z) or 'latest'
required: false
default: 'latest'
mode:
description: 'MCP server mode: read_only, safe, delete_safe, or full_access'
required: false
default: 'read_only'
auth:
description: stackql --auth JSON for provider credentials (optional)
required: false
default: ''
bundle-path:
description: path to a local .mcpb to install from instead of downloading (CI/testing)
required: false
default: ''
outputs:
binary-path:
description: absolute path to the installed stackql binary
value: ${{ steps.install.outputs.binary-path }}
mcp-config:
description: mcpServers JSON string (for inputs GitHub interpolates directly, no shell)
value: ${{ steps.install.outputs.mcp-config }}
mcp-config-file:
description: path to the same mcpServers JSON written to a file (prefer for claude_args --mcp-config and any claude CLI use)
value: ${{ steps.install.outputs.mcp-config-file }}
runs:
using: composite
steps:
- id: install
shell: bash
env:
STACKQL_SETUP_VERSION: ${{ inputs.version }}
STACKQL_SETUP_MODE: ${{ inputs.mode }}
STACKQL_SETUP_AUTH: ${{ inputs.auth }}
STACKQL_SETUP_BUNDLE: ${{ inputs.bundle-path }}
run: |
if command -v python3 >/dev/null 2>&1; then
python3 "${{ github.action_path }}/install.py"
else
python "${{ github.action_path }}/install.py"
fi