Harness endpoint: http://127.0.0.1:7700
Registration: POST http://127.0.0.1:7700/harness/register with X-Harness-Register-Secret
Protocol: MCP 2025-06-18 (JSON-RPC 2.0 over HTTP)
| Field | Value |
|---|---|
| Agent ID | awsysco-python-sdk |
| Trust level | worker |
| Model tier | mid → claude-sonnet-4-6 |
| Privacy tier | local_preferred |
| Memory namespace | awsysco-python-sdk-worker |
| Max steps / session | 40 |
| Max cost / session | $3.00 |
| Session token TTL | 15 minutes (re-register to refresh) |
-
create_pr -
deploy -
spend
See harness/TOOLS.md for full reference with parameter schemas.
web_search— search the web via Brave/Googleweb_fetch— fetch and extract URL contentfile_ops— read/write files within the project rootmemory_store/memory_search— per-session key-value memory
(no harness.yaml found — using manifest defaults)
The proven way to give a Claude Code session live access to this project's harness
identity is harness-ctl mcp-bridge awsysco-python-sdk, registered as a stdio MCP server:
{
"mcpServers": {
"harness-awsysco-python-sdk": {
"type": "stdio",
"command": "harness-ctl",
"args": ["mcp-bridge", "awsysco-python-sdk"]
}
}
}Add this to .mcp.json in this project (or globally in ~/.claude.json), then reconnect.
This gives the session this agent's RBAC-scoped tools directly — no manual HTTP calls needed.
The raw HTTP protocol below is what the bridge does under the hood; use it directly only when
building a non-Claude-Code integration.
Agents can delegate tasks to peers via A2A (POST http://127.0.0.1:7700/a2a/tasks).
Delegation narrows authority — a worker cannot delegate to an orchestrator.
orchestrator → can delegate to → worker, ephemeral
worker → can delegate to → ephemeral
ephemeral → cannot delegate
This agent (awsysco-python-sdk, trust: worker) can delegate to:
ephemeral
Actions in must_escalate block execution until a human approves:
- Call triggers → harness returns a HITL token (HTTP 200, not an error)
- Slack DM sent to
@here(if configured) with approve/deny link - Human runs:
harness-ctl hitl approve <token>orharness-ctl hitl deny <token> - On approve → original tool call executes, result returned to agent
- On deny / 30-min timeout → call fails with
hitl_denied
Check pending approvals: harness-ctl pending
-
This file is the canonical harness reference for this project.
CLAUDE.mdpoints here for anything harness-related — project-specific rules and conventions live inCLAUDE.mditself, below its harness block. -
Reference docs, regenerated by
harness-ctl update:harness/TOOLS.md— full tool schemas and error casesharness/SECURITY.md— threat model and controlsharness/WORKFLOWS.md— operational patterns, HITL gates, delegationharness/ARCHITECTURE.md— project structure and dependenciesharness/TESTING.md— test commands and coverage targetsharness/INFRASTRUCTURE.md— deploy targets and environments
1. Register POST /harness/register → sessionToken (15 min)
2. Call tools POST /mcp → tools/list, tools/call
3. Run LLM POST /harness/run → routed inference
4. Delegate POST /a2a/tasks → peer agent task
5. Re-register when token expires (budget resets on each new session)