harness-mcp-v2 3.2.12 → 3.2.15

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.
Files changed (64) hide show
  1. package/README.md +6 -6
  2. package/build/data/schemas/v0/pipeline.d.ts.map +1 -1
  3. package/build/data/schemas/v0/pipeline.js +193 -1
  4. package/build/data/schemas/v0/pipeline.js.map +1 -1
  5. package/build/data/schemas/v0/template.d.ts.map +1 -1
  6. package/build/data/schemas/v0/template.js +326 -1
  7. package/build/data/schemas/v0/template.js.map +1 -1
  8. package/build/data/schemas/v0/trigger.d.ts.map +1 -1
  9. package/build/data/schemas/v0/trigger.js +67 -1
  10. package/build/data/schemas/v0/trigger.js.map +1 -1
  11. package/build/data/schemas/v1/pipeline.d.ts.map +1 -1
  12. package/build/data/schemas/v1/pipeline.js +63 -7
  13. package/build/data/schemas/v1/pipeline.js.map +1 -1
  14. package/build/data/schemas/v1/template.d.ts.map +1 -1
  15. package/build/data/schemas/v1/template.js +63 -7
  16. package/build/data/schemas/v1/template.js.map +1 -1
  17. package/build/prompts/business-value-review.d.ts +3 -0
  18. package/build/prompts/business-value-review.d.ts.map +1 -0
  19. package/build/prompts/business-value-review.js +170 -0
  20. package/build/prompts/business-value-review.js.map +1 -0
  21. package/build/prompts/debug-pipeline.d.ts.map +1 -1
  22. package/build/prompts/debug-pipeline.js +31 -23
  23. package/build/prompts/debug-pipeline.js.map +1 -1
  24. package/build/prompts/index.d.ts.map +1 -1
  25. package/build/prompts/index.js +2 -0
  26. package/build/prompts/index.js.map +1 -1
  27. package/build/prompts/summarize-pipeline.d.ts.map +1 -1
  28. package/build/prompts/summarize-pipeline.js +64 -31
  29. package/build/prompts/summarize-pipeline.js.map +1 -1
  30. package/build/registry/toolsets/ccm.d.ts.map +1 -1
  31. package/build/registry/toolsets/ccm.js +51 -9
  32. package/build/registry/toolsets/ccm.js.map +1 -1
  33. package/build/registry/toolsets/dbops.d.ts.map +1 -1
  34. package/build/registry/toolsets/dbops.js +45 -0
  35. package/build/registry/toolsets/dbops.js.map +1 -1
  36. package/build/registry/toolsets/infrastructure.d.ts.map +1 -1
  37. package/build/registry/toolsets/infrastructure.js +43 -6
  38. package/build/registry/toolsets/infrastructure.js.map +1 -1
  39. package/build/tools/diagnose/pipeline.d.ts.map +1 -1
  40. package/build/tools/diagnose/pipeline.js +99 -0
  41. package/build/tools/diagnose/pipeline.js.map +1 -1
  42. package/build/tools/entity-schema/cache-keys.d.ts +2 -0
  43. package/build/tools/entity-schema/cache-keys.d.ts.map +1 -1
  44. package/build/tools/entity-schema/cache-keys.js +3 -0
  45. package/build/tools/entity-schema/cache-keys.js.map +1 -1
  46. package/build/tools/entity-schema/live.d.ts +8 -0
  47. package/build/tools/entity-schema/live.d.ts.map +1 -1
  48. package/build/tools/entity-schema/live.js +32 -5
  49. package/build/tools/entity-schema/live.js.map +1 -1
  50. package/build/tools/entity-schema/types.d.ts +2 -0
  51. package/build/tools/entity-schema/types.d.ts.map +1 -1
  52. package/build/tools/harness-diagnose.js +1 -1
  53. package/build/tools/harness-diagnose.js.map +1 -1
  54. package/build/tools/harness-schema.d.ts.map +1 -1
  55. package/build/tools/harness-schema.js +7 -0
  56. package/build/tools/harness-schema.js.map +1 -1
  57. package/build/utils/body-normalizer.d.ts +25 -0
  58. package/build/utils/body-normalizer.d.ts.map +1 -1
  59. package/build/utils/body-normalizer.js +45 -3
  60. package/build/utils/body-normalizer.js.map +1 -1
  61. package/npm-shrinkwrap.json +2331 -0
  62. package/package.json +10 -3
  63. package/scripts/adm-zip-security-lib.mjs +216 -0
  64. package/scripts/ensure-secure-adm-zip.mjs +41 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  ## Harness MCP Server 2.0
2
2
 
3
- An MCP (Model Context Protocol) server that gives AI agents full access to the Harness.io platform through 11 consolidated tools and 214 resource types.
3
+ An MCP (Model Context Protocol) server that gives AI agents full access to the Harness.io platform through 11 consolidated tools and 215 resource types.
4
4
 
