# create_qr_code

A write tool on the Integrations MCP MCP server.

Agent View of the PolicyLayer registry record for `create_qr_code`. HTML page: https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/create-qr-code

## Facts

- Tool: `create_qr_code`
- Server: Integrations MCP (`shriram-vasudevan/integrations-mcp`) — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp.md
- Homepage: https://github.com/Shriram-Vasudevan/integrations-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": "create_qr_code",
    "arguments": {}
  }
}
```

## Why create_qr_code is rated Medium

The tool creates QR codes, which is a reversible write operation that generates new data artifacts. Without a description, confidence is moderate, but the 'create' verb and typical nature of QR code generation (generating encoded image/data) places this firmly in the Write category. Severity is low because QR codes are generally not sensitive data and have minimal blast radius if misused by an AI agent.

From the tool's own definition: "Tool name 'create_qr_code' indicates data creation. Description is empty, limiting evidence quality."

## Use case

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

## Recommended policy (PolicyLayer)

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

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

## Other tools on Integrations MCP (419)

- `airtable_delete_record` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-delete-record.md
- `calendly_cancel_event` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/calendly-cancel-event.md
- `calendly_remove_invitee` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/calendly-remove-invitee.md
- `cloudflare_delete_dns_record` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/cloudflare-delete-dns-record.md
- `cloudflare_purge_cache` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/cloudflare-purge-cache.md
- `gcal_delete_event` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/gcal-delete-event.md
- `okta_deactivate_user` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/okta-deactivate-user.md
- `s3_delete_object` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/s3-delete-object.md
- `salesforce_delete_record` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/salesforce-delete-record.md
- `supabase_delete_user` — Destructive — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/supabase-delete-user.md
- `amplitude_run_segmentation` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/amplitude-run-segmentation.md
- `parse_natural_timezone` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/parse-natural-timezone.md
- `postmark_send_batch` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/postmark-send-batch.md
- `query_database` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/query-database.md
- `resend_verify_domain` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/resend-verify-domain.md
- `salesforce_query` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/salesforce-query.md
- `sendgrid_send_email` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/sendgrid-send-email.md
- `snowflake_execute_query` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/snowflake-execute-query.md
- `supabase_execute_sql` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/supabase-execute-sql.md
- `twilio_make_call` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/twilio-make-call.md
- `twilio_send_sms` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/twilio-send-sms.md
- `vercel_create_deployment` — Execute — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/vercel-create-deployment.md
- `stripe_create_payment_intent` — Financial — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/stripe-create-payment-intent.md
- `author` — Other — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/author.md
- `generate_password` — Other — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/generate-password.md
- `generate_users` — Other — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/generate-users.md
- `airtable_get_record` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-get-record.md
- `airtable_list_bases` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-list-bases.md
- `airtable_list_records` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-list-records.md
- `airtable_list_tables` — Read — https://policylayer.com/tools/shriram-vasudevan-integrations-mcp/airtable-list-tables.md
- …and 389 more: https://policylayer.com/tools/shriram-vasudevan-integrations-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=shriram-vasudevan-integrations-mcp · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/shriram-vasudevan-integrations-mcp
