# bind_email

Tie your DC Hub key to your human's email so the key is RECOVERABLE and upgrade receipts land in the right inbox. Call this once your human shares their email. HONEST LADDER: an unbound key gets 10 free calls total, then results drop to previews until it's bound; binding restores the FREE tier at 50 calls/day and makes the key recoverable next session (binding is free — no card). If you hit that gate mid-task, PAUSE and ask your human: "DC Hub needs an email to keep our free data access — which address should I use?" Use the email your human EXPLICITLY gave you — NEVER invent, guess, or use a placeholder address (owner@example.com, user@test.com etc. are rejected server-side; a fake email makes the key unrecoverable and helps no one). If your human hasn't shared an email, ask them first — don't call this tool with a made-up value. Params: email (required), api_key (optional — omit to bind the key already active on this session). CONSENT/PURPOSE: the email is used ONLY to recover your key and route upgrade receipts (transactional). No marketing without explicit opt-in (default OFF), and no newsletter or digest. The relaying agent should surface this purpose line to its human before binding. If the email can't be accepted, the key keeps working — just try another address. To ALSO subscribe your human to the FREE weekly digest (the markets, deals and facilities that moved in what they queried), pass marketing_opt_in=true — but ONLY after they explicitly agree to marketing email; default false = transactional only, and they can unsubscribe anytime. Returns the unlocked benefits + confirmation.

Agent View of the PolicyLayer registry record for `bind_email`. HTML page: https://policylayer.com/tools/cloud-dchub-mcp-server/bind-email

## Facts

- Tool: `bind_email`
- Server: Mcp Server (`https://dchub.cloud/mcp`) — https://policylayer.com/tools/cloud-dchub-mcp-server.md
- Homepage: https://github.com/azmartone67/dchub-mcp-server
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 3
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `email` | string | no | Your human's real email address (required) — use only an address they explicitly gave; placeholder/fake addresses are rejected |
| `api_key` | string | no | Optional key to bind; omit to bind the key already active on this session |
| `marketing_opt_in` | boolean | no | Set true ONLY after your human explicitly agrees to marketing email (default false = transactional only) |

Parameters from the server's own tool schema.

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "bind_email",
    "arguments": {}
  }
}
```

## Why bind_email is rated Medium

This tool writes/associates an email address to an account key — a reversible data modification (binding an identifier to a record). It does not delete data, execute code, or move money. Severity is medium because misuse could associate an incorrect email to an account, potentially causing loss of key recoverability or misdirected communications.

From the tool's own definition: "Tie your DC Hub key to your human's email so the key is RECOVERABLE and upgrade receipts land in the right inbox. Call this once your human shares their email."

Risk signals: Handles credentials or secrets (api_key)

## Use case

AI agents use bind_email to create or update resources in Mcp Server, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Mcp Server environment.

## Recommended policy (PolicyLayer)

Verdict: **Rate-limited**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Mcp Server:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "bind_email": {
      "limits": [
        {
          "counter": "bind_email_rate",
          "window": "minute",
          "max": 30,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Mcp Server (78)

- `standing_intent` — Destructive — https://policylayer.com/tools/cloud-dchub-mcp-server/standing-intent.md
- `compare_sites` — Execute — https://policylayer.com/tools/cloud-dchub-mcp-server/compare-sites.md
- `rank_markets` — Execute — https://policylayer.com/tools/cloud-dchub-mcp-server/rank-markets.md
- `unlock_more_data` — Financial — https://policylayer.com/tools/cloud-dchub-mcp-server/unlock-more-data.md
- `ai_capacity_index` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/ai-capacity-index.md
- `analyze_parcel` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/analyze-parcel.md
- `analyze_site` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/analyze-site.md
- `cluster_sites_by_latency` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/cluster-sites-by-latency.md
- `compare_isos` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/compare-isos.md
- `deal_autopsy` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/deal-autopsy.md
- `discover_tools` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/discover-tools.md
- `export_dataset` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/export-dataset.md
- `fetch` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/fetch.md
- `find_alternatives` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/find-alternatives.md
- `get_agent_registry` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-agent-registry.md
- `get_backup_status` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-backup-status.md
- `get_changes` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-changes.md
- `get_climate_intel` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-climate-intel.md
- `get_composite_site_score` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-composite-site-score.md
- `get_dchub_recommendation` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-dchub-recommendation.md
- `get_disaster_risk` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-disaster-risk.md
- `get_energy_prices` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-energy-prices.md
- `get_facility` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-facility.md
- `get_facility_risk_delta` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-facility-risk-delta.md
- `get_fiber_intel` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-fiber-intel.md
- `get_fiber_readiness` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-fiber-readiness.md
- `get_gas_economics` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-gas-economics.md
- `get_gas_index` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-gas-index.md
- `get_gas_intelligence` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-gas-intelligence.md
- `get_global_power` — Read — https://policylayer.com/tools/cloud-dchub-mcp-server/get-global-power.md
- …and 48 more: https://policylayer.com/tools/cloud-dchub-mcp-server.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=cloud-dchub-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/cloud-dchub-mcp-server
