利用MCP服务器
线束MCP服务器是一个 模型上下文协议(MCP) 服务器,提供与Harness API的无缝集成,为开发人员和工具提供高级自动化和交互功能。
组件
工具
服务器实现了几个工具集:
管道工具集
工具集名称: 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:创建新的pull请求
存储库工具集
工具集名称: 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:列出所有可用的线束仪表板get_dashboard_data:从特定的线束仪表板检索数据
云成本管理工具集
工具集名称: cloudcostmanagement
get_ccm_overview:检索特定账户的成本概览。list_ccm_cost_categories:列出指定帐户的所有成本类别名称。list_ccm_cost_categories_detail:列出指定帐户的所有成本类别详细信息。get_ccm_cost_category:按Id检索指定帐户的成本类别详细信息。
日志工具集
工具集名称: logs
download_execution_logs:下载管道执行日志
先决条件
- 您需要在系统上安装Go 1.23或更高版本。
- 用于身份验证的Harness API密钥。
快速启动
Makefile使用情况
该项目提供了 Makefile 简化常见的开发任务。主要目标是:
make build–构建嵌入版本信息的mcp服务器二进制文件。make init–设置git钩子和子模块进行预提交检查。make dep–下载Go模块依赖项。make tools–安装构建所需的工具(如果指定了)。make format–使用goimport和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镜像:
docker run -i --rm \
-e HARNESS_API_KEY=your_api_key \
-e HARNESS_DEFAULT_ORG_ID=your_org_id \
-e HARNESS_DEFAULT_PROJECT_ID=your_project_id \
-e HARNESS_BASE_URL=your_base_url \
harness/mcp-server stdioClaude桌面配置
在MacOS上: ~/Library/Application\ Support/Claude/claude_desktop_config.json\ 在Windows上: %APPDATA%/Claude/claude_desktop_config.json
Server Configuration
{
"mcpServers": {
"harness": {
"command": "/path/to/harness-mcp-server",
"args": ["stdio"],
"env": {
"HARNESS_API_KEY": "",
"HARNESS_DEFAULT_ORG_ID": "",
"HARNESS_DEFAULT_PROJECT_ID": ""
}
}
}
}使用Claude代码
HARNESS_API_KEY=your_api_key HARNESS_ACCOUNT_ID=your_account_id HARNESS_ORG_ID=your_org_id HARNESS_PROJECT_ID=your_project_id ./cmd/harness-mcp-server/harness-mcp-server stdio与Windsurf一起使用
要将线束MCP服务器与Windsurf一起使用:
- 将服务器配置添加到Windsurf配置文件中:
使用本地二进制
{
"mcpServers": {
"harness": {
"command": "/path/to/harness-mcp-server",
"args": ["stdio"],
"env": {
"HARNESS_API_KEY": "",
"HARNESS_DEFAULT_ORG_ID": "",
"HARNESS_DEFAULT_PROJECT_ID": "",
"HARNESS_BASE_URL": ""
}
}
}
}使用Docker镜像
{
"mcpServers": {
"harness": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HARNESS_API_KEY",
"-e",
"HARNESS_DEFAULT_ORG_ID",
"-e",
"HARNESS_DEFAULT_PROJECT_ID",
"-e",
"HARNESS_BASE_URL",
"harness/mcp-server",
"stdio"
],
"env": {
"HARNESS_API_KEY": "",
"HARNESS_DEFAULT_ORG_ID": "",
"HARNESS_DEFAULT_PROJECT_ID": "",
"HARNESS_BASE_URL": ""
}
}
}
}使用Amazon Q Developer CLI
要将Harness MCP服务器与Amazon Q Developer CLI一起使用,请执行以下操作:
- 将服务器配置添加到您的Amazon Q配置文件中:
~/.aws/amazonq/mcp.json
使用本地二进制
{
"mcpServers": {
"harness": {
"command": "/path/to/harness-mcp-server",
"args": ["stdio"],
"env": {
"HARNESS_API_KEY": "",
"HARNESS_DEFAULT_ORG_ID": "",
"HARNESS_DEFAULT_PROJECT_ID": "",
"HARNESS_BASE_URL": ""
}
}
}
}光标配置
{
"mcpServers": {
"harness": {
"command": "/path/to/harness-mcp-server",
"args": ["stdio"],
"env": {
"HARNESS_API_KEY": "your_api_key",
"HARNESS_DEFAULT_ORG_ID": "your_org_id",
"HARNESS_DEFAULT_PROJECT_ID": "your_project_id",
"HARNESS_BASE_URL": ""
}
}
}
}
VS代码配置
{
"mcp": {
"servers": {
"harness": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"HARNESS_API_KEY",
"-e",
"HARNESS_DEFAULT_ORG_ID",
"-e",
"HARNESS_DEFAULT_PROJECT_ID",
"-e",
"HARNESS_BASE_URL",
"harness/mcp-server",
"stdio"
],
"env": {
"HARNESS_API_KEY": "",
"HARNESS_DEFAULT_ORG_ID": "",
"HARNESS_DEFAULT_PROJECT_ID": "",
"HARNESS_BASE_URL": ""
}
}
}
}
}
发展
命令行参数
线束MCP服务器支持以下命令行参数:
--toolsets:以逗号分隔的要启用的工具组列表(默认值:“全部”)--read-only:以只读模式运行服务器--log-file:调试日志文件的路径--log-level:设置日志记录级别(调试、信息、警告、错误)--version:显示版本信息--help:显示帮助消息--base-url:线束的基本URL(默认值:“https://app.harness.io")
环境变量
环境变量前缀为 HARNESS_:
HARNESS_API_KEY:Harness API密钥(必需)-帐户ID自动从API密钥中提取HARNESS_DEFAULT_ORG_ID:默认线束组织ID(可选,如果未指定,如果该操作需要,则需要在请求中传递)HARNESS_DEFAULT_PROJECT_ID:默认线束项目ID(可选,如果未指定,如果该操作需要,则需要在请求中传递)HARNESS_TOOLSETS:以逗号分隔的要启用的工具集列表(默认值:“全部”)HARNESS_READ_ONLY:设置为“true”以只读模式运行HARNESS_LOG_FILE:日志文件的路径HARNESS_LOG_LEVEL:设置日志记录级别(调试、信息、警告、错误)HARNESS_BASE_URL:线束的基本URL(默认值:“https://app.harness.io")
认证
服务器使用Harness API密钥进行身份验证。这可以通过以下方式设置 HARNESS_API_KEY 环境变量。
调试
由于MCP服务器在stdio上运行,调试可能具有挑战性。为了获得最佳的调试体验,我们强烈建议使用 MCP检查员.
您可以使用以下命令启动MCP检查器:
npx @modelcontextprotocol/inspector /path/to/harness-mcp-server stdio启动后,检查器将显示一个URL,您可以在浏览器中访问该URL以开始调试。
