# save_contact

A write tool on the Agent Jail MCP server.

Agent View of the PolicyLayer registry record for `save_contact`. HTML page: https://policylayer.com/tools/agent-jail-mcp/save-contact

## Facts

- Tool: `save_contact`
- Server: Agent Jail (`idiscoord13-sketch/agent-jail-mcp`) — https://policylayer.com/tools/agent-jail-mcp.md
- Homepage: https://github.com/idiscoord13-sketch/agent-jail-mcp
- Risk category: Write (Medium risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Rate-limited

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

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

## Why save_contact is rated Medium

The name 'save_contact' strongly suggests writing/storing contact information, which is reversible (contacts can be edited or deleted later). Without a description, confidence is moderate rather than high. Severity is medium because unauthorized contact creation could enable social engineering or privacy violations, but the blast radius is limited to contact data rather than system-wide impacts.

From the tool's own definition: "Tool name 'save_contact' indicates creation or modification of contact data. No description provided to clarify scope or constraints."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Agent Jail (34)

- `cleanup_expired_sandboxes` — Destructive — https://policylayer.com/tools/agent-jail-mcp/cleanup-expired-sandboxes.md
- `destroy_sandbox` — Destructive — https://policylayer.com/tools/agent-jail-mcp/destroy-sandbox.md
- `run_in_sandbox` — Execute — https://policylayer.com/tools/agent-jail-mcp/run-in-sandbox.md
- `run_query` — Execute — https://policylayer.com/tools/agent-jail-mcp/run-query.md
- `schedule_task` — Execute — https://policylayer.com/tools/agent-jail-mcp/schedule-task.md
- `add` — Other — https://policylayer.com/tools/agent-jail-mcp/add.md
- `async_tool` — Other — https://policylayer.com/tools/agent-jail-mcp/async-tool.md
- `custom_name` — Other — https://policylayer.com/tools/agent-jail-mcp/custom-name.md
- `greet` — Other — https://policylayer.com/tools/agent-jail-mcp/greet.md
- `log_progress` — Other — https://policylayer.com/tools/agent-jail-mcp/log-progress.md
- `multiply` — Other — https://policylayer.com/tools/agent-jail-mcp/multiply.md
- `my_task` — Other — https://policylayer.com/tools/agent-jail-mcp/my-task.md
- `my_tool` — Other — https://policylayer.com/tools/agent-jail-mcp/my-tool.md
- `tool_with_context` — Other — https://policylayer.com/tools/agent-jail-mcp/tool-with-context.md
- `check_worker_status` — Read — https://policylayer.com/tools/agent-jail-mcp/check-worker-status.md
- `docker_health` — Read — https://policylayer.com/tools/agent-jail-mcp/docker-health.md
- `echo_tool` — Read — https://policylayer.com/tools/agent-jail-mcp/echo-tool.md
- `get_auth_type` — Read — https://policylayer.com/tools/agent-jail-mcp/get-auth-type.md
- `get_client_ip` — Read — https://policylayer.com/tools/agent-jail-mcp/get-client-ip.md
- `get_info` — Read — https://policylayer.com/tools/agent-jail-mcp/get-info.md
- `get_my_emails` — Read — https://policylayer.com/tools/agent-jail-mcp/get-my-emails.md
- `get_user_id` — Read — https://policylayer.com/tools/agent-jail-mcp/get-user-id.md
- `greeting` — Read — https://policylayer.com/tools/agent-jail-mcp/greeting.md
- `introspect` — Read — https://policylayer.com/tools/agent-jail-mcp/introspect.md
- `list_files` — Read — https://policylayer.com/tools/agent-jail-mcp/list-files.md
- `list_sandboxes` — Read — https://policylayer.com/tools/agent-jail-mcp/list-sandboxes.md
- `long_running_task` — Read — https://policylayer.com/tools/agent-jail-mcp/long-running-task.md
- `read_file` — Read — https://policylayer.com/tools/agent-jail-mcp/read-file.md
- `add_expense` — Write — https://policylayer.com/tools/agent-jail-mcp/add-expense.md
- `create_sandbox` — Write — https://policylayer.com/tools/agent-jail-mcp/create-sandbox.md
- …and 4 more: https://policylayer.com/tools/agent-jail-mcp.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=agent-jail-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/agent-jail-mcp
