# seo.country_codes

List country codes you can pass as country on seo.keyword_metrics. Returns an array of 2-letter ISO country codes (for example us, gb, de). Cost = 0 tokens.

Agent View of the PolicyLayer registry record for `seo.country_codes`. HTML page: https://policylayer.com/tools/io-github-vee3io-vee3/seo.country-codes

## Facts

- Tool: `seo.country_codes`
- 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: 0
- Recommended policy verdict: Allowed

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

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

## Why seo.country_codes is rated Low

This tool retrieves and lists reference data (ISO country codes) to inform parameters for other tools. It performs no modifications, deletions, executions, or financial operations. The zero token cost and descriptive purpose confirm it is a simple read operation with minimal security risk.

From the tool's own definition: "Tool description states it 'List country codes' and 'Returns an array of 2-letter ISO country codes'. The verb 'List' and the return of static reference data indicates data retrieval with no side effects."

## Use case

AI agents call seo.country_codes 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": {
    "seo.country_codes": {}
  }
}
```

## 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
