Zed

Zed supports MCP context servers through its settings. Use local stdio for PING8 development workflows, or remote OAuth only if your team has a hosted workonward-mcp endpoint.

Reference: Zed MCP documentation (opens in a new tab).

Install Locally

cd SDK/mcp
python -m venv .venv
source .venv/bin/activate
pip install -e .
workonward-mcp --check

Stdio Settings

Open Zed settings and add:

{
  "context_servers": {
    "workonward": {
      "command": {
        "path": "/absolute/path/to/SDK/mcp/.venv/bin/python",
        "args": ["-m", "workonward_mcp"],
        "env": {
          "WORKONWARD_API_KEY": "YOUR_API_KEY",
          "WORKONWARD_BASE_URL": "https://mail.gitdate.ink",
          "WORKONWARD_MCP_RECIPIENT_ALLOWLIST": "@gitdate\\.ink$|@actualintelligence\\.ink$",
          "WORKONWARD_MCP_DRY_RUN": "1",
          "WORKONWARD_MCP_AUDIT_LOG_PATH": "/tmp/workonward-mcp-audit.jsonl"
        }
      }
    }
  }
}

Use the absolute virtualenv path so Zed starts the same Python environment you tested.

Optional Remote OAuth Settings

If workonward-mcp is deployed at https://mcp.gitdate.ink/mcp with OAuth:

{
  "context_servers": {
    "workonward": {
      "url": "https://mcp.gitdate.ink/mcp"
    }
  }
}

When no Authorization header is configured for a remote MCP server, Zed can prompt for the standard MCP OAuth flow.

Verify

  1. Save Zed settings.
  2. Open the Agent Panel.
  3. Open Agent settings or custom server management.
  4. Confirm workonward is listed.
  5. Ask the agent to validate and preview before sending.

Safe prompt:

Use the workonward context server to validate ["person@gitdate.ink", "blocked@example.com"]. Then preview a send to person@gitdate.ink. Do not call send_email.

Troubleshooting

SymptomCheck
Zed cannot start the serverConfirm command.path exists and is executable
Tools are not refreshedReopen the Agent Panel or restart Zed
OAuth prompt does not appear for remote URLConfirm the server exposes MCP OAuth metadata over HTTPS
Every recipient is deniedUpdate WORKONWARD_MCP_RECIPIENT_ALLOWLIST
Real sends are blockedSet WORKONWARD_MCP_DRY_RUN=0 only after dry-run verification