Harness MCP Server 是一个 模型上下文协议 (MCP) 服务器,它提供了与 Harness API 的无缝集成,使开发者和工具能够实现高级自动化和交互能力。
服务器实现了多个工具集:
默认工具集包含了来自各种服务的基本工具:
工具集名称:default
get_connector_details: 获取特定连接器的详细信息list_connector_catalogue: 列出 Harness 连接器目录list_connectors: 列出连接器并提供过滤选项list_pipelines: 列出仓库中的流水线get_pipeline: 获取特定流水线的详细信息get_execution: 获取特定流水线执行的详细信息list_executions: 列出流水线执行fetch_execution_url: 获取流水线执行的执行 URLlist_dashboards: 列出所有可用的 Harness 仪表板get_dashboard_data: 从特定的 Harness 仪表板中检索数据工具集名称:pipelines
get_pipeline: 获取特定流水线的详细信息list_pipelines: 列出仓库中的流水线get_execution: 获取特定流水线执行的详细信息list_executions: 列出流水线执行fetch_execution_url: 获取流水线执行的执行 URL工具集名称:pullrequests
get_pull_request: 获取特定拉取请求的详细信息list_pull_requests: 列出仓库中的拉取请求get_pull_request_checks: 获取特定拉取请求的状态检查get_pull_request_activities: 获取特定拉取请求的活动和评论create_pull_request: 创建新的拉取请求工具集名称:services
get_service: 获取特定服务的详细信息list_services: 列出服务工具集名称:environments
get_environment: 获取特定环境的详细信息list_environments: 列出环境move_environment_configs: 将环境 YAML 从内联移动到远程工具集名称:infrastructure
list_infrastructures: 列出基础设施定义move_infrastructure_configs: 在内联和远程之间移动基础设施 YAML工具集名称:connectors
list_connector_catalogue: 列出 Harness 连接器目录get_connector_details: 获取特定连接器的详细信息list_connectors: 列出连接器并提供过滤选项工具集名称:repositories
get_repository: 获取特定仓库的详细信息list_repositories: 列出仓库工具集名称:registries
get_registry: 获取 Harness 软件包注册表中特定注册表的详细信息list_artifact_files: 列出 Harness 软件包注册表中特定软件包版本的文件list_artifact_versions: 列出 Harness 软件包注册表中的软件包版本list_artifacts: 列出 Harness 软件包注册表中的软件包list_registries: 列出 Harness 软件包注册表中的注册表工具集名称:dashboards
list_dashboards: 列出所有可用的 Harness 仪表板get_dashboard_data: 从特定的 Harness 仪表板中检索数据工具集名称:ccm
get_ccm_overview: 获取特定账户的成本概览。list_ccm_cost_categories: 列出指定账户的所有成本类别名称。list_ccm_cost_categories_detail: 列出指定账户的所有成本类别详细信息。get_ccm_cost_category: 根据 Id 获取指定账户的成本类别详细信息。list_ccm_perspectives_detail: 列出指定账户的所有视角。get_ccm_perspective: 根据 Id 获取指定账户的视角。get_last_period_cost_ccm_perspective: 获取指定账户内给定期间和视角的成本。get_last_twelve_months_cost_ccm_perspective: 获取指定账户内过去 12 个月的每月成本细分。create_ccm_perspective: 为指定账户创建视角。update_ccm_perspective: 更新指定账户的视角。delete_ccm_perspective: 删除指定账户的视角。ccm_perspective_grid: 查询 Harness 云成本管理中的详细成本视角数据。ccm_perspective_time_series: 查询 Harness 云成本管理中的详细成本视角数据,并按时间分组。ccm_perspective_summary_with_budget: 查询 Harness 云成本管理中的成本视角摘要,包括按时间分组的详细成本和预算数据。get_ccm_metadata: 获取关于可用云连接器、成本数据源、默认视角和货币偏好的元数据。ccm_perspective_recommendations: 返回每月成本、节省额以及 Harness 云成本管理中特定视角的开放建议列表。ccm_perspective_filter_values: 返回成本视角的有效过滤值,允许在 Harness 云成本管理中动态发现高级查询的有效选项。list_ccm_recommendations: 返回 Harness 云成本管理中的可筛选成本优化建议列表。list_ccm_recommendations_by_resource_type: 返回给定账户内按资源类型聚合的云成本优化建议统计信息。get_ccm_recommendations_stats: 返回给定账户内的云成本优化建议总体统计信息。update_ccm_recommendation_state: 在 Harness 云成本管理中标记建议为已应用/打开/忽略。override_ccm_recommendation_savings: 在 Harness 云成本管理中覆盖建议的节省金额。create_jira_ticket_for_ccm_recommendation: 为 Harness 云成本管理中的建议创建 Jira 工单。create_service_now_ticket_for_ccm_recommendation: 为 Harness 云成本管理中的建议创建 Service Now 工单。get_ec2_recommendation_detail: 返回给定建议标识符的 ECS 建议详细信息。get_azure_vm_recommendation_detail: 返回给定建议标识符的 Azure VM 建议详细信息。get_ecs_service_recommendation_detail: 返回给定建议标识符的 ECS 服务建议详细信息。get_node_pool_recommendation_detail: 返回给定建议标识符的节点池建议详细信息。get_workload_recommendation_detail: 返回给定建议标识符的工作负载建议详细信息。list_jira_projects: 返回可用于为 Harness 云成本管理中的建议创建工单的 Jira 项目列表。list_jira_issue_types: 返回可用于为 Harness 云成本管理中的建议创建工单的 Jira 问题类型列表。get_ccm_anomalies_summary: 返回指定账户的成本异常摘要。list_ccm_anomalies: 返回指定账户的成本异常列表。list_ccm_ignored_anomalies: 返回指定账户的忽略成本异常列表。get_ccm_anomalies_for_perspective: 返回指定视角和账户的成本异常。list_all_ccm_anomalies: 返回指定账户的所有成本异常列表。list_filter_values_ccm_anomalies: 返回指定账户内所有指定异常的唯一值列表。report_ccm_anomaly_feedback: 报告指定账户内异常的反馈。get_ccm_commitment_coverage: 获取账户的承诺覆盖率信息。get_ccm_commitment_savings: 获取账户的承诺节省信息。get_ccm_commitment_utilisation: 获取账户的承诺利用率信息,按预留实例和节省计划逐日细分。get_ccm_estimated_savings: 获取云账户的估算节省信息。get_ccm_commitment_ec2_analysis: 获取账户的 AWS EC2 承诺分析,包括预留实例/节省计划支出、利用率细分、当前节省、年度化估算节省和 ESR。工具集名称:dbops
get_database_schema_info: 获取数据库模式的元数据,包括其标识符、实例标识符和数据库类型。工具集名称:chaos
chaos_experiments_list: 列出所有匹配范围和过滤器的混沌实验。chaos_experiment_describe: 获取特定混沌实验的详细信息。chaos_experiment_run: 运行特定的混沌实验。chaos_experiment_run_result: 获取特定混沌实验运行的结果。chaos_probes_list: 列出所有匹配范围和过滤器的混沌探测。chaos_probe_describe: 获取特定混沌探测的详细信息。chaos_create_experiment_from_template: 从模板创建新的混沌实验。chaos_experiment_template_list: 列出所有匹配范围和过滤器的混沌实验模板。chaos_experiment_variables_list: 列出特定混沌实验的所有变量。工具集名称:scs
list_artifact_sources: 列出特定组织和项目中 Harness SCS 中的所有软件包来源。list_artifacts_per_source: 列出特定软件包来源中的所有软件包。get_artifact_overview: 获取特定软件包的元数据、安全发现、SBOM 和合规状态。get_artifact_chain_of_custody: 获取特定软件包的完整保管链(事件历史)。fetch_compliance_results_by_artifact: 获取特定软件包的合规结果。get_code_repository_overview: 获取代码存储库的漏洞、SBOM、合规问题和策略违规概述。list_scs_code_repos: 列出 Harness SCS 扫描的所有代码存储库。工具集名称:sto
get_all_security_issues: 列出并筛选 Harness STO 中的安全问题,按目标、流水线、工具、严重性、豁免状态和类型进行筛选。global_exemptions: 列出 Harness STO 中的所有全局豁免。promote_exemption: 将特定豁免提升为全局豁免。approve_exemption: 批准特定豁免。工具集名称:logs
download_execution_logs: 下载流水线执行的日志工具集名称:templates
list_templates: 列出给定范围内的模板intelligent_template_search: 根据自然语言描述找到最相关的模板。工具集名称:idp
get_entity: 获取 Harness IDP 目录中特定实体的详细信息list_entities: 列出 Harness 内部开发者门户目录中的实体get_scorecard: 获取 Harness IDP 目录中特定实体的详细信息list_scorecards: 列出 Harness 内部开发者门户目录中的评分卡get_score_summary: 获取 Harness 内部开发者门户目录中评分卡的评分摘要。get_scores: 获取 Harness 内部开发者门户目录中评分卡的评分。工具集名称:audit
list_user_audits: 获取指定用户的完整审计跟踪。工具集名称:fme
list_fme_workspaces: 列出所有 FME 工作区list_fme_environments: 列出特定工作区的环境list_fme_feature_flags: 列出特定工作区的特性标志get_fme_feature_flag_definition: 获取特定环境中的特定特性标志定义此项目提供了一个 Makefile 来简化常见的开发任务。主要目标如下:
make build – 构建带有嵌入版本信息的 mcp-server 二进制文件。make init – 设置 git 钩子和子模块以进行预提交检查。make dep – 下载 Go 模块依赖项。make tools – 安装构建所需的工具(如果有指定)。make format – 使用 goimports 和 gci 格式化 Go 代码。您可以在项目根目录下运行这些命令中的任何一个。例如:
make build
make format
git clone https://github.com/harness/mcp-server.git
cd mcp-server
go build -o cmd/harness-mcp-server/harness-mcp-server ./cmd/harness-mcp-server
HARNESS_API_KEY=your_api_key HARNESS_DEFAULT_ORG_ID=your_org_id HARNESS_DEFAULT_PROJECT_ID=your_project_id ./cmd/harness-mcp-server/harness-mcp-server stdio
或者,您可以使用预构建的 Docker 镜像:
docker run -i --rm \
-e HARNESS_API_KEY=your_api_key \
-e HARNESS_BASE_URL=your_base_url \
-e HARNESS_LOG_FILE=harness-mcp.log \
harness/mcp-server stdio
可选环境变量:
要作为 HTTP 服务器本地运行 MCP 服务器,必须设置以下环境变量:
使用以下命令构建 Docker 镜像:
docker build -t harness-mcp-server .
运行 Docker 镜像:
docker run -p 8080:8080 -e HARNESS_BASE_URL=https://app.harness.io -e HARNESS_API_KEY=<PAT> -e HARNESS_LOG_FILE=harness-mcp.log harness-mcp-server http-server