5
5
  ## Why Use This MCP Server
6
6
 
@@ -8,10 +8,10 @@ Most MCP servers map one tool per API endpoint. For a platform as broad as Harne
8
8
 
9
9
  This server is built differently:
10
10
 
11
- - **11 tools, 214 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.
11
+ - **11 tools, 215 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.
12
12
  - **Full platform coverage.** 37 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, Governance, Service Overrides, Knowledge Graph, and more. Opt-in Ansible coverage is available when you need inventory and playbook data.
13
13
  - **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.
14
- - **33 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.
14
+ - **34 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.
15
15
  - **Works everywhere.** Stdio transport for local clients (Claude Desktop, Cursor, Devin Desktop), HTTP transport for remote/shared deployments, Docker and Kubernetes ready.
16
16
  - **Zero-config start.** Just provide a Harness API key. Account ID is auto-extracted from PAT and SAT tokens, org/project defaults are optional, and toolset filtering lets you expose only what you need.
17
17
  - **Extensible by design.** Adding a new Harness resource means adding a declarative data file — no new tool registration, no schema changes, no prompt updates.
@@ -1197,7 +1197,7 @@ Harness pipelines can be stored in three ways:
1197
1197
 
1198
1198
  ## Resource Types
1199
1199
 
1200
- 214 resource types organized across 37 toolsets. Each resource type supports a subset of CRUD operations and optional execute actions.
1200
+ 215 resource types organized across 37 toolsets. Each resource type supports a subset of CRUD operations and optional execute actions.
1201
1201
 
1202
1202
  ### Platform
1203
1203
 
@@ -1673,7 +1673,7 @@ Security exemption execute workflow:
1673
1673
  | ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
1674
1674
  | `build-deploy-app` | End-to-end CI/CD workflow: scan a git repo, generate CI pipeline (build & push Docker image), discover or generate K8s manifests, create CD pipeline, and deploy — with auto-retry on CI failures (up to 5 attempts) and CD failures (up to 3 attempts with user permission). On exhausted retries, provides Harness UI deep links to all created resources for manual investigation. | `repoUrl` (required), `imageName` (required), `projectId` (optional), `namespace` (optional) |
1675
1675
  | `debug-pipeline-failure` | Analyze a failed execution: accepts an execution ID, pipeline ID, or Harness URL. Gets stage/step breakdown, failure details, delegate info, and failed step logs via `harness_diagnose`, then provides root cause analysis and suggested fixes. Automatically follows chained pipeline failures. | `executionId` (optional), `projectId` (optional) |
1676
- | `summarize-pipeline` | Summarize an entire pipeline execution all steps, statuses, durations, and logs (not just failures). Uses `harness_diagnose` with `include_logs: true` for the full stage/step tree and selectively fetches additional logs for slowest and key output steps. Provides execution overview, step table, and optimization observations. | `executionId` (optional), `projectId` (optional) |
1676
+ | `pipeline_summarizer` | Fetch and summarize ALL step logs from a pipeline execution. Uses `harness_diagnose` with `include_logs: true, include_all_step_logs: true` to get every step's log, then presents a table with Step Name, Status, Duration, and What Happened (log-based summary). Does NOT skip any steps. | `executionId` (optional), `projectId` (optional) |
1677
1677
  | `create-pipeline` | Generate a new pipeline YAML from natural language requirements, reviewing existing resources for context | `description` (required), `projectId` (optional) |
1678
1678
  | `create-agent` | Interactively build a Harness AI agent — check existing agents, gather requirements, generate agent YAML spec using the agent-pipeline schema, confirm with user, then create or update via `harness_create`/`harness_update` | `agent_name` (required), `task_description` (required), `org_id` (optional), `project_id` (optional) |
1679
1679
  | `onboard-service` | Walk through onboarding a new service with environments and a deployment pipeline | `serviceName` (required), `projectId` (optional) |
@@ -1837,7 +1837,7 @@ Available toolset names:
1837
1837
  +--------v---------+
1838
1838
  | Registry | <-- Declarative resource definitions
1839
1839
  | 37 Toolsets | (data files, not code)
1840
- | 214 Resource Types|
1840
+ | 215 Resource Types|
1841
1841
  +--------+---------+
1842
1842
  |
1843
1843
  +--------v---------+
@@ -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,CAsjuH/B,CAAC;AACF,eAAe,MAAM,CAAC"}
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,CAsvuH/B,CAAC;AACF,eAAe,MAAM,CAAC"}
@@ -187,6 +187,9 @@ const schema = {
187
187
  "templateInputs": {
188
188
  "$ref": "#/definitions/pipeline/common/JsonNode"
189
189
  },
190
+ "templateOverrides": {
191
+ "$ref": "#/definitions/pipeline/common/JsonNode"
192
+ },
190
193
  "templateRef": {
191
194
  "type": "string"
192
195
  },
@@ -35109,6 +35112,157 @@ const schema = {
35109
35112
  }
35110
35113
  ]
