Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
DSH_RELAY_HOST_URLNoLoopback Harness Host URL.http://127.0.0.1:3080/
DSH_RELAY_MAX_IMAGESNoMaximum images per message.20
DSH_RELAY_STATE_FILENoPersistent Relay state location.%LOCALAPPDATA%/dsh-relay/state.json
DSH_RELAY_RUN_STALL_MSNoNo-progress interval before an active run is marked needs_attention; later progress resumes it automatically.300000
DSH_RELAY_RPC_TIMEOUT_MSNoHost RPC timeout.30000
DSH_RELAY_MAX_IMAGE_BYTESNoMaximum decoded bytes per image.5242880
DSH_RELAY_MAX_ISTORY_PAGESNoMaximmum durable-hitory pages read during one reconciliation.100
DSH_RELAY_POLL_INTERVAL_MSNoActive-run polling interval.750
DSH_RELAY_CLIENT_PRINCIPAL_IDNoStable local caller identity used with idempotency keys.local-user
DSH_RELAY_MAX_TASK_CHARACTERSNoMaximum text characters in one prompt.100000
DSH_RELAY_PERSIST_PROMPT_TEXTNoPersist prompt summaries when explicitly acceptable.false
DSH_RELAY_PERMISSSION_LEASE_MSNoMaximmum lifetime recorded for a reused-sesssion permission lease.86400000
DSH_RELAY_ALLOWED_WORKSPACE_ROOTSNoOS-delimited list of additional authorized absolute roots. Without it, Relay accepts only workspaces already registered by Harness.Harness workspace registry
DSH_RELAY_MAX_MESSAGE_IMAGE_BYTESNoMaximum decoded image bytes per message.104857600
DSH_RELAY_MAX_ASSISTANT_TEXT_BYTESNoMaximum returned assistant-text tail.256000

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
doctorA

Check the external Harness Host and relay policy without reading credentials.

setup_planB

Generate a validated, no-write MCP configuration patch for Codex, Claude Code, Cursor, or OpenCode V2.

setup_doctorA

Return a machine-readable setup report from explicitly supplied probes without reading or modifying client configuration.

start_serviceA

Attach an authorized workspace to the existing Harness Host. This never starts or modifies Harness.

open_serviceB

Open the stable loopback Harness page for an attached service.

list_servicesB

List Host attachments restored from durable relay state.

list_workspacesA

List the native Harness workspace registry used by Relay routing.

list_workspace_sessionsA

List reusable native sessions accounted to one registered Harness workspace without reading conversation content.

stop_serviceA

Forget one relay attachment without stopping or changing the external Harness Host.

list_capabilitiesA

List native Provider/model/reasoning, agent preset, and permission preset options without guessing names.

start_runA

Create or reuse a native Harness session, select provider/model/reasoning, agent preset, and native permission preset, then submit the first task and return a stable session link. Task parameters are path-reference-only: provide the authorized workspace, reviewTargets, contextReadScope, excludedPaths, writeScope, and acceptance criteria. reviewTargets identify what to assess; they are not a read whitelist. contextReadScope declares where Harness may search and read supporting implementation, tests, configuration, and architecture material. Never embed source text, diffs, file dumps, encoded source, or repository archives. Harness reads named files from the authorized workspace itself. These fields are task instructions, not enforced per-path filesystem isolation. The selected Harness model may send content it reads to its configured model provider even though Relay itself uses a loopback address. Sharing webUrl is not completion: keep wait_run until a terminal status, then consume assistantText.

start_reviewA

Create or reuse a native Harness session with the permission preset fixed to read-only, then return a stable session link. Task parameters are path-reference-only: provide the authorized workspace, reviewTargets, contextReadScope, excludedPaths, writeScope, and acceptance criteria. reviewTargets identify what to assess; they are not a read whitelist. contextReadScope declares where Harness may search and read supporting implementation, tests, configuration, and architecture material. Never embed source text, diffs, file dumps, encoded source, or repository archives. Harness reads named files from the authorized workspace itself. These fields are task instructions, not enforced per-path filesystem isolation. The selected Harness model may send content it reads to its configured model provider even though Relay itself uses a loopback address. After start succeeds, share webUrl and keep wait_run until succeeded/failed/cancelled/needs_attention. The calling agent MUST read assistantText before claiming the review is done. If the parent user asked to review then fix, apply accepted findings only after the run is terminal; do not treat a still-running review as finished.

