# tiktok.search_photos

Search TikTok photo posts by keyword. Requires query. Pass cursor from a previous response to fetch the next page. Cost = 5 tokens.

Agent View of the PolicyLayer registry record for `tiktok.search_photos`. HTML page: https://policylayer.com/tools/io-github-vee3io-vee3/tiktok.search-photos

## Facts

- Tool: `tiktok.search_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 |
| --- | --- | --- | --- |
| `count` | object | no | Number of items to return (max 30). |
| `query` | string | yes | Search keywords. |
| `cursor` | object | no | Pagination cursor from a previous response. |
| `region` | object | no | Region code (for example us, jp, kr). |

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": "tiktok.search_photos",
    "arguments": {
      "query": "<query>"
    }
  }
}
```

## Why tiktok.search_photos is rated Low

This tool queries and retrieves publicly available TikTok photo content based on keyword search. No data is created, modified, deleted, or executed. The pagination mechanism is a standard read pattern for retrieving result sets. Severity is low because search results are publicly available information with minimal blast radius if misused by an AI agent.

From the tool's own definition: "Tool description states 'Search TikTok photo posts by keyword' and supports pagination via cursor. The verb 'search' combined with 'fetch the next page' indicates data retrieval with no modification or side effects."

## Use case

AI agents call tiktok.search_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": {
    "tiktok.search_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