35111
35114
  },
35115
+ "DeployAttestationStepNode": {
35116
+ "title": "DeployAttestationStepNode",
35117
+ "type": "object",
35118
+ "required": [
35119
+ "identifier",
35120
+ "name",
35121
+ "spec"
35122
+ ],
35123
+ "properties": {
35124
+ "description": {
35125
+ "type": "string",
35126
+ "desc": "This is the description for DeployAttestationStepNode"
35127
+ },
35128
+ "enforce": {
35129
+ "$ref": "#/definitions/pipeline/common/PolicyConfig"
35130
+ },
35131
+ "failureStrategies": {
35132
+ "oneOf": [
35133
+ {
35134
+ "type": "array",
35135
+ "items": {
35136
+ "$ref": "#/definitions/pipeline/common/FailureStrategyConfig"
35137
+ }
35138
+ },
35139
+ {
35140
+ "type": "string",
35141
+ "pattern": "^<\\+input>$",
35142
+ "minLength": 1
35143
+ }
35144
+ ]
35145
+ },
35146
+ "identifier": {
35147
+ "type": "string",
35148
+ "pattern": "^[a-zA-Z_][0-9a-zA-Z_]{0,127}$"
35149
+ },
35150
+ "name": {
35151
+ "type": "string",
35152
+ "pattern": "^[a-zA-Z_0-9-.][-0-9a-zA-Z_\\s.]{0,127}$"
35153
+ },
35154
+ "strategy": {
35155
+ "oneOf": [
35156
+ {
35157
+ "$ref": "#/definitions/pipeline/common/StrategyConfig"
35158
+ },
35159
+ {
35160
+ "type": "string",
35161
+ "pattern": "^<\\+input>$",
35162
+ "minLength": 1
35163
+ }
35164
+ ]
35165
+ },
35166
+ "timeout": {
35167
+ "type": "string",
35168
+ "pattern": "^(([1-9])+\\d+[s])|(((([1-9])+\\d*[mhwd])+([\\s]?\\d+[smhwd])*)|(.*<\\+.*>(?!.*\\.executionInput\\(\\)).*)|(^$))$"
35169
+ },
35170
+ "type": {
35171
+ "type": "string",
35172
+ "enum": [
35173
+ "DeployAttestation"
35174
+ ]
35175
+ },
35176
+ "when": {
35177
+ "oneOf": [
35178
+ {
35179
+ "$ref": "#/definitions/pipeline/common/StepWhenCondition"
35180
+ },
35181
+ {
35182
+ "type": "string",
35183
+ "pattern": "^<\\+input>$",
35184
+ "minLength": 1
35185
+ }
35186
+ ]
35187
+ }
35188
+ },
35189
+ "$schema": "http://json-schema.org/draft-07/schema#",
35190
+ "allOf": [
35191
+ {
35192
+ "if": {
35193
+ "properties": {
35194
+ "type": {
35195
+ "const": "DeployAttestation"
35196
+ }
35197
+ }
35198
+ },
35199
+ "then": {
35200
+ "properties": {
35201
+ "spec": {
35202
+ "$ref": "#/definitions/pipeline/steps/common/DeployAttestationStepInfo"
35203
+ }
35204
+ }
35205
+ }
35206
+ }
35207
+ ]
35208
+ },
35209
+ "DeployAttestationStepInfo": {
35210
+ "title": "DeployAttestationStepInfo",
35211
+ "allOf": [
35212
+ {
35213
+ "$ref": "#/definitions/pipeline/common/StepSpecType"
35214
+ },
35215
+ {
35216
+ "type": "object",
35217
+ "required": [
35218
+ "deployStepRef",
35219
+ "oidcProvider"
35220
+ ],
35221
+ "properties": {
35222
+ "description": {
35223
+ "desc": "This is the description for DeployAttestationStepInfo"
35224
+ },
35225
+ "deployStepRef": {
35226
+ "type": "string"
35227
+ },
35228
+ "oidcProvider": {
35229
+ "oneOf": [
35230
+ {
35231
+ "type": "string",
35232
+ "enum": [
35233
+ "harness",
35234
+ "non-harness"
35235
+ ]
35236
+ },
35237
+ {
35238
+ "type": "string",
35239
+ "pattern": "(<\\+.+>.*)",
35240
+ "minLength": 1
35241
+ }
35242
+ ]
35243
+ },
35244
+ "resources": {
35245
+ "$ref": "#/definitions/pipeline/common/ContainerResource"
35246
+ },
35247
+ "overrideConnectorRef": {
35248
+ "type": "string"
35249
+ },
35250
+ "imageTag": {
35251
+ "type": "string"
35252
+ },
35253
+ "settings": {
35254
+ "type": "object"
35255
+ }
35256
+ }
35257
+ }
35258
+ ],
35259
+ "$schema": "http://json-schema.org/draft-07/schema#",
35260
+ "type": "object",
35261
+ "required": [
35262
+ "deployStepRef",
35263
+ "oidcProvider"
35264
+ ]
35265
+ },
35112
35266
  "DBApplySchemaStepNode": {
35113
35267
  "title": "DBApplySchemaStepNode",
35114
35268
  "type": "object",
@@ -55124,6 +55278,9 @@ const schema = {
55124
55278
  },
55125
55279
  "instructions": {
55126
55280
  "type": "string"
55281
+ },
55282
+ "llmConnectorRef": {
55283
+ "type": "string"
55127
55284
  }
55128
55285
  }
