
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 分