# portal_confirm_delivery

Confirm, on behalf of the client, that the service was delivered (writes DeliveryProof.clientConfirmed) — the client-side confirmation that closes dual-confirm verification. Allowed once the session is completed/delivered/documented; rejected if an open dispute exists. Optionally records a 1-5 rating (only if the service captures quality). This is an OVERLAY: it does NOT change session.status (the auto-verify cron advances delivered→verified). Idempotent: alreadyConfirmed=true if already done. Triggers SC resolution.

Agent View of the PolicyLayer registry record for `portal_confirm_delivery`. HTML page: https://policylayer.com/tools/com-servicialo-mcp-server/portal-confirm-delivery

## Facts

- Tool: `portal_confirm_delivery`
- Server: Servicialo (`@servicialo/mcp-server`) — https://policylayer.com/tools/com-servicialo-mcp-server.md
- Install: `npx -y @servicialo/mcp-server`
- Homepage: https://github.com/servicialo/mcp-server
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server CORS policy: *
- Server rate-limited: no
- Parameters: 5 (2 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `note` | string | no |  |
| `apiKey` | string | no |  |
| `rating` | integer | no |  |
| `orgSlug` | string | yes |  |
| `sessionId` | string | yes |  |

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": "portal_confirm_delivery",
    "arguments": {
      "orgSlug": "<orgSlug>",
      "sessionId": "<sessionId>"
    }
  }
}
```

## Why portal_confirm_delivery is rated Low

Even though portal_confirm_delivery only reads data, uncontrolled read access leaks sensitive information and racks up API costs: an agent caught in a retry loop can make thousands of calls a minute without anyone noticing.

Risk signals: Handles credentials or secrets (apiKey)

## Use case

AI agents call portal_confirm_delivery to retrieve information from Servicialo without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

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

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "portal_confirm_delivery": {}
  }
}
```

## Other tools on Servicialo (110)

- `agendas_delete` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/agendas-delete.md
- `cierre_cerrar_org` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-cerrar-org.md
- `cierre_eliminar_cliente` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-eliminar-cliente.md
- `email_domain_delete` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/email-domain-delete.md
- `portal_cancel_reschedule_request` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/portal-cancel-reschedule-request.md
- `portal_session_cancel` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/portal-session-cancel.md
- `public_booking_cancel` — Destructive — https://policylayer.com/tools/com-servicialo-mcp-server/public-booking-cancel.md
- `comms_send_campaign` — Execute — https://policylayer.com/tools/com-servicialo-mcp-server/comms-send-campaign.md
- `email_domain_verify` — Execute — https://policylayer.com/tools/com-servicialo-mcp-server/email-domain-verify.md
- `lifecycle_transition` — Execute — https://policylayer.com/tools/com-servicialo-mcp-server/lifecycle-transition.md
- `booking_cancel` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/booking-cancel.md
- `cierre_crear_cliente` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-crear-cliente.md
- `cierre_distribuir_utilidades` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-distribuir-utilidades.md
- `finance_create_cobro` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/finance-create-cobro.md
- `finance_create_venta` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/finance-create-venta.md
- `finance_register_payment` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/finance-register-payment.md
- `finance_send_confirmations` — Financial — https://policylayer.com/tools/com-servicialo-mcp-server/finance-send-confirmations.md
- `admin_list_providers` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/admin-list-providers.md
- `agendas_get` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/agendas-get.md
- `agendas_list` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/agendas-list.md
- `availability_get_provider_schedule` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/availability-get-provider-schedule.md
- `availability_get_slots` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/availability-get-slots.md
- `booking_get` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/booking-get.md
- `booking_list` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/booking-list.md
- `booking_list_requests` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/booking-list-requests.md
- `cierre_evaluar_org` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-evaluar-org.md
- `cierre_listar_clientes` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-listar-clientes.md
- `cierre_listar_utilidades` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-listar-utilidades.md
- `cierre_preview_cliente` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/cierre-preview-cliente.md
- `client_get` — Read — https://policylayer.com/tools/com-servicialo-mcp-server/client-get.md
- …and 80 more: https://policylayer.com/tools/com-servicialo-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=com-servicialo-mcp-server · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/com-servicialo-mcp-server