55129
55286
  }
@@ -55159,6 +55316,9 @@ const schema = {
55159
55316
  },
55160
55317
  "instructions": {
55161
55318
  "type": "string"
55319
+ },
55320
+ "llmConnectorRef": {
55321
+ "type": "string"
55162
55322
  }
55163
55323
  }
55164
55324
  }
@@ -83460,6 +83620,18 @@ const schema = {
83460
83620
  }
83461
83621
  ]
83462
83622
  },
83623
+ "ignoreMissingValues": {
83624
+ "oneOf": [
83625
+ {
83626
+ "type": "boolean"
83627
+ },
83628
+ {
83629
+ "type": "string",
83630
+ "pattern": "(<\\+.+>.*)",
83631
+ "minLength": 1
83632
+ }
83633
+ ]
83634
+ },
83463
83635
  "skipPipelineVariables": {
83464
83636
  "oneOf": [
83465
83637
  {
@@ -100082,6 +100254,15 @@ const schema = {
100082
100254
  }
100083
100255
  ]
100084
100256
  },
100257
+ "serviceReferences": {
100258
+ "description": "Chaos services linked to the templated load test run (template mode). At least one service reference is required.",
100259
+ "type": "array",
100260
+ "minItems": 1,
100261
+ "items": {
100262
+ "type": "string",
100263
+ "minLength": 1
100264
+ }
100265
+ },
100085
100266
  "inputs": {
100086
100267
  "description": "Values for the load test's runtime inputs (entries the selected load test marks as <+input>). Each entry is a name/value pair; value may be fixed or a pipeline expression/runtime input.",
100087
100268
  "oneOf": [
@@ -100141,7 +100322,8 @@ const schema = {
100141
100322
  "identifier",
100142
100323
  "revision",
100143
100324
  "infraReference",
100144
- "environmentReference"
100325
+ "environmentReference",
100326
+ "serviceReferences"
100145
100327
  ]
100146
100328
  },
100147
100329
  "else": {
@@ -100936,6 +101118,7 @@ const schema = {
100936
101118
  "type": "string",
100937
101119
  "enum": [
100938
101120
  "deploymentStartTime",
101121
+ "customVerificationStartTime",
100939
101122
  "dataCollectionDuration"
100940
101123
  ]
100941
101124
  },
@@ -107829,6 +108012,9 @@ const schema = {
107829
108012
  {
107830
108013
  "$ref": "#/definitions/pipeline/steps/common/EnforceAttestationStepNode"
107831
108014
  },
108015
+ {
108016
+ "$ref": "#/definitions/pipeline/steps/common/DeployAttestationStepNode"
108017
+ },
107832
108018
  {
107833
108019
  "$ref": "#/definitions/pipeline/steps/common/DBApplySchemaStepNode"
107834
108020
  },
@@ -116993,6 +117179,9 @@ const schema = {
116993
117179
  {
116994
117180
  "$ref": "#/definitions/pipeline/steps/common/SscaPrAttestationStepNode"
116995
117181
  },
117182
+ {
117183
+ "$ref": "#/definitions/pipeline/steps/common/DeployAttestationStepNode"
117184
+ },
116996
117185
  {
116997
117186
  "$ref": "#/definitions/pipeline/steps/common/SscaJunitAttestationStepNode"
116998
117187
  },
@@ -117759,6 +117948,9 @@ const schema = {
117759
117948
  {
117760
117949
  "$ref": "#/definitions/pipeline/steps/common/SscaPrAttestationStepNode"
117761
117950
  },
117951
+ {
117952
+ "$ref": "#/definitions/pipeline/steps/common/DeployAttestationStepNode"
117953
+ },
117762
117954
  {
117763
117955
  "$ref": "#/definitions/pipeline/steps/common/SscaJunitAttestationStepNode"
117764
117956
  },