sairaph/detect-harness — explained in plain English
Analysis updated 2026-07-26
Let users of your dev tool automatically install it as an MCP server in their preferred AI assistant.
Generate and apply configuration files across 13 different AI coding assistants from a single definition.
Use the library from Node.js, Python, or Rust projects via typed wrappers.
Safely update AI assistant configs while preserving existing comments and unrelated settings.
| sairaph/detect-harness | advayc/wrapped | aegrail/aegrail-engine | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | easy | hard |
| Complexity | 3/5 | 2/5 | 5/5 |
| Audience | developer | general | ops devops |
Figures from each repo's GitHub metadata at analysis time.
Requires understanding MCP server definitions and may need building companion binaries for non-Go language wrappers.
detect-harness is a Go library and command-line tool that helps developers add MCP (Model Context Protocol) server installation support to their applications. MCP is a protocol that lets AI coding assistants connect to external tools and services. The problem this project solves is that different AI coding assistants, such as Claude Desktop, Cursor, VS Code, and others, each store their server configurations in different locations and formats. detect-harness handles the work of finding which assistants are installed on a machine and generating the correct configuration for each one. The core idea is that a developer defines their server once, using a simple structure with a name, command, arguments, and environment variables. The library then detects which AI assistants are present, generates a plan showing what configuration changes will be made, and applies those changes safely. The developer's own application controls how selections are presented to the user, while detect-harness handles detection, config generation, conflict handling, and writing files safely. The project supports 13 different AI coding assistants, including Claude Desktop, Claude Code, Cursor, Codex CLI, Gemini CLI, Windsurf, Zed, Cline, Roo Code, Amazon Q, Continue, OpenCode, and VS Code. Each assistant uses a different configuration format: some use plain JSON, others use JSON with comments, TOML, or YAML. The library produces the correct format for each one while preserving existing settings and comments that are unrelated to the server being added. Beyond the Go library, the project provides typed wrappers for Node.js, Python, and Rust. These wrappers communicate with a companion binary through a simple JSON protocol, reading one request and writing one response. This means developers working in those languages can use the same detection and configuration capabilities without rewriting the logic. Safety is a major focus. The library rejects invalid configurations, oversized files, duplicate keys, and symbolic links before writing anything. It uses temporary files with restrictive permissions, rechecks plans immediately before applying them, and uses lock files to prevent concurrent edits. If something goes wrong during a multi-assistant update, partial results are reported rather than hiding failures. The full README is longer than what was shown.
A tool that helps developers add their app's configuration to AI coding assistants like Cursor or Claude Desktop. It detects which assistants are installed and writes the correct config files for each one.
Mainly Go. The stack also includes Go, Node.js, Python.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.