@zibby/skills 0.1.25 → 0.1.27
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/mcp-lark.mjs +112 -1
- package/bin/mcp-sentry.mjs +15 -36
- package/bin/mcp-slack.mjs +404 -0
- package/dist/chat-notify.js +18 -0
- package/dist/github.js +3 -3
- package/dist/index.js +105 -88
- package/dist/integrations.js +1 -1
- package/dist/jira.js +12 -12
- package/dist/lark.js +3 -2
- package/dist/llm-billing.js +1 -0
- package/dist/package.json +12 -5
- package/dist/report.js +12 -0
- package/dist/sentry.js +2 -2
- package/dist/slack.js +4 -2
- package/docs/get-started/install.md +1 -1
- package/docs/get-started/trigger-and-logs.md +1 -1
- package/docs/get-started/use-from-agents.md +153 -0
- package/docs/intro.md +1 -0
- package/docs/legacy/test-automation.md +1 -2
- package/docs/packages/mcp-cli.md +176 -0
- package/docs/recipes/test.md +1 -1
- package/package.json +12 -5
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
---
|
|
2
|
+
sidebar_position: 7
|
|
3
|
+
title: "@zibby/mcp-cli"
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# @zibby/mcp-cli
|
|
7
|
+
|
|
8
|
+
A Model Context Protocol (MCP) server that exposes the Zibby CLI surface — deploy, run, debug, trigger — to any MCP-aware AI agent. Install once, drive Zibby from Claude Code / Cursor / OpenAI Codex / Gemini CLI / Continue / Cline / Aider / Goose without leaving chat.
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
# Not installed manually — the agent's `npx` invocation handles it.
|
|
12
|
+
# See "Install" below for per-agent config.
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## What it exposes
|
|
16
|
+
|
|
17
|
+
13 MCP tools, all wrapping the underlying `@zibby/cli`:
|
|
18
|
+
|
|
19
|
+
| Tool | What it does |
|
|
20
|
+
|---|---|
|
|
21
|
+
| `zibby_login` | Opens the user's browser for device-code OAuth. Saves session to `~/.zibby/config.json`. |
|
|
22
|
+
| `zibby_logout` | Clears the saved session. |
|
|
23
|
+
| `zibby_status` | Who is logged in, how many projects are cached, whether the session is still valid. |
|
|
24
|
+
| `zibby_list_projects` | List the Zibby projects the user has access to. |
|
|
25
|
+
| `zibby_list_templates` | List official workflow templates (browser-test-automation, code-analysis, generate-test-cases, …). |
|
|
26
|
+
| `zibby_scaffold_workflow` | Scaffold `.zibby/workflows/<name>/` from an official template. |
|
|
27
|
+
| `zibby_validate_workflow` | Static-check a local workflow (~30 ms, no API call). |
|
|
28
|
+
| `zibby_list_workflows` | List workflows: local, remote, or both. |
|
|
29
|
+
| `zibby_deploy_workflow` | Deploy a local workflow to a project. |
|
|
30
|
+
| `zibby_trigger_workflow` | Trigger a deployed workflow by UUID. Returns `jobId`. |
|
|
31
|
+
| `zibby_workflow_logs` | Fetch the latest N log lines from a run (one-shot — call again for newer lines). |
|
|
32
|
+
| `zibby_run_workflow_local` | Run a workflow on the user's machine one-shot, for debugging. No cloud. |
|
|
33
|
+
| `zibby_download_workflow` | Pull a deployed workflow back to local. Requires explicit `confirm: true` from the agent. |
|
|
34
|
+
|
|
35
|
+
**Destructive operations are intentionally not exposed.** Workflow deletion, env-var mutation, schedule changes, and credential management stay in the `zibby` CLI directly. The agent has to involve the user out-of-band for those.
|
|
36
|
+
|
|
37
|
+
## Install
|
|
38
|
+
|
|
39
|
+
`@zibby/mcp-cli` ships as a stdio MCP server. The agent's host process spawns it via `npx -y` — no global install needed. The user just needs **Node.js ≥ 18** on their machine.
|
|
40
|
+
|
|
41
|
+
### Claude Code
|
|
42
|
+
|
|
43
|
+
`~/.claude/settings.json`:
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"mcpServers": {
|
|
48
|
+
"zibby": {
|
|
49
|
+
"command": "npx",
|
|
50
|
+
"args": ["-y", "@zibby/mcp-cli"]
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### Cursor
|
|
57
|
+
|
|
58
|
+
`~/.cursor/mcp.json`:
|
|
59
|
+
|
|
60
|
+
```json
|
|
61
|
+
{
|
|
62
|
+
"mcpServers": {
|
|
63
|
+
"zibby": {
|
|
64
|
+
"command": "npx",
|
|
65
|
+
"args": ["-y", "@zibby/mcp-cli"]
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### OpenAI Codex CLI
|
|
72
|
+
|
|
73
|
+
`~/.codex/config.toml`:
|
|
74
|
+
|
|
75
|
+
```toml
|
|
76
|
+
[mcp_servers.zibby]
|
|
77
|
+
command = "npx"
|
|
78
|
+
args = ["-y", "@zibby/mcp-cli"]
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Gemini CLI
|
|
82
|
+
|
|
83
|
+
`~/.gemini/settings.json`:
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"mcpServers": {
|
|
88
|
+
"zibby": {
|
|
89
|
+
"command": "npx",
|
|
90
|
+
"args": ["-y", "@zibby/mcp-cli"]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Claude Desktop (macOS)
|
|
97
|
+
|
|
98
|
+
`~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"mcpServers": {
|
|
103
|
+
"zibby": {
|
|
104
|
+
"command": "npx",
|
|
105
|
+
"args": ["-y", "@zibby/mcp-cli"]
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Windows
|
|
112
|
+
|
|
113
|
+
If your agent on Windows can't find `npx`, wrap with `cmd /c`:
|
|
114
|
+
|
|
115
|
+
```json
|
|
116
|
+
{
|
|
117
|
+
"mcpServers": {
|
|
118
|
+
"zibby": {
|
|
119
|
+
"command": "cmd",
|
|
120
|
+
"args": ["/c", "npx", "-y", "@zibby/mcp-cli"]
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## A typical agent chat
|
|
127
|
+
|
|
128
|
+
```
|
|
129
|
+
User: Deploy the browser-test template to my "playhouse" project.
|
|
130
|
+
Agent: → zibby_list_projects
|
|
131
|
+
→ zibby_scaffold_workflow (browser-test-automation → .zibby/workflows/playhouse-tests/)
|
|
132
|
+
→ zibby_validate_workflow
|
|
133
|
+
→ zibby_deploy_workflow
|
|
134
|
+
→ "Deployed v1 of playhouse-tests. UUID 988…"
|
|
135
|
+
|
|
136
|
+
User: Run it against staging.zibby.dev.
|
|
137
|
+
Agent: → zibby_trigger_workflow (input: { url: "https://staging.zibby.dev" })
|
|
138
|
+
→ zibby_workflow_logs (lines: 200, jobId: "abc-123")
|
|
139
|
+
→ "Run completed. Found 0 errors."
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Auth model
|
|
143
|
+
|
|
144
|
+
Two-stage by design (mirrors how the `zibby` CLI works):
|
|
145
|
+
|
|
146
|
+
1. **Session token** (`zibby_login`) — device-code OAuth via browser. Identifies the user.
|
|
147
|
+
2. **Per-project API tokens** — fetched at login time and cached locally. The MCP server picks the right token automatically when you call a project-scoped tool like `zibby_deploy_workflow`.
|
|
148
|
+
|
|
149
|
+
All credentials live in `~/.zibby/config.json` (mode `0600`). The same file `zibby login` writes — so if you've already done `zibby login` from a terminal, the MCP server picks up that session.
|
|
150
|
+
|
|
151
|
+
The user's password never touches the MCP server: login is OAuth in the browser, and only the resulting session token comes back to the local file.
|
|
152
|
+
|
|
153
|
+
## Security guarantees
|
|
154
|
+
|
|
155
|
+
- **No shell interpolation** — every CLI invocation uses `execFile` with argv arrays.
|
|
156
|
+
- **Minimum env passthrough** — only `HOME`, `USER`, `PATH`, and the project-scoped `ZIBBY_API_KEY` reach the child CLI process.
|
|
157
|
+
- **API tokens never returned to the agent** — they live in `~/.zibby/config.json` only, read server-side per call.
|
|
158
|
+
- **Destructive ops excluded** — see the table above.
|
|
159
|
+
- **`zibby_download_workflow` requires `confirm: true`** — the schema rejects calls without it. Agents must explicitly opt in after confirming the destination path with the user.
|
|
160
|
+
|
|
161
|
+
## Troubleshooting
|
|
162
|
+
|
|
163
|
+
| Problem | Likely cause |
|
|
164
|
+
|---|---|
|
|
165
|
+
| `Not logged in` on every call | `~/.zibby/config.json` missing or corrupted. Call `zibby_login`. |
|
|
166
|
+
| `No API token cached for project` | Project list out of date. Call `zibby_list_projects` to refresh. |
|
|
167
|
+
| `npx -y` hangs on first install | First-time download. Subsequent invocations are cached by npm. |
|
|
168
|
+
| Tool times out on long deploys | The wrapped CLI command exceeded 10 min. Re-run from a terminal to see live output. |
|
|
169
|
+
|
|
170
|
+
## Versioning
|
|
171
|
+
|
|
172
|
+
`@zibby/mcp-cli` pins a specific `@zibby/cli` version in its `dependencies`. Upgrading the MCP package upgrades the bundled CLI in lockstep. Users get the right CLI automatically — no need to coordinate two installs.
|
|
173
|
+
|
|
174
|
+
## Source
|
|
175
|
+
|
|
176
|
+
[github.com/ZibbyHQ/zibby-agent → packages/mcps/cli](https://github.com/ZibbyHQ/zibby-agent/tree/main/packages/mcps/cli)
|
package/docs/recipes/test.md
CHANGED
|
@@ -185,6 +185,6 @@ For workflows triggered remotely (rather than per-CI-run), use [`workflow trigge
|
|
|
185
185
|
|
|
186
186
|
## See also
|
|
187
187
|
|
|
188
|
-
- [Recipes overview](./
|
|
188
|
+
- [Recipes overview](./)
|
|
189
189
|
- [Concepts: graph](../concepts/graph) — the primitives this recipe uses
|
|
190
190
|
- [Cloud triggering](../cloud/triggering) — fire workflows from CI/CD
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zibby/skills",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.27",
|
|
4
4
|
"description": "Built-in skill definitions for Zibby test automation framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
".": "./dist/index.js",
|
|
9
9
|
"./bin/mcp-sentry.mjs": "./bin/mcp-sentry.mjs",
|
|
10
10
|
"./bin/mcp-lark.mjs": "./bin/mcp-lark.mjs",
|
|
11
|
+
"./bin/mcp-slack.mjs": "./bin/mcp-slack.mjs",
|
|
11
12
|
"./browser": "./dist/browser.js",
|
|
12
13
|
"./jira": "./dist/jira.js",
|
|
13
14
|
"./github": "./dist/github.js",
|
|
@@ -15,7 +16,10 @@
|
|
|
15
16
|
"./lark": "./dist/lark.js",
|
|
16
17
|
"./memory": "./dist/memory.js",
|
|
17
18
|
"./function": "./dist/function-skill.js",
|
|
18
|
-
"./integrations": "./dist/integrations.js"
|
|
19
|
+
"./integrations": "./dist/integrations.js",
|
|
20
|
+
"./report": "./dist/report.js",
|
|
21
|
+
"./llm-billing": "./dist/llm-billing.js",
|
|
22
|
+
"./sentry": "./dist/sentry.js"
|
|
19
23
|
},
|
|
20
24
|
"scripts": {
|
|
21
25
|
"build": "node ../scripts/build.mjs",
|
|
@@ -35,10 +39,10 @@
|
|
|
35
39
|
"homepage": "https://zibby.dev",
|
|
36
40
|
"repository": {
|
|
37
41
|
"type": "git",
|
|
38
|
-
"url": "https://github.com/ZibbyHQ/
|
|
42
|
+
"url": "https://github.com/ZibbyHQ/skills"
|
|
39
43
|
},
|
|
40
44
|
"bugs": {
|
|
41
|
-
"url": "https://github.com/ZibbyHQ/
|
|
45
|
+
"url": "https://github.com/ZibbyHQ/skills/issues"
|
|
42
46
|
},
|
|
43
47
|
"files": [
|
|
44
48
|
"dist/",
|
|
@@ -63,6 +67,9 @@
|
|
|
63
67
|
"@zibby/mcp-memory": "*"
|
|
64
68
|
},
|
|
65
69
|
"devDependencies": {
|
|
66
|
-
"
|
|
70
|
+
"@eslint/js": "^10.0.1",
|
|
71
|
+
"esbuild": "^0.28.0",
|
|
72
|
+
"eslint": "^10.0.2",
|
|
73
|
+
"globals": "^17.4.0"
|
|
67
74
|
}
|
|
68
75
|
}
|