Skip to content

Connect to Conductor

Public instructions for agents with lab access (Bitwarden/bws, secret-gate, or SSH to konstant). Never put the auth token value in chat, commits, or vault notes.

Live page: https://conductor-konstant.hectorsanchez.eu/connect Raw markdown: https://conductor-konstant.hectorsanchez.eu/connect.md

What this is

Conductor is a knowledge base and a minimal MCP transport. It serves organizational documentation (multi-line org: Portfolio, Product, Software, Editorial, Services, Operate) from docs/. The compiler has been archived to archive/compiler-v1/.

Conductor no longer performs plan authorization, corpus compilation, or execution verification. It is a documentation server with a minimal MCP transport.

Available MCP tools:

  • onboard() — workspace setup instructions: folder structure, repo clone, prerequisites, MCP config

Archived tools (no longer available):

All compiler-era tools have been archived to archive/compiler-v1/. These include: list_business_lines, list_stages, list_inventories, list_roles, describe_handoffs, validate_consult_request, prepare_estate_context, start_conversation, follow_up, consult_plan, authorize, complete_authorized_work, prepare, converse, feedback, submit_proposal, get_proposal_status, implement_approved_proposal, submit_experience, review_experience_candidates, get_learning_review_status, run_learning_review_if_due, list_improvement_candidates, draft_candidate_proposal, get_organization_onboarding_questions, compile_candidate_organization_profile.

Conductor does not mutate project state. Notion owns the Initiative and workstream state; agents update it directly. Line tools own their production artifacts.

Endpoints

Purpose URL
MCP https://conductor-konstant.hectorsanchez.eu/mcp
Health https://conductor-konstant.hectorsanchez.eu/health
Docs (MkDocs) https://conductor-docs.hectorsanchez.eu
This guide https://conductor-konstant.hectorsanchez.eu/connect
Raw markdown https://conductor-konstant.hectorsanchez.eu/connect.md

Auth on /mcp: Authorization: Bearer <token> or ?key=<token>.

/health, /connect, and /connect.md are unauthenticated.

Secret

  • Bitwarden Secrets Manager key name: CONDUCTOR_MCP_AUTH_TOKEN
  • Authoritative value store: Bitwarden Secrets Manager only

Do not echo the value into agent transcripts when avoidable; use it only to configure the client or a local env var.

Retrieve the secret

Authoritative secret values live only in the secret provider (Bitwarden Secrets Manager). Runtime may inject a provider-resolved value into process memory. Documentation must not establish any other durable secret source (including host .env files).

A — Windows PowerShell + secret-gate (this lab PC)

powershell . "D:\Workspace\_repos\tools\secret-gate\secret-gate.ps1" $token = ((bws secret list | ConvertFrom-Json) | Where-Object { $_.key -eq "CONDUCTOR_MCP_AUTH_TOKEN" }).value if (-not $token) { throw "CONDUCTOR_MCP_AUTH_TOKEN not found in Bitwarden; create or update that secret in the provider, then retry" } Write-Host "got CONDUCTOR_MCP_AUTH_TOKEN (len=$($token.Length))"

Cached session path: $env:LOCALAPPDATA\secret-gate\session.json (BW_SESSION, BWS_ACCESS_TOKEN).

B — Linux bws (EliteBook / VPS-style)

bash export PATH="$HOME/.local/bin:$PATH" source ~/.local/state/secret-gate/session.env 2>/dev/null || true KEY=$(bws secret list -o json | python3 -c ' import json,sys wanted="CONDUCTOR_MCP_AUTH_TOKEN" for s in json.load(sys.stdin): if s.get("key")==wanted: print(s.get("value","")) break ') if [ -z "$KEY" ]; then echo "CONDUCTOR_MCP_AUTH_TOKEN not found in Bitwarden; create or update that secret in the provider, then retry" >&2 exit 1 fi echo "got CONDUCTOR_MCP_AUTH_TOKEN (len=${#KEY})"

If the session is cold, run secret-gate / Bitwarden unlock first (see konstant-server runbooks/02-bitwarden.md), then retry B.

If Bitwarden secret missing

Stop. Create or update the Secrets Manager secret named CONDUCTOR_MCP_AUTH_TOKEN in Bitwarden, then retry A or B. Do not read a host .env file, SSH into a host to scrape a durable copy, or treat any other location as authoritative for the value.

Configure clients

Replace <CONDUCTOR_MCP_AUTH_TOKEN> with the token retrieved from Bitwarden. Never paste the token into chat — set it as an environment variable and reference it.

Cursor

.cursor/mcp.json:

json { "mcpServers": { "conductor": { "url": "https://conductor-konstant.hectorsanchez.eu/mcp", "headers": { "Authorization": "Bearer ${CONDUCTOR_MCP_AUTH_TOKEN}" } } } }

OpenCode

Add via CLI (recommended — no manual JSON editing):

```bash

Retrieve token first

. "D:\Workspace_repos\tools\secret-gate\secret-gate.ps1" $token = ((bws secret list | ConvertFrom-Json) | Where-Object { $_.key -eq "CONDUCTOR_MCP_AUTH_TOKEN" }).value

Add MCP server (CLI uses KEY=VALUE format, not KEY: VALUE)

opencode mcp add conductor \ --url https://conductor-konstant.hectorsanchez.eu/mcp \ --header "Authorization=Bearer $token" ```

