harness-mcp
Add high-quality MCP servers to any AI harness. Start with OpenCode, extend to Claude Code, Cursor, and more.
Install
# Python (pip)
pip install harness-mcp
# Node.js (npm) — auto-installs Python deps
npm install -g harness-mcp
# Node.js (npx) — no install
npx harness-mcp list
# Single binary (no Python needed)
# Download from: https://github.com/suvenkatesh97/harness-mcp/releases
Quick Start
# See what's available
harness-mcp list
# Add a server
harness-mcp add github
# Add multiple
harness-mcp add github playwright brave-search
# Add all with a tag
harness-mcp add --tag browser
# Add with required env vars (will prompt interactively)
harness-mcp add slack
# Pass env vars for scripting
harness-mcp add slack --env SLACK_BOT_TOKEN=xoxb-your-token
# See what's configured
harness-mcp status
# Remove a server
harness-mcp remove github
Scope — Project vs Global
--scope controls where servers are written. Place it before or after the command:
# Project-scoped config (default) — ./opencode.jsonc
harness-mcp add docker
# Global config — ~/.config/opencode/opencode.json
harness-mcp --scope global add docker
# Also works after the command
harness-mcp status --scope global
Run harness-mcp status to see which config is in use.
Harness Support
| Harness | Status |
|---|---|
| OpenCode | Supported |
| Claude Code | Coming soon |
| Cursor | Coming soon |
Interactive Mode
pip install harness-mcp[interactive]
harness-mcp init
Commands
| Command | Description |
|---|---|
list |
Browse the MCP server catalog |
add <names...> |
Add servers by name or tag. Prompts for required env vars. |
remove <names...> |
Remove servers from config |
status |
Show configured MCP servers |
search <query> |
Search the catalog by name, description, or tag |
init |
Interactive selection wizard (needs [interactive]) |
All commands support --scope project|global to choose where config is written.
Global Flags
--harness- Target harness (opencode, claude, cursor). Auto-detected.--scope-project(default) orglobal--cwd- Working directory for project scope--dry-run- Preview changes without writing
Custom Catalog Entries
Add your own MCP servers without code changes:
# ~/.config/harness-mcp/catalog/my-servers.yaml
servers:
- id: my-custom-server
name: My Custom MCP Server
description: Does something useful
type: local
command:
- npx
- -y
- my-mcp-server
env_vars:
- name: API_KEY
description: Your API key
required: true
tags:
- custom
Or project-level: .harness-mcp/catalog/*.yaml
OpenCode Plugin
Use harness-mcp directly within OpenCode:
{
"plugin": ["@harness-mcp/opencode-plugin"]
}
Then ask OpenCode to use harness_mcp_list or use harness_mcp_add to add github.
Built-in Catalog
| Server | Type | Category |
|---|---|---|
| GitHub | local | git, code-review |
| Filesystem | local | files, system |
| Git | local | git, version-control |
| Playwright | local | browser, testing |
| Brave Search | local | search, web |
| Memory | local | knowledge, persistence |
| Sequential Thinking | local | reasoning |
| Fetch | local | web, http |
| Context7 | remote | docs, libraries |
| Sentry | remote | monitoring, errors |
| Grep (Vercel) | remote | code-search |
| Serena | local | code-analysis |
| PostgreSQL | local | database |
| Slack | local | communication |
| Linear | local | project-management |
| Docker | local | containers |
| Puppeteer | local | browser, automation |
| GitLab | local | git, ci-cd |
| Notion | local | docs, knowledge |
| SerpAPI | local | search, web |
Metadata
Release files for harness-mcp 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| harness_mcp-0.1.2.tar.gz | 21.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| harness_mcp-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.8 kB
Release files / harness_mcp-0.1.2.tar.gz
| Download URL | harness_mcp-0.1.2.tar.gz |
|---|---|
| Size | 21.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3b25fcd1bf1861ed627e7e2609dc9e9c18a155cfb3fec0c45a13c12f26e9a32f
|
|
BLAKE2b-256 checksum How to use checksums |
618865d3d6c7ad76075f2f9c05bbda7397a7be0a696f237fed722df0e5f186ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|
Release files / harness_mcp-0.1.2-py3-none-any.whl
| Download URL | harness_mcp-0.1.2-py3-none-any.whl |
|---|---|
| Size | 15.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e59d83cec862d24eb730d7473188bffd5022d27fa2ba408e11338076a44f3268
|
|
BLAKE2b-256 checksum How to use checksums |
43b8755971cde7af33ebe1171ca5afe362962501b467922459c4cc75481d83cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.14
|
Security for harness-mcp 0.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.