harness-mcp-v2 3.2.18 → 3.2.19
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 +4 -4
- package/build/data/schemas/v0/pipeline.d.ts.map +1 -1
- package/build/data/schemas/v0/pipeline.js +144 -4
- 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 +144 -4
- package/build/data/schemas/v0/template.js.map +1 -1
- package/build/data/schemas/v0/trigger.d.ts.map +1 -1
- package/build/data/schemas/v0/trigger.js +105 -3
- package/build/data/schemas/v0/trigger.js.map +1 -1
- package/build/registry/extractors.d.ts +39 -0
- package/build/registry/extractors.d.ts.map +1 -1
- package/build/registry/extractors.js +112 -0
- package/build/registry/extractors.js.map +1 -1
- package/build/registry/index.d.ts.map +1 -1
- package/build/registry/index.js +14 -10
- package/build/registry/index.js.map +1 -1
- package/build/registry/list-filter-utils.d.ts +8 -0
- package/build/registry/list-filter-utils.d.ts.map +1 -0
- package/build/registry/list-filter-utils.js +50 -0
- package/build/registry/list-filter-utils.js.map +1 -0
- package/build/registry/toolsets/ccm.d.ts.map +1 -1
- package/build/registry/toolsets/ccm.js +349 -6
- package/build/registry/toolsets/ccm.js.map +1 -1
- package/build/registry/toolsets/pipelines.js +1 -1
- package/build/registry/toolsets/pipelines.js.map +1 -1
- package/build/registry/toolsets/sto.d.ts.map +1 -1
- package/build/registry/toolsets/sto.js +6 -5
- package/build/registry/toolsets/sto.js.map +1 -1
- package/build/tools/harness-list.d.ts.map +1 -1
- package/build/tools/harness-list.js +2 -5
- package/build/tools/harness-list.js.map +1 -1
- package/build/utils/compact.js +1 -1
- package/build/utils/compact.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 223 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, 223 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.** 38 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.
|
|
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
|
- **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.
|
|
@@ -1202,7 +1202,7 @@ Harness pipelines can be stored in three ways:
|
|
|
1202
1202
|
|
|
1203
1203
|
## Resource Types
|
|
1204
1204
|
|
|
1205
|
-
|
|
1205
|
+
223 resource types organized across 38 toolsets. Each resource type supports a subset of CRUD operations and optional execute actions.
|
|
1206
1206
|
|
|
1207
1207
|
### Platform
|
|
1208
1208
|
|
|
@@ -1857,7 +1857,7 @@ Available toolset names:
|
|
|
1857
1857
|
+--------v---------+
|
|
1858
1858
|
| Registry | <-- Declarative resource definitions
|
|
1859
1859
|
| 38 Toolsets | (data files, not code)
|
|
1860
|
-
|
|
|
1860
|
+
| 223 Resource Types|
|
|
1861
1861
|
+--------+---------+
|
|
1862
1862
|
|
|
|
1863
1863
|
+--------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,
|
|
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,CA89vH/B,CAAC;AACF,eAAe,MAAM,CAAC"}
|
|
@@ -29255,7 +29255,8 @@ const schema = {
|
|
|
29255
29255
|
"config": {
|
|
29256
29256
|
"type": "string",
|
|
29257
29257
|
"enum": [
|
|
29258
|
-
"
|
|
29258
|
+
"hunt_full",
|
|
29259
|
+
"hunt_incremental",
|
|
29259
29260
|
"scan"
|
|
29260
29261
|
]
|
|
29261
29262
|
},
|
|
@@ -29381,7 +29382,8 @@ const schema = {
|
|
|
29381
29382
|
"config": {
|
|
29382
29383
|
"type": "string",
|
|
29383
29384
|
"enum": [
|
|
29384
|
-
"
|
|
29385
|
+
"hunt_full",
|
|
29386
|
+
"hunt_incremental",
|
|
29385
29387
|
"scan"
|
|
29386
29388
|
]
|
|
29387
29389
|
},
|
|
@@ -55662,6 +55664,18 @@ const schema = {
|
|
|
55662
55664
|
"minLength": 1
|
|
55663
55665
|
}
|
|
55664
55666
|
]
|
|
55667
|
+
},
|
|
55668
|
+
"filters": {
|
|
55669
|
+
"oneOf": [
|
|
55670
|
+
{
|
|
55671
|
+
"$ref": "#/definitions/pipeline/steps/iacm/AnsibleFilters"
|
|
55672
|
+
},
|
|
55673
|
+
{
|
|
55674
|
+
"type": "string",
|
|
55675
|
+
"pattern": "^<\\+input>((\\.)((executionInput\\(\\))|(allowedValues|default|regex)\\(.+?\\)))*$",
|
|
55676
|
+
"minLength": 1
|
|
55677
|
+
}
|
|
55678
|
+
]
|
|
55665
55679
|
}
|
|
55666
55680
|
}
|
|
55667
55681
|
}
|
|
@@ -55719,9 +55733,64 @@ const schema = {
|
|
|
55719
55733
|
"items": {
|
|
55720
55734
|
"$ref": "#/definitions/pipeline/steps/iacm/ImportCommandParameterField"
|
|
55721
55735
|
}
|
|
55736
|
+
},
|
|
55737
|
+
"filters": {
|
|
55738
|
+
"oneOf": [
|
|
55739
|
+
{
|
|
55740
|
+
"$ref": "#/definitions/pipeline/steps/iacm/AnsibleFilters"
|
|
55741
|
+
},
|
|
55742
|
+
{
|
|
55743
|
+
"type": "string",
|
|
55744
|
+
"pattern": "^<\\+input>((\\.)((executionInput\\(\\))|(allowedValues|default|regex)\\(.+?\\)))*$",
|
|
55745
|
+
"minLength": 1
|
|
55746
|
+
}
|
|
55747
|
+
]
|
|
55722
55748
|
}
|
|
55723
55749
|
}
|
|
55724
55750
|
},
|
|
55751
|
+
"AnsibleFilters": {
|
|
55752
|
+
"title": "AnsibleFilters",
|
|
55753
|
+
"type": "object",
|
|
55754
|
+
"properties": {
|
|
55755
|
+
"tags": {
|
|
55756
|
+
"description": "Only run tasks and roles carrying one of these tags.",
|
|
55757
|
+
"oneOf": [
|
|
55758
|
+
{
|
|
55759
|
+
"type": "array",
|
|
55760
|
+
"items": {
|
|
55761
|
+
"type": "string"
|
|
55762
|
+
}
|
|
55763
|
+
},
|
|
55764
|
+
{
|
|
55765
|
+
"type": "string",
|
|
55766
|
+
"pattern": "^<\\+input>((\\.)((executionInput\\(\\))|(allowedValues|default|regex)\\(.+?\\)))*$",
|
|
55767
|
+
"minLength": 1
|
|
55768
|
+
}
|
|
55769
|
+
]
|
|
55770
|
+
},
|
|
55771
|
+
"skipTags": {
|
|
55772
|
+
"description": "Skip tasks and roles carrying one of these tags. Takes precedence over tags.",
|
|
55773
|
+
"oneOf": [
|
|
55774
|
+
{
|
|
55775
|
+
"type": "array",
|
|
55776
|
+
"items": {
|
|
55777
|
+
"type": "string"
|
|
55778
|
+
}
|
|
55779
|
+
},
|
|
55780
|
+
{
|
|
55781
|
+
"type": "string",
|
|
55782
|
+
"pattern": "^<\\+input>((\\.)((executionInput\\(\\))|(allowedValues|default|regex)\\(.+?\\)))*$",
|
|
55783
|
+
"minLength": 1
|
|
55784
|
+
}
|
|
55785
|
+
]
|
|
55786
|
+
},
|
|
55787
|
+
"limit": {
|
|
55788
|
+
"description": "Restrict the run to matching hosts. A single ansible host pattern, e.g. \"web,db:!staging\".",
|
|
55789
|
+
"type": "string"
|
|
55790
|
+
}
|
|
55791
|
+
},
|
|
55792
|
+
"$schema": "http://json-schema.org/draft-07/schema#"
|
|
55793
|
+
},
|
|
55725
55794
|
"IACMRemediationAgentStepNode": {
|
|
55726
55795
|
"title": "IACMRemediationAgentStepNode",
|
|
55727
55796
|
"type": "object",
|
|
@@ -55857,6 +55926,20 @@ const schema = {
|
|
|
55857
55926
|
},
|
|
55858
55927
|
"llmConnectorRef": {
|
|
55859
55928
|
"type": "string"
|
|
55929
|
+
},
|
|
55930
|
+
"resourceAddresses": {
|
|
55931
|
+
"oneOf": [
|
|
55932
|
+
{
|
|
55933
|
+
"type": "array",
|
|
55934
|
+
"items": {
|
|
55935
|
+
"type": "string"
|
|
55936
|
+
}
|
|
55937
|
+
},
|
|
55938
|
+
{
|
|
55939
|
+
"type": "string",
|
|
55940
|
+
"pattern": "^<\\+.*>$"
|
|
55941
|
+
}
|
|
55942
|
+
]
|
|
55860
55943
|
}
|
|
55861
55944
|
}
|
|
55862
55945
|
}
|
|
@@ -55895,6 +55978,20 @@ const schema = {
|
|
|
55895
55978
|
},
|
|
55896
55979
|
"llmConnectorRef": {
|
|
55897
55980
|
"type": "string"
|
|
55981
|
+
},
|
|
55982
|
+
"resourceAddresses": {
|
|
55983
|
+
"oneOf": [
|
|
55984
|
+
{
|
|
55985
|
+
"type": "array",
|
|
55986
|
+
"items": {
|
|
55987
|
+
"type": "string"
|
|
55988
|
+
}
|
|
55989
|
+
},
|
|
55990
|
+
{
|
|
55991
|
+
"type": "string",
|
|
55992
|
+
"pattern": "^<\\+.*>$"
|
|
55993
|
+
}
|
|
55994
|
+
]
|
|
55898
55995
|
}
|
|
55899
55996
|
}
|
|
55900
55997
|
}
|
|
@@ -74928,7 +75025,8 @@ const schema = {
|
|
|
74928
75025
|
"GoogleMigInstanceTemplate",
|
|
74929
75026
|
"GoogleMigConfiguration",
|
|
74930
75027
|
"GoogleMigAutoscalerConfiguration",
|
|
74931
|
-
"GoogleMigHealthCheckConfiguration"
|
|
75028
|
+
"GoogleMigHealthCheckConfiguration",
|
|
75029
|
+
"AgentConfig"
|
|
74932
75030
|
]
|
|
74933
75031
|
},
|
|
74934
75032
|
"description": {
|
|
@@ -75448,6 +75546,22 @@ const schema = {
|
|
|
75448
75546
|
}
|
|
75449
75547
|
}
|
|
75450
75548
|
}
|
|
75549
|
+
},
|
|
75550
|
+
{
|
|
75551
|
+
"if": {
|
|
75552
|
+
"properties": {
|
|
75553
|
+
"type": {
|
|
75554
|
+
"const": "AgentConfig"
|
|
75555
|
+
}
|
|
75556
|
+
}
|
|
75557
|
+
},
|
|
75558
|
+
"then": {
|
|
75559
|
+
"properties": {
|
|
75560
|
+
"spec": {
|
|
75561
|
+
"$ref": "#/definitions/pipeline/steps/cd/AgentConfigManifest"
|
|
75562
|
+
}
|
|
75563
|
+
}
|
|
75564
|
+
}
|
|
75451
75565
|
}
|
|
75452
75566
|
]
|
|
75453
75567
|
},
|
|
@@ -75876,7 +75990,8 @@ const schema = {
|
|
|
75876
75990
|
"enum": [
|
|
75877
75991
|
"V2",
|
|
75878
75992
|
"V3",
|
|
75879
|
-
"V380"
|
|
75993
|
+
"V380",
|
|
75994
|
+
"V4"
|
|
75880
75995
|
]
|
|
75881
75996
|
},
|
|
75882
75997
|
"metadata": {
|
|
@@ -76601,6 +76716,31 @@ const schema = {
|
|
|
76601
76716
|
}
|
|
76602
76717
|
}
|
|
76603
76718
|
},
|
|
76719
|
+
"AgentConfigManifest": {
|
|
76720
|
+
"title": "AgentConfigManifest",
|
|
76721
|
+
"allOf": [
|
|
76722
|
+
{
|
|
76723
|
+
"$ref": "#/definitions/pipeline/steps/cd/ManifestAttributes"
|
|
76724
|
+
},
|
|
76725
|
+
{
|
|
76726
|
+
"type": "object",
|
|
76727
|
+
"properties": {
|
|
76728
|
+
"metadata": {
|
|
76729
|
+
"type": "string"
|
|
76730
|
+
},
|
|
76731
|
+
"store": {
|
|
76732
|
+
"$ref": "#/definitions/pipeline/steps/cd/StoreConfigWrapper"
|
|
76733
|
+
}
|
|
76734
|
+
}
|
|
76735
|
+
}
|
|
76736
|
+
],
|
|
76737
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
76738
|
+
"properties": {
|
|
76739
|
+
"description": {
|
|
76740
|
+
"desc": "This is the description for AgentConfigManifest"
|
|
76741
|
+
}
|
|
76742
|
+
}
|
|
76743
|
+
},
|
|
76604
76744
|
"ManifestSourceWrapper": {
|
|
76605
76745
|
"title": "ManifestSourceWrapper",
|
|
76606
76746
|
"type": "object",
|