Claude.ai Web Connectors
Claude.ai custom connectors use a remote MCP server over HTTPS. For PING8, use workonward-mcp in http transport with oauth auth.
Connector URL:
https://mcp.gitdate.ink/mcpReferences: Claude custom connectors (opens in a new tab) and MCP authorization (opens in a new tab).
Requirements
- A public DNS name, such as
mcp.gitdate.ink. - HTTPS termination at that hostname.
- Inbound access from Claude's cloud infrastructure.
WORKONWARD_MCP_AUTH=oauth.- At least one allowed OAuth login email.
- A narrow recipient allowlist and dry-run enabled for the first verification.
Environment
export WORKONWARD_API_KEY="YOUR_API_KEY"
export WORKONWARD_BASE_URL="https://mail.gitdate.ink"
export WORKONWARD_MCP_TRANSPORT=http
export WORKONWARD_MCP_AUTH=oauth
export WORKONWARD_MCP_HTTP_HOST=127.0.0.1
export WORKONWARD_MCP_HTTP_PORT=8765
export WORKONWARD_MCP_OAUTH_ISSUER=https://mcp.gitdate.ink
export WORKONWARD_MCP_OAUTH_SIGNING_KEY="$(openssl rand -hex 32)"
export WORKONWARD_MCP_OAUTH_ALLOWED_EMAILS="you@gitdate.ink,teammate@gitdate.ink"
export WORKONWARD_MCP_RECIPIENT_ALLOWLIST='@gitdate\.ink$'
export WORKONWARD_MCP_BEHIND_PROXY=1
export WORKONWARD_MCP_DRY_RUN=1
export WORKONWARD_MCP_AUDIT_LOG_PATH=/var/log/workonward-mcp/audit.jsonlUse WORKONWARD_MCP_BEHIND_PROXY=1 when a reverse proxy terminates TLS. Use WORKONWARD_MCP_TLS_OK=1 only for local cleartext development.
Start The Server
From source:
cd SDK/mcp
python -m venv .venv
source .venv/bin/activate
pip install -e .
python -m workonward_mcpWith Docker compose from the MCP package:
cd SDK
cp mcp/.env.example .env
# Fill the OAuth, API key, allowlist, and dry-run values.
docker compose -f mcp/docker-compose.yml up -dSanity checks:
curl -fsSL https://mcp.gitdate.ink/.well-known/oauth-authorization-server
curl -fsSL https://mcp.gitdate.ink/.well-known/oauth-protected-resource/mcpAdd The Connector
For individual Pro or Max accounts:
- Open Claude.ai.
- Go to Customize then Connectors.
- Click + then Add custom connector.
- Enter
https://mcp.gitdate.ink/mcp. - Complete the OAuth flow.
For Team and Enterprise plans:
- An owner opens Organization settings then Connectors.
- Click Add.
- Choose Custom then Web.
- Enter
https://mcp.gitdate.ink/mcp. - Add optional advanced OAuth client settings only if your deployment requires fixed client credentials.
- Members then connect from Customize then Connectors.
OAuth Login Flow
- Claude fetches the server metadata.
- Claude registers a client through Dynamic Client Registration.
- Claude opens the authorization URL.
- The user enters an email allowed by
WORKONWARD_MCP_OAUTH_ALLOWED_EMAILS. - The server prints a six-digit code to stderr by default.
- The user enters the code in the browser.
- Claude exchanges the auth code for tokens and calls
tools/list.
The default code delivery is intentionally simple. If you replace it with emailed codes later, keep login-code sends separate from production marketing sends and test with dry-run first.
First Verification
Ask Claude:
Use the PING8 connector to validate person@gitdate.ink and blocked@example.com. Do not send email.Then:
Use the PING8 connector to preview an email to person@gitdate.ink. Do not call send_email.Only after previews and audit logs are correct should you set:
WORKONWARD_MCP_DRY_RUN=0Troubleshooting
| Symptom | Check |
|---|---|
| Claude cannot reach the connector | DNS, HTTPS certificate, firewall, and public inbound access |
| OAuth fails before login | WORKONWARD_MCP_OAUTH_ISSUER must match the public origin |
| Login email is rejected | Add it to WORKONWARD_MCP_OAUTH_ALLOWED_EMAILS |
| Tools list succeeds but sends do not happen | WORKONWARD_MCP_DRY_RUN=1 is still enabled |
| Existing sessions should be revoked | Remove the email, restart the server, or rotate the OAuth signing key |