forgeqe-cli 2.2.7__tar.gz → 2.4.1__tar.gz
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.
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/LICENSE +1 -1
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/PKG-INFO +16 -4
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/README.md +15 -3
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli/__init__.py +1 -1
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli.egg-info/PKG-INFO +16 -4
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/pyproject.toml +1 -1
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli/__main__.py +0 -0
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli/launcher.py +0 -0
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli/pytest_plugin.py +0 -0
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli.egg-info/SOURCES.txt +0 -0
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli.egg-info/dependency_links.txt +0 -0
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli.egg-info/entry_points.txt +0 -0
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli.egg-info/requires.txt +0 -0
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/py/forgeqe_cli.egg-info/top_level.txt +0 -0
- {forgeqe_cli-2.2.7 → forgeqe_cli-2.4.1}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
ForgeQE Software Licence
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2026
|
|
3
|
+
Copyright (c) 2026 Capgemini. All rights reserved.
|
|
4
4
|
|
|
5
5
|
ForgeQE, its documentation, prompts, skills, and accompanying files (together, "the Software") are proprietary and confidential. The Software is licensed, not sold.
|
|
6
6
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: forgeqe-cli
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: pip launcher for the ForgeQE browser agent (npm package: @capagents/forgeqe)
|
|
5
5
|
Author: CLI-Agents
|
|
6
6
|
License: MIT
|
|
@@ -42,6 +42,8 @@ Everything else is downloaded on first use into `~/.forgeqe/tools` (`%USERPROFIL
|
|
|
42
42
|
|
|
43
43
|
`forgeqe setup` does all of this up front; otherwise the first command that needs a piece fetches it. Upgrading is `forgeqe update`: it updates every `forgeqe` on PATH (bun, npm and pip installs) and waits while the registries catch up with a new release. A release that pins a newer Bun, agent runtime, uv or engine library downloads it on the next run and removes the old one. Deleting `~/.forgeqe` removes everything ForgeQE downloaded. Behind a proxy, set `HTTPS_PROXY`. The npm launcher's Bun download also needs `NODE_USE_ENV_PROXY=1` (Node 24+); on older Node, use the pip launcher or install Bun yourself.
|
|
44
44
|
|
|
45
|
+
**Coming from WebPilot** (`@capagents/webpilot`, ForgeQE's name before the rename): remove it first with `npm uninstall -g @capagents/webpilot`. npm refuses to install ForgeQE while the old package owns the `webpilot` command (`EEXIST ... npm\webpilot`). Your settings, sign-ins, `WEBPILOT_*` variables and `webpilot.yaml` files keep working. The npm package installs only the `forgeqe` command; the pip launcher still installs `webpilot` too. Install with `-g`, not with `npm install @capagents/forgeqe` inside a folder: `npx forgeqe` runs that folder copy, and `forgeqe update` does not change it (it prints how to replace it).
|
|
46
|
+
|
|
45
47
|
From this repo:
|
|
46
48
|
|
|
47
49
|
```bash
|
|
@@ -73,7 +75,7 @@ npm trust github @capagents/forgeqe --file forgeqe-release.yml --repo javed0211/
|
|
|
73
75
|
|
|
74
76
|
and on pypi.org, under `forgeqe-cli` → Publishing, add a GitHub trusted publisher: owner `javed0211`, repository
|
|
75
77
|
`cli-agents`, workflow `forgeqe-release.yml`, no environment. A new npm trust that has not published within 2 days
|
|
76
|
-
expires, so do it just before the first release.
|
|
78
|
+
expires, so do it just before the first release. Keep the workflow's file name: the registries trust it by name, and a renamed file cannot publish until each is told.
|
|
77
79
|
|
|
78
80
|
## Privacy
|
|
79
81
|
|
|
@@ -145,6 +147,14 @@ ForgeQE's agent needs the agent runtime (downloaded automatically, see Install)
|
|
|
145
147
|
|
|
146
148
|
`forgeqe run` exits 0 when the job is done, 1 when it failed, 2 when it was stopped, and 3 when the agent needs more information.
|
|
147
149
|
|
|
150
|
+
**For programs.** `forgeqe chat --jsonl` gives a program that needs a live agent (a web UI, an IDE) what the shell has: one agent for the whole conversation, follow-ups, credentials remembered for the session, questions and **Your turn** waits, and stop. It reads one JSON object per line on stdin and writes the agent's and the tools' events, the same ones the shell draws, as JSON lines on stdout; nothing else is ever written there, and remembered secrets and keys are redacted. It takes the flags of `forgeqe run`, plus `--carry-over FILE` to continue an earlier conversation. The protocol is in [HOW_TO_USE.md](HOW_TO_USE.md#a-live-agent-for-programs-forgeqe-chat---jsonl).
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
→ {"v":1,"seq":1,"type":"ready","protocol":1,"version":"2.3.11","cwd":"/work/app","writeTests":true,"profile":{"name":"copilot","provider":"github_copilot"},"t":"…"}
|
|
154
|
+
← {"type":"message","id":"m1","text":"Run SHOP-12 on staging"}
|
|
155
|
+
→ {"v":1,"seq":9,"type":"turn_done","id":"m1","outcome":"done","reply":"SHOP-12 passed on staging.","next":[],"usage":{"input":5200,"output":310},"t":"…"}
|
|
156
|
+
```
|
|
157
|
+
|
|
148
158
|
`forgeqe --help` lists every command, among them `forgeqe db`, `forgeqe data` and `forgeqe flows` (see [Databases, test data, and data flows](#databases-test-data-and-data-flows)) and `forgeqe generated`, which says how much of the code ForgeQE wrote and how much is still there (`--json` for a pipeline).
|
|
149
159
|
|
|
150
160
|
## Page memory
|
|
@@ -413,10 +423,10 @@ ForgeQE's agent connects to each system's MCP server, configured from the same `
|
|
|
413
423
|
|
|
414
424
|
| System | MCP server | Needs |
|
|
415
425
|
|--------|------------|-------|
|
|
416
|
-
| Azure DevOps Services | Microsoft's [Azure DevOps MCP server](https://github.com/microsoft/azure-devops-mcp) (`npx @azure-devops/mcp`), with all its tools: work items, boards, test plans, pipelines, repos, wiki pages, search, and security alerts | Node.js, and `ADO_PAT` or `az login` |
|
|
426
|
+
| Azure DevOps Services | Microsoft's [Azure DevOps MCP server](https://github.com/microsoft/azure-devops-mcp) (`npx @azure-devops/mcp`), with all its tools, each turn getting the groups it needs: work items, boards, test plans, pipelines, repos, wiki pages, search, and security alerts | Node.js, and `ADO_PAT` or `az login` |
|
|
417
427
|
| Jira Cloud, Server/Data Center | [mcp-atlassian](https://github.com/sooperset/mcp-atlassian) (`uvx`), with issues, JQL search, comments, and transitions. `mcp: rovo` uses [Atlassian's hosted server](https://github.com/atlassian/atlassian-mcp-server) instead (Cloud, and an admin must allow API tokens) | uv; `JIRA_EMAIL` and `JIRA_API_TOKEN` (Cloud) or a personal access token (Server/DC) |
|
|
418
428
|
| Confluence | mcp-atlassian, shared with Jira (or its own when Jira isn't set up); Atlassian's hosted server covers it on the same site | `confluence: true` on a Jira Cloud site, or `confluence.url` + tokens |
|
|
419
|
-
| GitHub | GitHub's [hosted MCP server](https://github.com/github/github-mcp-server) with
|
|
429
|
+
| GitHub | GitHub's [hosted MCP server](https://github.com/github/github-mcp-server) with every toolset, each turn getting the groups of tools it needs (`sources.github.toolsets` limits them), on in a repository with a GitHub remote or when `sources.github` is set. GitHub issues are also a test case source (`github:#12`, `github:acme/shop#12,#13`, `github:label=login`, `github:q=login in:title`): results go back as issue comments, and `sources.bugs.system: github` files bugs as issues. GitHub has no API to upload a screenshot to an issue, so a bug names the run folder instead | `GITHUB_TOKEN`, or the GitHub CLI's sign-in (`forgeqe auth login github`) |
|
|
420
430
|
| Xray, TestRail, Zephyr Scale, qTest | none; ForgeQE's API | `XRAY_CLIENT_ID` / `XRAY_CLIENT_SECRET`, `TESTRAIL_EMAIL` / `TESTRAIL_API_KEY`, `ZEPHYR_API_TOKEN`, `QTEST_TOKEN` |
|
|
421
431
|
| Anything else | servers you add under `mcp:` | |
|
|
422
432
|
|
|
@@ -438,6 +448,8 @@ Microsoft's Azure DevOps server can't create dashboards, so "create a dashboard
|
|
|
438
448
|
|
|
439
449
|
Its wiki tools can only write into a wiki that already exists, so wiki pages go through ForgeQE's `write_ado_wiki_page`. If the project has no wiki yet, that tool creates the project wiki first, along with any missing parent pages. The PAT needs Wiki (read and write).
|
|
440
450
|
|
|
451
|
+
Pull requests are opened with ForgeQE's `create_ado_pull_request` ("create a PR from feature/cart to main in the shop repository"), since the `repositories` tool group is not loaded by default. It checks that both branches exist, and returns an active pull request between the same branches instead of opening a second one. The PAT needs Code (read and write).
|
|
452
|
+
|
|
441
453
|
Requirements work too: "write and run test cases for the checkout rules page in Confluence" makes the agent read the page, write one case per rule or acceptance criterion (with the main negative paths), show them, and run them. It saves them into a test system only when you ask.
|
|
442
454
|
|
|
443
455
|
The agent creates or changes items (a bug, a comment, a status change) only when you ask it to; bugs for failed cases come from `sources.bugs`, not from the agent.
|
|
@@ -27,6 +27,8 @@ Everything else is downloaded on first use into `~/.forgeqe/tools` (`%USERPROFIL
|
|
|
27
27
|
|
|
28
28
|
`forgeqe setup` does all of this up front; otherwise the first command that needs a piece fetches it. Upgrading is `forgeqe update`: it updates every `forgeqe` on PATH (bun, npm and pip installs) and waits while the registries catch up with a new release. A release that pins a newer Bun, agent runtime, uv or engine library downloads it on the next run and removes the old one. Deleting `~/.forgeqe` removes everything ForgeQE downloaded. Behind a proxy, set `HTTPS_PROXY`. The npm launcher's Bun download also needs `NODE_USE_ENV_PROXY=1` (Node 24+); on older Node, use the pip launcher or install Bun yourself.
|
|
29
29
|
|
|
30
|
+
**Coming from WebPilot** (`@capagents/webpilot`, ForgeQE's name before the rename): remove it first with `npm uninstall -g @capagents/webpilot`. npm refuses to install ForgeQE while the old package owns the `webpilot` command (`EEXIST ... npm\webpilot`). Your settings, sign-ins, `WEBPILOT_*` variables and `webpilot.yaml` files keep working. The npm package installs only the `forgeqe` command; the pip launcher still installs `webpilot` too. Install with `-g`, not with `npm install @capagents/forgeqe` inside a folder: `npx forgeqe` runs that folder copy, and `forgeqe update` does not change it (it prints how to replace it).
|
|
31
|
+
|
|
30
32
|
From this repo:
|
|
31
33
|
|
|
32
34
|
```bash
|
|
@@ -58,7 +60,7 @@ npm trust github @capagents/forgeqe --file forgeqe-release.yml --repo javed0211/
|
|
|
58
60
|
|
|
59
61
|
and on pypi.org, under `forgeqe-cli` → Publishing, add a GitHub trusted publisher: owner `javed0211`, repository
|
|
60
62
|
`cli-agents`, workflow `forgeqe-release.yml`, no environment. A new npm trust that has not published within 2 days
|
|
61
|
-
expires, so do it just before the first release.
|
|
63
|
+
expires, so do it just before the first release. Keep the workflow's file name: the registries trust it by name, and a renamed file cannot publish until each is told.
|
|
62
64
|
|
|
63
65
|
## Privacy
|
|
64
66
|
|
|
@@ -130,6 +132,14 @@ ForgeQE's agent needs the agent runtime (downloaded automatically, see Install)
|
|
|
130
132
|
|
|
131
133
|
`forgeqe run` exits 0 when the job is done, 1 when it failed, 2 when it was stopped, and 3 when the agent needs more information.
|
|
132
134
|
|
|
135
|
+
**For programs.** `forgeqe chat --jsonl` gives a program that needs a live agent (a web UI, an IDE) what the shell has: one agent for the whole conversation, follow-ups, credentials remembered for the session, questions and **Your turn** waits, and stop. It reads one JSON object per line on stdin and writes the agent's and the tools' events, the same ones the shell draws, as JSON lines on stdout; nothing else is ever written there, and remembered secrets and keys are redacted. It takes the flags of `forgeqe run`, plus `--carry-over FILE` to continue an earlier conversation. The protocol is in [HOW_TO_USE.md](HOW_TO_USE.md#a-live-agent-for-programs-forgeqe-chat---jsonl).
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
→ {"v":1,"seq":1,"type":"ready","protocol":1,"version":"2.3.11","cwd":"/work/app","writeTests":true,"profile":{"name":"copilot","provider":"github_copilot"},"t":"…"}
|
|
139
|
+
← {"type":"message","id":"m1","text":"Run SHOP-12 on staging"}
|
|
140
|
+
→ {"v":1,"seq":9,"type":"turn_done","id":"m1","outcome":"done","reply":"SHOP-12 passed on staging.","next":[],"usage":{"input":5200,"output":310},"t":"…"}
|
|
141
|
+
```
|
|
142
|
+
|
|
133
143
|
`forgeqe --help` lists every command, among them `forgeqe db`, `forgeqe data` and `forgeqe flows` (see [Databases, test data, and data flows](#databases-test-data-and-data-flows)) and `forgeqe generated`, which says how much of the code ForgeQE wrote and how much is still there (`--json` for a pipeline).
|
|
134
144
|
|
|
135
145
|
## Page memory
|
|
@@ -398,10 +408,10 @@ ForgeQE's agent connects to each system's MCP server, configured from the same `
|
|
|
398
408
|
|
|
399
409
|
| System | MCP server | Needs |
|
|
400
410
|
|--------|------------|-------|
|
|
401
|
-
| Azure DevOps Services | Microsoft's [Azure DevOps MCP server](https://github.com/microsoft/azure-devops-mcp) (`npx @azure-devops/mcp`), with all its tools: work items, boards, test plans, pipelines, repos, wiki pages, search, and security alerts | Node.js, and `ADO_PAT` or `az login` |
|
|
411
|
+
| Azure DevOps Services | Microsoft's [Azure DevOps MCP server](https://github.com/microsoft/azure-devops-mcp) (`npx @azure-devops/mcp`), with all its tools, each turn getting the groups it needs: work items, boards, test plans, pipelines, repos, wiki pages, search, and security alerts | Node.js, and `ADO_PAT` or `az login` |
|
|
402
412
|
| Jira Cloud, Server/Data Center | [mcp-atlassian](https://github.com/sooperset/mcp-atlassian) (`uvx`), with issues, JQL search, comments, and transitions. `mcp: rovo` uses [Atlassian's hosted server](https://github.com/atlassian/atlassian-mcp-server) instead (Cloud, and an admin must allow API tokens) | uv; `JIRA_EMAIL` and `JIRA_API_TOKEN` (Cloud) or a personal access token (Server/DC) |
|
|
403
413
|
| Confluence | mcp-atlassian, shared with Jira (or its own when Jira isn't set up); Atlassian's hosted server covers it on the same site | `confluence: true` on a Jira Cloud site, or `confluence.url` + tokens |
|
|
404
|
-
| GitHub | GitHub's [hosted MCP server](https://github.com/github/github-mcp-server) with
|
|
414
|
+
| GitHub | GitHub's [hosted MCP server](https://github.com/github/github-mcp-server) with every toolset, each turn getting the groups of tools it needs (`sources.github.toolsets` limits them), on in a repository with a GitHub remote or when `sources.github` is set. GitHub issues are also a test case source (`github:#12`, `github:acme/shop#12,#13`, `github:label=login`, `github:q=login in:title`): results go back as issue comments, and `sources.bugs.system: github` files bugs as issues. GitHub has no API to upload a screenshot to an issue, so a bug names the run folder instead | `GITHUB_TOKEN`, or the GitHub CLI's sign-in (`forgeqe auth login github`) |
|
|
405
415
|
| Xray, TestRail, Zephyr Scale, qTest | none; ForgeQE's API | `XRAY_CLIENT_ID` / `XRAY_CLIENT_SECRET`, `TESTRAIL_EMAIL` / `TESTRAIL_API_KEY`, `ZEPHYR_API_TOKEN`, `QTEST_TOKEN` |
|
|
406
416
|
| Anything else | servers you add under `mcp:` | |
|
|
407
417
|
|
|
@@ -423,6 +433,8 @@ Microsoft's Azure DevOps server can't create dashboards, so "create a dashboard
|
|
|
423
433
|
|
|
424
434
|
Its wiki tools can only write into a wiki that already exists, so wiki pages go through ForgeQE's `write_ado_wiki_page`. If the project has no wiki yet, that tool creates the project wiki first, along with any missing parent pages. The PAT needs Wiki (read and write).
|
|
425
435
|
|
|
436
|
+
Pull requests are opened with ForgeQE's `create_ado_pull_request` ("create a PR from feature/cart to main in the shop repository"), since the `repositories` tool group is not loaded by default. It checks that both branches exist, and returns an active pull request between the same branches instead of opening a second one. The PAT needs Code (read and write).
|
|
437
|
+
|
|
426
438
|
Requirements work too: "write and run test cases for the checkout rules page in Confluence" makes the agent read the page, write one case per rule or acceptance criterion (with the main negative paths), show them, and run them. It saves them into a test system only when you ask.
|
|
427
439
|
|
|
428
440
|
The agent creates or changes items (a bug, a comment, a status change) only when you ask it to; bugs for failed cases come from `sources.bugs`, not from the agent.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: forgeqe-cli
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.4.1
|
|
4
4
|
Summary: pip launcher for the ForgeQE browser agent (npm package: @capagents/forgeqe)
|
|
5
5
|
Author: CLI-Agents
|
|
6
6
|
License: MIT
|
|
@@ -42,6 +42,8 @@ Everything else is downloaded on first use into `~/.forgeqe/tools` (`%USERPROFIL
|
|
|
42
42
|
|
|
43
43
|
`forgeqe setup` does all of this up front; otherwise the first command that needs a piece fetches it. Upgrading is `forgeqe update`: it updates every `forgeqe` on PATH (bun, npm and pip installs) and waits while the registries catch up with a new release. A release that pins a newer Bun, agent runtime, uv or engine library downloads it on the next run and removes the old one. Deleting `~/.forgeqe` removes everything ForgeQE downloaded. Behind a proxy, set `HTTPS_PROXY`. The npm launcher's Bun download also needs `NODE_USE_ENV_PROXY=1` (Node 24+); on older Node, use the pip launcher or install Bun yourself.
|
|
44
44
|
|
|
45
|
+
**Coming from WebPilot** (`@capagents/webpilot`, ForgeQE's name before the rename): remove it first with `npm uninstall -g @capagents/webpilot`. npm refuses to install ForgeQE while the old package owns the `webpilot` command (`EEXIST ... npm\webpilot`). Your settings, sign-ins, `WEBPILOT_*` variables and `webpilot.yaml` files keep working. The npm package installs only the `forgeqe` command; the pip launcher still installs `webpilot` too. Install with `-g`, not with `npm install @capagents/forgeqe` inside a folder: `npx forgeqe` runs that folder copy, and `forgeqe update` does not change it (it prints how to replace it).
|
|
46
|
+
|
|
45
47
|
From this repo:
|
|
46
48
|
|
|
47
49
|
```bash
|
|
@@ -73,7 +75,7 @@ npm trust github @capagents/forgeqe --file forgeqe-release.yml --repo javed0211/
|
|
|
73
75
|
|
|
74
76
|
and on pypi.org, under `forgeqe-cli` → Publishing, add a GitHub trusted publisher: owner `javed0211`, repository
|
|
75
77
|
`cli-agents`, workflow `forgeqe-release.yml`, no environment. A new npm trust that has not published within 2 days
|
|
76
|
-
expires, so do it just before the first release.
|
|
78
|
+
expires, so do it just before the first release. Keep the workflow's file name: the registries trust it by name, and a renamed file cannot publish until each is told.
|
|
77
79
|
|
|
78
80
|
## Privacy
|
|
79
81
|
|
|
@@ -145,6 +147,14 @@ ForgeQE's agent needs the agent runtime (downloaded automatically, see Install)
|
|
|
145
147
|
|
|
146
148
|
`forgeqe run` exits 0 when the job is done, 1 when it failed, 2 when it was stopped, and 3 when the agent needs more information.
|
|
147
149
|
|
|
150
|
+
**For programs.** `forgeqe chat --jsonl` gives a program that needs a live agent (a web UI, an IDE) what the shell has: one agent for the whole conversation, follow-ups, credentials remembered for the session, questions and **Your turn** waits, and stop. It reads one JSON object per line on stdin and writes the agent's and the tools' events, the same ones the shell draws, as JSON lines on stdout; nothing else is ever written there, and remembered secrets and keys are redacted. It takes the flags of `forgeqe run`, plus `--carry-over FILE` to continue an earlier conversation. The protocol is in [HOW_TO_USE.md](HOW_TO_USE.md#a-live-agent-for-programs-forgeqe-chat---jsonl).
|
|
151
|
+
|
|
152
|
+
```text
|
|
153
|
+
→ {"v":1,"seq":1,"type":"ready","protocol":1,"version":"2.3.11","cwd":"/work/app","writeTests":true,"profile":{"name":"copilot","provider":"github_copilot"},"t":"…"}
|
|
154
|
+
← {"type":"message","id":"m1","text":"Run SHOP-12 on staging"}
|
|
155
|
+
→ {"v":1,"seq":9,"type":"turn_done","id":"m1","outcome":"done","reply":"SHOP-12 passed on staging.","next":[],"usage":{"input":5200,"output":310},"t":"…"}
|
|
156
|
+
```
|
|
157
|
+
|
|
148
158
|
`forgeqe --help` lists every command, among them `forgeqe db`, `forgeqe data` and `forgeqe flows` (see [Databases, test data, and data flows](#databases-test-data-and-data-flows)) and `forgeqe generated`, which says how much of the code ForgeQE wrote and how much is still there (`--json` for a pipeline).
|
|
149
159
|
|
|
150
160
|
## Page memory
|
|
@@ -413,10 +423,10 @@ ForgeQE's agent connects to each system's MCP server, configured from the same `
|
|
|
413
423
|
|
|
414
424
|
| System | MCP server | Needs |
|
|
415
425
|
|--------|------------|-------|
|
|
416
|
-
| Azure DevOps Services | Microsoft's [Azure DevOps MCP server](https://github.com/microsoft/azure-devops-mcp) (`npx @azure-devops/mcp`), with all its tools: work items, boards, test plans, pipelines, repos, wiki pages, search, and security alerts | Node.js, and `ADO_PAT` or `az login` |
|
|
426
|
+
| Azure DevOps Services | Microsoft's [Azure DevOps MCP server](https://github.com/microsoft/azure-devops-mcp) (`npx @azure-devops/mcp`), with all its tools, each turn getting the groups it needs: work items, boards, test plans, pipelines, repos, wiki pages, search, and security alerts | Node.js, and `ADO_PAT` or `az login` |
|
|
417
427
|
| Jira Cloud, Server/Data Center | [mcp-atlassian](https://github.com/sooperset/mcp-atlassian) (`uvx`), with issues, JQL search, comments, and transitions. `mcp: rovo` uses [Atlassian's hosted server](https://github.com/atlassian/atlassian-mcp-server) instead (Cloud, and an admin must allow API tokens) | uv; `JIRA_EMAIL` and `JIRA_API_TOKEN` (Cloud) or a personal access token (Server/DC) |
|
|
418
428
|
| Confluence | mcp-atlassian, shared with Jira (or its own when Jira isn't set up); Atlassian's hosted server covers it on the same site | `confluence: true` on a Jira Cloud site, or `confluence.url` + tokens |
|
|
419
|
-
| GitHub | GitHub's [hosted MCP server](https://github.com/github/github-mcp-server) with
|
|
429
|
+
| GitHub | GitHub's [hosted MCP server](https://github.com/github/github-mcp-server) with every toolset, each turn getting the groups of tools it needs (`sources.github.toolsets` limits them), on in a repository with a GitHub remote or when `sources.github` is set. GitHub issues are also a test case source (`github:#12`, `github:acme/shop#12,#13`, `github:label=login`, `github:q=login in:title`): results go back as issue comments, and `sources.bugs.system: github` files bugs as issues. GitHub has no API to upload a screenshot to an issue, so a bug names the run folder instead | `GITHUB_TOKEN`, or the GitHub CLI's sign-in (`forgeqe auth login github`) |
|
|
420
430
|
| Xray, TestRail, Zephyr Scale, qTest | none; ForgeQE's API | `XRAY_CLIENT_ID` / `XRAY_CLIENT_SECRET`, `TESTRAIL_EMAIL` / `TESTRAIL_API_KEY`, `ZEPHYR_API_TOKEN`, `QTEST_TOKEN` |
|
|
421
431
|
| Anything else | servers you add under `mcp:` | |
|
|
422
432
|
|
|
@@ -438,6 +448,8 @@ Microsoft's Azure DevOps server can't create dashboards, so "create a dashboard
|
|
|
438
448
|
|
|
439
449
|
Its wiki tools can only write into a wiki that already exists, so wiki pages go through ForgeQE's `write_ado_wiki_page`. If the project has no wiki yet, that tool creates the project wiki first, along with any missing parent pages. The PAT needs Wiki (read and write).
|
|
440
450
|
|
|
451
|
+
Pull requests are opened with ForgeQE's `create_ado_pull_request` ("create a PR from feature/cart to main in the shop repository"), since the `repositories` tool group is not loaded by default. It checks that both branches exist, and returns an active pull request between the same branches instead of opening a second one. The PAT needs Code (read and write).
|
|
452
|
+
|
|
441
453
|
Requirements work too: "write and run test cases for the checkout rules page in Confluence" makes the agent read the page, write one case per rule or acceptance criterion (with the main negative paths), show them, and run them. It saves them into a test system only when you ask.
|
|
442
454
|
|
|
443
455
|
The agent creates or changes items (a bug, a comment, a status change) only when you ask it to; bugs for failed cases come from `sources.bugs`, not from the agent.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|