harness-mcp-v2 3.2.28 → 3.2.29
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/README.md +11 -7
- package/build/data/schemas/v0/pipeline.d.ts.map +1 -1
- package/build/data/schemas/v0/pipeline.js +32 -0
- package/build/data/schemas/v0/pipeline.js.map +1 -1
- package/build/data/schemas/v0/template.d.ts.map +1 -1
- package/build/data/schemas/v0/template.js +32 -0
- package/build/data/schemas/v0/template.js.map +1 -1
- package/build/registry/extractors.d.ts +22 -0
- package/build/registry/extractors.d.ts.map +1 -1
- package/build/registry/extractors.js +85 -0
- package/build/registry/extractors.js.map +1 -1
- package/build/registry/toolsets/access-control.d.ts.map +1 -1
- package/build/registry/toolsets/access-control.js +199 -36
- package/build/registry/toolsets/access-control.js.map +1 -1
- package/build/registry/toolsets/ccm.d.ts.map +1 -1
- package/build/registry/toolsets/ccm.js +372 -2
- package/build/registry/toolsets/ccm.js.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.d.ts +1 -1
- package/build/registry/toolsets/chaos-descriptions.d.ts.map +1 -1
- package/build/registry/toolsets/chaos-descriptions.js +1 -1
- package/build/registry/toolsets/chaos.js +1 -1
- package/build/registry/toolsets/chaos.js.map +1 -1
- package/build/registry/toolsets/pipelines.d.ts.map +1 -1
- package/build/registry/toolsets/pipelines.js +247 -21
- package/build/registry/toolsets/pipelines.js.map +1 -1
- package/build/tools/harness-execute.d.ts.map +1 -1
- package/build/tools/harness-execute.js +29 -56
- package/build/tools/harness-execute.js.map +1 -1
- package/build/utils/url-parser.d.ts.map +1 -1
- package/build/utils/url-parser.js +2 -0
- package/build/utils/url-parser.js.map +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
[](https://mcptoplist.com/server/glama%2Fharness%2Fmcp-server)
|
|
4
4
|
|
|
5
|
-
An MCP (Model Context Protocol) server that gives AI agents full access to the Harness.io platform through 11 consolidated tools and
|
|
5
|
+
An MCP (Model Context Protocol) server that gives AI agents full access to the Harness.io platform through 11 consolidated tools and 251 resource types.
|
|
6
6
|
|
|
7
7
|
## Why Use This MCP Server
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ Most MCP servers map one tool per API endpoint. For a platform as broad as Harne
|
|
|
10
10
|
|
|
11
11
|
This server is built differently:
|
|
12
12
|
|
|
13
|
-
- **11 tools,
|
|
13
|
+
- **11 tools, 251 resource types.** A registry-based dispatch system routes `harness_list`, `harness_get`, `harness_create`, etc. to any Harness resource — pipelines, services, environments, orgs, projects, feature flags, cost data, and more. The LLM picks from 11 tools instead of hundreds.
|
|
14
14
|
- **Full platform coverage.** 41 default toolsets spanning CI/CD, GitOps, Feature Flags, Cloud Cost Management, Security Testing, Chaos Engineering, Database DevOps, Internal Developer Portal, Software Supply Chain, Infrastructure as Code Management, Release Management, Governance, Service Overrides, Knowledge Graph, and more. Opt-in Ansible and observability-evaluation coverage is available when needed.
|
|
15
15
|
- **Multi-project workflows out of the box.** Agents discover organizations and projects dynamically — no hardcoded env vars needed. Ask "show failed executions across all projects" and the agent can navigate the full account hierarchy.
|
|
16
16
|
- **35 prompt templates.** Pre-built prompts for common workflows: build & deploy apps end-to-end, debug failed pipelines, review DORA metrics, triage vulnerabilities, optimize cloud costs, audit access control, plan feature flag rollouts, review pull requests, approve pending pipelines, and more.
|
|
@@ -938,7 +938,7 @@ For v0 pipelines, use this sequence to reduce execution-time input errors:
|
|
|
938
938
|
- **Constraint:** shorthand expansion is skipped when `inputs.build` is already present (explicit `build` wins).
|
|
939
939
|
3. **Execute the run**
|
|
940
940
|
- `harness_execute(resource_type="pipeline", action="run", resource_id="<pipeline_id>", ...)`
|
|
941
|
-
- For Git-backed pipelines whose YAML should be loaded from a non-default branch, pass `params.pipeline_branch` (sent to Harness as `
|
|
941
|
+
- For Git-backed pipelines whose YAML should be loaded from a non-default branch, pass `params.pipeline_branch` (sent to Harness as `branch`). This explicit definition selector takes precedence over the `params.branch` alias. `inputs.branch` independently selects the CI codebase branch:
|
|
942
942
|
|
|
943
943
|
```json
|
|
944
944
|
{
|
|
@@ -1261,7 +1261,7 @@ Harness pipelines can be stored in three ways:
|
|
|
1261
1261
|
|
|
1262
1262
|
## Resource Types
|
|
1263
1263
|
|
|
1264
|
-
|
|
1264
|
+
251 resource types organized across 41 toolsets. Each resource type supports a subset of CRUD operations and optional execute actions.
|
|
1265
1265
|
|
|
1266
1266
|
### Platform
|
|
1267
1267
|
|
|
@@ -1753,6 +1753,10 @@ In single-user/self-hosted mode, legacy-mode auth uses a Bearer token from `HARN
|
|
|
1753
1753
|
| `cost_recommendation_stats` | | x | | | | |
|
|
1754
1754
|
| `cost_recommendation_detail` | | x | | | | |
|
|
1755
1755
|
| `cost_commitment` | | x | | | | |
|
|
1756
|
+
| `ai_budget` | x | x | x | x | x | |
|
|
1757
|
+
| `ai_budget_overview` | | x | | | | |
|
|
1758
|
+
| `ai_budget_consumption` | x | | | | | |
|
|
1759
|
+
| `ai_budget_override_request` | x | x | x | | | `approve`, `reject` |
|
|
1756
1760
|
|
|
1757
1761
|
|
|
1758
1762
|
### Software Engineering Insights (SEI)
|
|
@@ -1828,7 +1832,7 @@ Security exemption execute workflow:
|
|
|
1828
1832
|
| Resource Type | List | Get | Create | Update | Delete | Execute Actions |
|
|
1829
1833
|
| ----------------- | ---- | --- | ------ | ------ | ------ | --------------- |
|
|
1830
1834
|
| `user` | x | x | | | | |
|
|
1831
|
-
| `user_group` | x | x | x |
|
|
1835
|
+
| `user_group` | x | x | x | x | x | |
|
|
1832
1836
|
| `service_account` | x | x | x | | x | |
|
|
1833
1837
|
| `role` | x | x | x | | x | |
|
|
1834
1838
|
| `role_assignment` | x | | x | | | |
|
|
@@ -2053,7 +2057,7 @@ Available toolset names:
|
|
|
2053
2057
|
+--------v---------+
|
|
2054
2058
|
| Registry | <-- Declarative resource definitions
|
|
2055
2059
|
| 45 Toolsets (41 default) |
|
|
2056
|
-
|
|
|
2060
|
+
| 251 Resource Types|
|
|
2057
2061
|
+--------+---------+
|
|
2058
2062
|
|
|
|
2059
2063
|
+--------v---------+
|
|
@@ -2353,7 +2357,7 @@ The Harness MCP server pairs well with **[Harness Skills](https://github.com/har
|
|
|
2353
2357
|
| `Read-only mode is enabled ... operations are not allowed` | `HARNESS_READ_ONLY=true` blocks create/update/delete/execute | Set `HARNESS_READ_ONLY=false` if write operations are intended |
|
|
2354
2358
|
| Pipeline run fails pre-flight with unresolved required inputs | Provided `inputs` did not cover required runtime placeholders | Fetch `runtime_input_template`, supply missing simple keys, or use `input_set_ids` for structural inputs |
|
|
2355
2359
|
| Pipeline CI shorthand (`branch`, `tag`, `pr_number`, `commit_sha`) did not apply | `inputs.build` was already provided, so shorthand expansion was intentionally skipped | Remove `inputs.build` to use shorthand expansion, or keep full explicit `build` structure |
|
|
2356
|
-
| Pipeline run loaded the wrong YAML revision | The pipeline definition is stored in Git and the run did not specify the desired pipeline branch | Pass `params.pipeline_branch` on the `run` action; this maps to Harness `
|
|
2360
|
+
| Pipeline run loaded the wrong YAML revision | The pipeline definition is stored in Git and the run did not specify the desired pipeline branch | Pass `params.pipeline_branch` on the `run` action; this maps to Harness `branch` |
|
|
2357
2361
|
| `wait: true` returned `_wait.error` | The pipeline trigger succeeded, but server-side polling failed | Recheck the `execution_id` with `harness_get(resource_type="execution", ...)` before deciding whether to rerun |
|
|
2358
2362
|
| `wait: true` returned `execution_timed_out: true` | The execution did not reach a terminal status before `wait_timeout_seconds` | Use the returned `execution_id` to recheck status; wait for a terminal status before running `harness_diagnose` |
|
|
2359
2363
|
| Execution logs are empty or blob downloads return 403 | Harness-hosted log blob URLs require the configured Harness client/auth path, especially for internal or self-managed hosts | Keep `HARNESS_BASE_URL` pointed at the target Harness host and use `harness_get(resource_type="execution_log", ...)` or `harness_diagnose(..., include_logs=true)` rather than bypassing the MCP client |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/data/schemas/v0/pipeline.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/data/schemas/v0/pipeline.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CA2h0H/B,CAAC;AACF,eAAe,MAAM,CAAC"}
|
|
@@ -56950,6 +56950,22 @@ const schema = {
|
|
|
56950
56950
|
"minLength": 1
|
|
56951
56951
|
}
|
|
56952
56952
|
]
|
|
56953
|
+
},
|
|
56954
|
+
"forks": {
|
|
56955
|
+
"description": "Optional number of parallel Ansible forks (1-100). Omitted inherits any existing ANSIBLE_FORKS; the Ansible default is 5.",
|
|
56956
|
+
"oneOf": [
|
|
56957
|
+
{
|
|
56958
|
+
"type": "integer",
|
|
56959
|
+
"format": "int32",
|
|
56960
|
+
"minimum": 1,
|
|
56961
|
+
"maximum": 100
|
|
56962
|
+
},
|
|
56963
|
+
{
|
|
56964
|
+
"type": "string",
|
|
56965
|
+
"pattern": "(<\\+.+>.*)",
|
|
56966
|
+
"minLength": 1
|
|
56967
|
+
}
|
|
56968
|
+
]
|
|
56953
56969
|
}
|
|
56954
56970
|
}
|
|
56955
56971
|
}
|
|
@@ -57051,6 +57067,22 @@ const schema = {
|
|
|
57051
57067
|
"minLength": 1
|
|
57052
57068
|
}
|
|
57053
57069
|
]
|
|
57070
|
+
},
|
|
57071
|
+
"forks": {
|
|
57072
|
+
"description": "Optional number of parallel Ansible forks (1-100). Omitted inherits any existing ANSIBLE_FORKS; the Ansible default is 5.",
|
|
57073
|
+
"oneOf": [
|
|
57074
|
+
{
|
|
57075
|
+
"type": "integer",
|
|
57076
|
+
"format": "int32",
|
|
57077
|
+
"minimum": 1,
|
|
57078
|
+
"maximum": 100
|
|
57079
|
+
},
|
|
57080
|
+
{
|
|
57081
|
+
"type": "string",
|
|
57082
|
+
"pattern": "(<\\+.+>.*)",
|
|
57083
|
+
"minLength": 1
|
|
57084
|
+
}
|
|
57085
|
+
]
|
|
57054
57086
|
}
|
|
57055
57087
|
}
|
|
57056
57088
|
},
|