# deploy

Pack the current project directory and deploy it to DenkOps, returning the live URL. No setup needed: if there is no denkops.json, one is inferred from the directory (name, slug, runtime) and written, creating a new project; if it exists, it deploys to that project. Auth uses DENKOPS_TOKEN (set by the plugin) or denkops login.

Agent View of the PolicyLayer registry record for `deploy`. HTML page: https://policylayer.com/tools/denkopsai-mcp/deploy

## Facts

- Tool: `deploy`
- Server: Denkopsai (`@denkopsai/mcp`) — https://policylayer.com/tools/denkopsai-mcp.md
- Install: `npx -y @denkopsai/mcp`
- Homepage: https://www.npmjs.com/package/@denkopsai/mcp
- Risk category: Execute (High risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 1
- Recommended policy verdict: Rate-limited

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `dir` | string | no | Directory to deploy (defaults to cwd) |

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": "deploy",
    "arguments": {}
  }
}
```

## Why deploy is rated High

The deploy tool executes a deployment operation that pushes code to an external platform (DenkOps) and makes it live. While not inherently destructive, it performs irreversible external operations (deployment) whose consequences depend on the code being deployed. This is Execute rather than Write because it invokes a deployment system with side effects beyond simple data modification.

From the tool's own definition: "Tool description states it 'pack[s] the current project directory and deploy[s] it to DenkOps' and 'creates a new project' if one doesn't exist. This triggers external deployment operations whose effects depend on the project contents being deployed."

Risk signals: Accepts file system path (dir)

## Use case

AI agents invoke deploy to trigger actions in Denkopsai. What it does depends on the arguments the agent supplies, and its effects often reach beyond the immediate call: builds kicked off, notifications sent, workflows started.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "deploy": {
      "limits": [
        {
          "counter": "deploy_rate",
          "window": "minute",
          "max": 10,
          "scope": "grant"
        }
      ]
    }
  }
}
```

## Other tools on Denkopsai (27)

- `delete_project` — Destructive — https://policylayer.com/tools/denkopsai-mcp/delete-project.md
- `remove_domain` — Destructive — https://policylayer.com/tools/denkopsai-mcp/remove-domain.md
- `revoke_connection` — Destructive — https://policylayer.com/tools/denkopsai-mcp/revoke-connection.md
- `unset_env` — Destructive — https://policylayer.com/tools/denkopsai-mcp/unset-env.md
- `login` — Execute — https://policylayer.com/tools/denkopsai-mcp/login.md
- `redeploy` — Execute — https://policylayer.com/tools/denkopsai-mcp/redeploy.md
- `start_project` — Execute — https://policylayer.com/tools/denkopsai-mcp/start-project.md
- `stop_project` — Execute — https://policylayer.com/tools/denkopsai-mcp/stop-project.md
- `get_container_logs` — Read — https://policylayer.com/tools/denkopsai-mcp/get-container-logs.md
- `get_denkops_guide` — Read — https://policylayer.com/tools/denkopsai-mcp/get-denkops-guide.md
- `get_egress_policy` — Read — https://policylayer.com/tools/denkopsai-mcp/get-egress-policy.md
- `get_metrics` — Read — https://policylayer.com/tools/denkopsai-mcp/get-metrics.md
- `get_public_paths` — Read — https://policylayer.com/tools/denkopsai-mcp/get-public-paths.md
- `get_status` — Read — https://policylayer.com/tools/denkopsai-mcp/get-status.md
- `get_trace` — Read — https://policylayer.com/tools/denkopsai-mcp/get-trace.md
- `list_connections` — Read — https://policylayer.com/tools/denkopsai-mcp/list-connections.md
- `list_domains` — Read — https://policylayer.com/tools/denkopsai-mcp/list-domains.md
- `list_env` — Read — https://policylayer.com/tools/denkopsai-mcp/list-env.md
- `list_projects` — Read — https://policylayer.com/tools/denkopsai-mcp/list-projects.md
- `list_traces` — Read — https://policylayer.com/tools/denkopsai-mcp/list-traces.md
- `rollback` — Read — https://policylayer.com/tools/denkopsai-mcp/rollback.md
- `verify_domain` — Read — https://policylayer.com/tools/denkopsai-mcp/verify-domain.md
- `add_domain` — Write — https://policylayer.com/tools/denkopsai-mcp/add-domain.md
- `create_connection` — Write — https://policylayer.com/tools/denkopsai-mcp/create-connection.md
- `set_egress_policy` — Write — https://policylayer.com/tools/denkopsai-mcp/set-egress-policy.md
- `set_env` — Write — https://policylayer.com/tools/denkopsai-mcp/set-env.md
- `set_public_paths` — Write — https://policylayer.com/tools/denkopsai-mcp/set-public-paths.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=denkopsai-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/denkopsai-mcp