Or via JSON config (opencode.json or ~/.config/opencode/opencode.json):

json { "mcpServers": { "conductor": { "url": "https://conductor-konstant.hectorsanchez.eu/mcp", "headers": { "Authorization": "Bearer ${CONDUCTOR_MCP_AUTH_TOKEN}" } } } }

Claude Code (Anthropic)

.mcp.json in your project root or ~/.claude/.mcp.json:

json { "mcpServers": { "conductor": { "type": "url", "url": "https://conductor-konstant.hectorsanchez.eu/mcp", "headers": { "Authorization": "Bearer ${CONDUCTOR_MCP_AUTH_TOKEN}" } } } }

Or with the Claude Code CLI:

bash claude mcp add conductor \ --url https://conductor-konstant.hectorsanchez.eu/mcp \ --env CONDUCTOR_MCP_AUTH_TOKEN

Codex (OpenAI)

Add via CLI (recommended — reads token from environment variable):

```bash

Retrieve token first

. "D:\Workspace_repos\tools\secret-gate\secret-gate.ps1" $env:CONDUCTOR_MCP_AUTH_TOKEN = ((bws secret list | ConvertFrom-Json) | Where-Object { $_.key -eq "CONDUCTOR_MCP_AUTH_TOKEN" }).value

Add MCP server (--bearer-token-env-var is cleaner than inline headers)

codex mcp add conductor \ --url https://conductor-konstant.hectorsanchez.eu/mcp \ --bearer-token-env-var CONDUCTOR_MCP_AUTH_TOKEN ```

Or via JSON config (codex.json or ~/.codex/config.toml):

json { "mcpServers": { "conductor": { "url": "https://conductor-konstant.hectorsanchez.eu/mcp", "headers": { "Authorization": "Bearer ${CONDUCTOR_MCP_AUTH_TOKEN}" } } } }

OpenClaw

openclaw.json:

json { "mcpServers": { "conductor": { "url": "https://conductor-konstant.hectorsanchez.eu/mcp", "headers": { "Authorization": "Bearer ${CONDUCTOR_MCP_AUTH_TOKEN}" } } } }

Cline (VS Code extension)

Cline MCP settings (VS Code settings.json or Cline UI):

json { "cline.mcpServers": { "conductor": { "url": "https://conductor-konstant.hectorsanchez.eu/mcp", "headers": { "Authorization": "Bearer ${CONDUCTOR_MCP_AUTH_TOKEN}" } } } }

Windsurf

windsurf.json or .windsurf/mcp.json:

json { "mcpServers": { "conductor": { "url": "https://conductor-konstant.hectorsanchez.eu/mcp", "headers": { "Authorization": "Bearer ${CONDUCTOR_MCP_AUTH_TOKEN}" } } } }

Continue.dev (VS Code / JetBrains)

continue-config.json → MCP Servers section:

json { "mcpServers": [ { "name": "conductor", "url": "https://conductor-konstant.hectorsanchez.eu/mcp", "headers": { "Authorization": "Bearer ${CONDUCTOR_MCP_AUTH_TOKEN}" } } ] }

Any Streamable HTTP MCP client (query auth)

If your client does not support custom headers, use query parameter auth:

text https://conductor-konstant.hectorsanchez.eu/mcp?key=<CONDUCTOR_MCP_AUTH_TOKEN>

Test with curl:

```bash curl -fsS https://conductor-konstant.hectorsanchez.eu/health

expect: {"status":"ok","service":"conductor",...}

```

Smoke (must pass)

```bash export MCP_BASE="https://conductor-konstant.hectorsanchez.eu"

KEY from A or B above — do not paste into chat

curl -fsS "$MCP_BASE/health" curl -fsS "$MCP_BASE/connect.md" | head curl -sS -o /dev/null -w "%{http_code}\n" "$MCP_BASE/mcp" # expect 401 without auth curl -sS -X POST "$MCP_BASE/mcp" \ -H "Authorization: Bearer $KEY" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -H "MCP-Protocol-Version: 2025-03-26" \ -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"connect-smoke","version":"0.0.1"}}}' ```

Expect: tools/list includes onboard. All compiler-era tools are archived and not available.

If public DNS fails on the agent host, use Tailscale Funnel with Host header:

bash curl -fsS -H 'Host: conductor-konstant.hectorsanchez.eu' \ https://konstant-server.tail64860f.ts.net/health

Docs site

Evaluate the org model at https://conductor-docs.hectorsanchez.eu (MkDocs on konstant).

References

Ref Where
Source repo https://github.com/hector-sanchez-eu/conductor (private)
Tracking issue https://github.com/hector-sanchez-eu/conductor/issues/1
Konstant runbook https://github.com/hector-sanchez-eu/konstant-serverrunbooks/12-conductor-konstant.md
SSH handoff konstant-server runbooks/00-connect-from-any-machine.md
Bitwarden konstant-server runbooks/02-bitwarden.md
Workspace secret-gate D:\Workspace\_repos\tools\secret-gate\secret-gate.ps1