
Seristack
io.github.TechXploreLabs由 GitHub 帳號 TechXploreLabs 發布v0.4.6更新於 Oct 24, 2026
Run YAML-defined shell command stacks as MCP tools
概覽
Seristack 把 YAML 定義的 shell 指令堆疊暴露為 MCP 工具,讓助理探索並執行你的維運工作流程。
- 可以做什麼
- 探索並呼叫以 MCP 工具形式暴露的已設定指令堆疊
- 執行以 shell 為基礎的指令堆疊,支援變數、相依關係以及循序或平行執行
- 傳入已宣告的變數,並依允許值、正規表達式等規則驗證
- 在彼此相依的堆疊之間共用結果並彙整輸出
- 適用情境
- 適合團隊已把維運手冊、部署腳本或健康檢查寫成 shell 指令,並希望讓 AI 代理或 IDE 透過受控的 YAML 介面觸發它們,而不是直接開放 shell 存取的情況。
- 執行需求
- 需在本機安裝 Seristack 執行檔(macOS、Linux 或 Windows 可用 Homebrew、安裝腳本或發行檔),並準備定義各堆疊的 YAML 設定檔。MCP 伺服器以 seristack mcp 指令啟動;未宣告帳號、API 金鑰或環境變數。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Seristack,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Seristack
[Go Reference] [Go Version] [License] [Release]
One YAML configuration. CLI commands, HTTP endpoints, and MCP tools.
Seristack is a lightweight automation engine for DevOps, Platform, SRE, and Cloud teams.
Define shell-based workflows in YAML, manage dependencies and variables, execute them locally or through HTTP, and expose selected stacks as MCP tools for AI agents and IDE integrations.
Why Seristack?
Operational workflows often live as shell scripts, runbooks, CI jobs, and undocumented procedures.
Seristack provides a single configuration layer for turning those workflows into reusable execution stacks that can be:
- Run from the CLI
- Exposed as HTTP endpoints
- Exposed as MCP tools
- Protected with per-stack authorization
- Audited with structured JSON logs
- Composed using dependencies and shared results
Documentation
Features
- 🚀 Run multiple command stacks from a single YAML configuration
- 🔁 Execute stacks sequentially or concurrently
- 🔢 Repeat stack execution with configurable counts
- 🔗 Define dependencies between stacks
- 🧩 Variable substitution with validation rules
- 📦 Share output and results between dependent stacks
- 🌐 Expose stacks as HTTP endpoints
- 🔐 Per-stack authorization using identity headers
- 📋 Structured JSON audit logging
- 🧠 Run as an MCP server for AI agents and IDE integrations
- 🛠 Support for mvdan shell, Bash, sh, and PowerShell
- ⏱ Per-stack execution timeouts
- 📁 Configurable working directories
- 🛡 Allow and deny rules for stack variables
Installation
Homebrew — macOS and Linux
Linux — installer
Linux — release archive
- Go to Seristack Releases.
- Download the latest:
For example:
- Extract the archive:
- Install the binary:
- Verify:
Windows — installer
Run PowerShell as a user with permission to install the binary:
Windows — release archive
- Go to Seristack Releases.
- Download the Windows release archive:
For example:
-
Extract the archive with a tool that supports
.tar.gz. -
Place
seristack.exein a directory included in your%PATH%. -
Verify:
Configuration
Seristack uses YAML to define execution stacks.
For a complete description of all configuration fields, see the Configuration Reference.
Example
Running stacks
Trigger all stacks
Trigger a specific stack
Start the HTTP server
Start the MCP server
HTTP server
The HTTP server exposes configured stacks as HTTP endpoints.
For example:
Start the server:
A reverse proxy such as nginx or Caddy can expose the service externally while Seristack remains bound to localhost.
Production deployment
Seristack executes shell commands and should not be exposed directly to the public internet.
A recommended architecture is:
Start Seristack on localhost:
For a remote MCP deployment, the same pattern can be used:
Authentication should be handled by the identity-aware proxy or gateway, while Seristack performs authorization at the individual stack level.
Per-stack authorization
Seristack can restrict individual stacks using identity headers forwarded by an authenticated reverse proxy.
For example:
Access matching
matchAccess controls how multiple access rules are evaluated.
ANY
Access is granted when at least one access rule matches.
This is OR logic.
ALL
Access is granted only when every access rule matches.
This is AND logic.
No access rules
If a stack does not define an access block, there is no stack-level access restriction.
The authentication layer should still protect the service itself in production.
Identity headers
The actual headers depend on the authentication provider and reverse proxy.
The headers must be configured and trusted only when they originate from your authenticated proxy.
Do not allow untrusted external clients to directly supply authorization headers.
Audit logging
Seristack can write a structured JSON audit log for stack executions.
Enable audit logging:
Audit entries include information such as:
- Timestamp
- Event
- Stack name
- HTTP path and method
- Source IP when available
- Identity headers
- Variables
- Success/failure
- Execution duration
- Output
- Error information
Example:
Use logrotate or an equivalent logging system to manage log rotation.
Do not put secrets in stack variables
Variables may be included in audit records.
Avoid passing passwords, tokens, API keys, or other secrets as stack variables.
Prefer:
- Environment variables
- Secret managers
- Workload identity
- External credential providers
MCP server
Seristack can expose configured stacks as MCP tools.
Start a Streamable HTTP MCP server:
Stacks with a description can be exposed as MCP tools.
AI agents and MCP-compatible IDEs can then discover and invoke the available stacks.
A production deployment should place the MCP server behind HTTPS and an authentication layer:
Variable validation
Variables can define validation and authorization rules.
Only variables declared in vars can be overridden by HTTP requests or MCP arguments.
Undeclared variables supplied through external inputs are ignored.
Validation rules can include:
requiredallowed_valuedenied_valueallowed_regexdenied_regex
Dependencies
Stacks can depend on other stacks:
Seristack resolves the dependency order before execution.
This allows larger workflows to be composed from smaller reusable stacks.
Execution modes
Stacks can be configured to execute sequentially or concurrently.
Sequential
Commands or repeated executions run in sequence.
Parallel
Independent executions can run concurrently.
Example:
Command execution
Seristack supports shell-based execution using the configured shell execution mechanisms.
Examples include:
Multi-line commands:
The configured execution environment determines which shell syntax is available.
Testing
Run the complete test suite:
To force tests to execute without using Go's test cache:
For verbose output and individual test execution times:
Run tests for a specific package:
Run the race detector:
The race detector requires a working C compiler/toolchain on supported platforms.
seristack run command reference
Run:
for the current command and flag reference.
Security considerations
Seristack executes commands on the host where it runs.
Before deploying it in a production environment:
- Keep Seristack bound to localhost or a private network.
- Put an authenticated reverse proxy or gateway in front of externally accessible endpoints.
- Use HTTPS/TLS for remote access.
- Do not trust identity headers supplied directly by clients.
- Restrict which users or groups can execute sensitive stacks.
- Avoid putting secrets into stack variables.
- Review and rotate audit logs.
- Run Seristack with the minimum operating-system privileges required.
- Restrict filesystem and network permissions where possible.
- Review shell commands carefully before exposing them through HTTP or MCP.
MCP access should be treated with the same security considerations as an HTTP API because MCP clients can invoke the tools exposed by the server.
Support the project
If Seristack helps your team turn shell scripts or operational runbooks into reusable CLI commands, HTTP APIs, or MCP tools, consider:
- ⭐ Starring the repository
- 🐛 Opening issues
- 💡 Sharing feedback
- 🧪 Adding examples and tests
- 🔧 Contributing improvements
License
Apache License 2.0
來源:README.md,提交 95009dd
工具
0版本歷史
1- v0.4.6最新Oct 1, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分