# google-maps.place_photos

Get photos for a Google Maps place. Provide place_id from search results. The identifier also accepts the business identifier form (0x...:0x...). Optional cursor, region, and language are supported. Pass cursor from a previous cursor_next to fetch the next page. Returns place metadata and a photos array. Each photo has photo_url and description when available. cursor_next appears only when a pagination cursor is available. Additional upstream fields may appear. Cost = 3 tokens.

Agent View of the PolicyLayer registry record for `google-maps.place_photos`. HTML page: https://policylayer.com/tools/io-github-vee3io-vee3/google-maps.place-photos

## Facts

- Tool: `google-maps.place_photos`
- Server: Vee3 (`https://mcp.vee3.io/mcp`) — https://policylayer.com/tools/io-github-vee3io-vee3.md
- Homepage: https://github.com/Vee3io/vee3
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server auth posture: open
- Server rate-limited: no
- Parameters: 4 (1 required)
- Recommended policy verdict: Allowed

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `cursor` | object | no | Pagination cursor from cursor_next on a previous response. |
| `region` | object | no | Two-character region code (for example us). On search endpoints this biases results by ccTLD. On place endpoints this selects regional place data. |
| `language` | object | no | Language code for results (for example en). |
| `place_id` | string | yes | Google Maps place identifier (for example ChIJk_grnPDq9EcRE7gOH9gAPZA). Also accepts the business identifier form (for example 0x47f4eb87e91f866d:0x9629fabb993e |

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": "google-maps.place_photos",
    "arguments": {
      "place_id": "<place_id>"
    }
  }
}
```

## Why google-maps.place_photos is rated Low

This is a read-only retrieval operation that fetches publicly available photos and metadata from Google Maps. It has no side effects, does not modify data, and does not execute code or commands. The severity is low because misuse would only expose publicly accessible information already available through Google Maps.

From the tool's own definition: "Tool description states it 'Get photos for a Google Maps place' and 'Returns place metadata and a photos array.' The operation retrieves and queries existing data (photos, metadata) with no modification, deletion, or execution of code."

## Use case

AI agents call google-maps.place_photos to retrieve information from Vee3 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 Vee3:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "google-maps.place_photos": {}
  }
}
```

## Other tools on Vee3 (248)

- `clerk.delete_allowlist_identifier` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-allowlist-identifier.md
- `clerk.delete_api_key` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-api-key.md
- `clerk.delete_blocklist_identifier` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-blocklist-identifier.md
- `clerk.delete_domain` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-domain.md
- `clerk.delete_email_address` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-email-address.md
- `clerk.delete_enterprise_connection` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-enterprise-connection.md
- `clerk.delete_jwt_template` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-jwt-template.md
- `clerk.delete_machine` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-machine.md
- `clerk.delete_machine_scope` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-machine-scope.md
- `clerk.delete_oauth_application` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-oauth-application.md
- `clerk.delete_organization` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization.md
- `clerk.delete_organization_domain` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization-domain.md
- `clerk.delete_organization_membership` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization-membership.md
- `clerk.delete_organization_permission` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization-permission.md
- `clerk.delete_organization_role` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-organization-role.md
- `clerk.delete_phone_number` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-phone-number.md
- `clerk.delete_redirect_url` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-redirect-url.md
- `clerk.delete_svix_app` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-svix-app.md
- `clerk.delete_user` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user.md
- `clerk.delete_user_backup_codes` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-backup-codes.md
- `clerk.delete_user_external_account` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-external-account.md
- `clerk.delete_user_passkey` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-passkey.md
- `clerk.delete_user_totp` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-totp.md
- `clerk.delete_user_web3_wallet` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-user-web3-wallet.md
- `clerk.delete_waitlist_entry` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.delete-waitlist-entry.md
- `clerk.revoke_actor_token` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-actor-token.md
- `clerk.revoke_admin_portal_link_token` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-admin-portal-link-token.md
- `clerk.revoke_api_key` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-api-key.md
- `clerk.revoke_invitation` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-invitation.md
- `clerk.revoke_m2m_token` — Destructive — https://policylayer.com/tools/io-github-vee3io-vee3/clerk.revoke-m2m-token.md
- …and 218 more: https://policylayer.com/tools/io-github-vee3io-vee3.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=io-github-vee3io-vee3 · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/io-github-vee3io-vee3
