MCP ExplorerExplorer

Harness Mcp

@vistaarjunejaon a year ago
1 MIT
FreeCommunity
AI Systems
POC for harness mcp

Overview

What is Harness Mcp

Harness MCP is a Model Context Protocol (MCP) server that facilitates integration with Harness APIs, providing advanced automation and interaction capabilities for developers and tools.

Use cases

Use cases include automating deployment processes, integrating various tools through connectors, and enhancing developer workflows with seamless API interactions.

How to use

To use Harness MCP, clone the repository, build the binary using Go, and run the server with your Harness API key. You can also configure it for use with Claude Desktop.

Key features

Key features include the ability to list available connectors, support for command line arguments, environment variable configuration, and options for running in read-only mode or enabling command logging.

Where to use

Harness MCP can be used in software development environments where integration with Harness APIs is needed for automation and tool interaction.

Content

Harness MCP Server

The Harness MCP Server is a Model Context Protocol (MCP) server that provides seamless integration with Harness APIs, enabling advanced automation and interaction capabilities for developers and tools.

Components

Tools

The server implements several toolsets:

Pipelines Toolset

  • get_pipeline: Get details of a specific pipeline
  • list_pipelines: List pipelines in a repository
  • get_execution: Get details of a specific pipeline execution
  • list_executions: List pipeline executions
  • fetch_execution_url: Fetch the execution URL for a pipeline execution

Pull Requests Toolset

  • get_pull_request: Get details of a specific pull request
  • list_pull_requests: List pull requests in a repository
  • get_pull_request_checks: Get status checks for a specific pull request
  • create_pull_request: Create a new pull request

Repositories Toolset

  • get_repository: Get details of a specific repository
  • list_repositories: List repositories

Logs Toolset

  • download_execution_logs: Download logs for a pipeline execution

Prerequisites

  1. You will need to have Go 1.23 or later installed on your system.
  2. A Harness API key for authentication.

Quickstart

Build from source

  1. Clone the repository:
git clone https://github.com/vistaarjuneja/harness-mcp.git
cd harness-mcp
  1. Build the binary:
go build -o cmd/harness-mcp-server/harness-mcp-server ./cmd/harness-mcp-server
  1. Run the server:
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

Claude Desktop Configuration

On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json

Server Configuration
{
  "mcpServers": {
    "harness": {
      "command": "/path/to/harness-mcp-server",
      "args": [
        "stdio"
      ],
      "env": {
        "HARNESS_API_KEY": "<YOUR_API_KEY>",
        "HARNESS_ACCOUNT_ID": "<YOUR_ACCOUNT_ID>",
        "HARNESS_ORG_ID": "<YOUR_ORG_ID>",
        "HARNESS_PROJECT_ID": "<YOUR_PROJECT_ID>"
      }
    }
  }
}

Usage with Claude Code

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

Usage with Windsurf

To use the Harness MCP Server with Windsurf:

  1. Add the server configuration to your Windsurf config file:

Development

Command Line Arguments

The Harness MCP Server supports the following command line arguments:

  • --toolsets: Comma-separated list of tool groups to enable (default: “all”)
  • --read-only: Run the server in read-only mode
  • --log-file: Path to log file for debugging
  • --log-level: Set the logging level (debug, info, warn, error)
  • --version: Show version information
  • --help: Show help message
  • --base-url: Base URL for Harness (default: “https://app.harness.io”)

Environment Variables

Environment variables are prefixed with HARNESS_:

  • HARNESS_API_KEY: Harness API key (required)
  • HARNESS_ACCOUNT_ID: Harness account ID (required)
  • HARNESS_ORG_ID: Harness organization ID (optional, but required for some operations)
  • HARNESS_PROJECT_ID: Harness project ID (optional, but required for some operations)
  • HARNESS_TOOLSETS: Comma-separated list of toolsets to enable (default: “all”)
  • HARNESS_READ_ONLY: Set to “true” to run in read-only mode
  • HARNESS_LOG_FILE: Path to log file
  • HARNESS_LOG_LEVEL: Set the logging level (debug, info, warn, error)
  • HARNESS_BASE_URL: Base URL for Harness (default: “https://app.harness.io”)

Authentication

The server uses a Harness API key for authentication. This can be set via the HARNESS_API_KEY environment variable.

Debugging

Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.

You can launch the MCP Inspector with this command:

npx @modelcontextprotocol/inspector /path/to/harness-mcp-server stdio

Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.

To do

Add Docker image for easier use

Tools

No tools

Comments

Recommend MCP Servers

View All MCP Servers