steer_runA

Durably insert a correction into an active run. Task parameters are path-reference-only: provide the authorized workspace, reviewTargets, contextReadScope, excludedPaths, writeScope, and acceptance criteria. reviewTargets identify what to assess; they are not a read whitelist. contextReadScope declares where Harness may search and read supporting implementation, tests, configuration, and architecture material. Never embed source text, diffs, file dumps, encoded source, or repository archives. Harness reads named files from the authorized workspace itself. These fields are task instructions, not enforced per-path filesystem isolation. The selected Harness model may send content it reads to its configured model provider even though Relay itself uses a loopback address.

get_runA

Preferred tool to reconcile and return one run snapshot; replaces the deprecated status_run alias. If status is running or unknown, hostPollContract.hostMustCallWaitRunAgain is true and the host must not conclude.

get_run_summaryB

Project the current durable run snapshot into stable status, model, permission, elapsed time, and next-action fields.

read_notificationsA

Read the bounded in-process notification projection after a cursor; cursor gaps return explicit resynchronization metadata.

status_runA

Deprecated compatibility alias; use get_run. Scheduled for removal in 0.3.0.

open_runA

Open the native Harness Web session in the operating system default browser. Call only when the user explicitly asks to open or show the Harness page.

wait_runA

Poll durable Host history for at most 30 seconds and return the latest snapshot plus hostPollContract. Call this native MCP tool directly; never poll through a temporary Node, PowerShell, Python, or shell client. A timeout is a slice, not completion. If hostPollContract.hostMustCallWaitRunAgain is true, you MUST call wait_run again immediately. Do not send a final user answer, mark the delegated task complete, or skip consuming assistantText while the run is still running. Unrelated shell or background-task notifications are not authorization to stop polling.

list_runsC

Reconcile and list runs restored from durable relay state.

get_operationA

Read the durable idempotent operation record for a start, reply, steer, or cancel request.

reconcile_operationA

Compare an uncertain operation with durable Harness events without submitting a duplicate request.

reconcile_permissionsB

Retry restoration of the previous native permission preset for a session that requires attention.

reply_runA

Submit a new queued turn to the completed run session, optionally selecting a different model, and track it as a new run. Task parameters are path-reference-only: provide the authorized workspace, reviewTargets, contextReadScope, excludedPaths, writeScope, and acceptance criteria. reviewTargets identify what to assess; they are not a read whitelist. contextReadScope declares where Harness may search and read supporting implementation, tests, configuration, and architecture material. Never embed source text, diffs, file dumps, encoded source, or repository archives. Harness reads named files from the authorized workspace itself. These fields are task instructions, not enforced per-path filesystem isolation. The selected Harness model may send content it reads to its configured model provider even though Relay itself uses a loopback address.

cancel_runC

Request cancellation through the public Host API.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.5/5.0

Scored across 25 tools

Disambiguation3/5

Several tools overlap in function or intent: get_run, get_run_summary, wait_run, status_run (deprecated), and list_runs all touch run state; doctor and setup_doctor also overlap. The detailed descriptions help, but agents must read carefully to pick correctly.

Naming Consistency4/5

Most tools follow a clear verb_noun snake_case pattern (start_, stop_, list_, get_, setup_). Minor inconsistencies: bare 'doctor' vs 'setup_doctor', 'status_run' for a deprecated alias, and 'reconcile_operation' vs 'get_operation'.

Tool Count3/5

25 tools is large for a relay/session manager. The lifecycle coverage is broadaa but there is redundancy (get_run/get_run_summary/status_run/wait_run all surface run state) and a deprecated tool included in the active set, so it feels heavier than necessary.

Completeness5/5

The set covers the full run lifecycle (start, reply, steer, cancel, wait, get, list), workspace/service management, diagnostics, setup, and notifications. No obvious missing operations for the described domain.

Maintenance

ActivityMaintained
ResponsivenessNo issues