Crawler Summary

URL Shortener, Link Safety Scanner, QR Code Generator & Link Preview Metadata answer-first brief

### URL Shortener & Link Safety Scanner - MCP Server The complete **URL management and link security toolkit** for AI agents. Shorten URLs, scan links for safety threats, inspect SSL certificates, follow redirect chains, track click analytics, and generate QR codes all through 8 powerful MCP tools. Built for AI agents, chatbots, and LLM-powered workflows that need to safely interact with URLs on the internet. --- #### πŸ”— Tool 1: `shorten_url` - URL Shortener API Create **short links** and **branded URLs** with a single tool call. Supports custom slugs (e.g., `clipi.cc/my-brand`), password-protected links, expiration dates, click limits, and Android/iOS deep linking. Every URL is validated against **Google Safe Browsing** and a domain blacklist before shortening. **Keywords:** url shortener, link shortener, short url generator, custom short link, branded url, url shortening api, shorten link, tiny url, bit.ly alternative --- #### πŸ” Tool 2: `preview_and_verify_url` - URL Safety Scanner & Link Preview The most comprehensive **URL scanning tool** available via MCP. Analyzes any URL and returns: - **Link Preview Metadata** - title, description, Open Graph image, site name, domain, favicon - **Safety Verdict** - Google Safe Browsing threat detection, domain blacklist check, accessibility verification - **SSL Certificate Inspection** - issuer, organization, validity dates, TLS protocol version - **Redirect Chain Analysis** - final destination URL, redirect count, response time, content type detection - **Shortened URL Detection** - identifies links from 50+ URL shortener services (bit.ly, t.co, goo.gl, etc.) Use this tool to **verify unknown links before clicking**, detect **phishing URLs**, identify **malware links**, and extract **Open Graph metadata** for previews. **Keywords:** url scanner, link checker, phishing detection, malware url scanner, url safety check, link preview api, open graph metadata, ssl checker, redirect tracker, url verification, link validator, safe browsing api, url reputation check, website safety scanner, suspicious link checker, anti-phishing tool --- #### πŸ“Š Tool 3: `get_link_analytics` - Link Click Analytics & Tracking Get real-time **click analytics** for any shortened link. Returns total clicks, unique visitors, country breakdown, device type breakdown (desktop/mobile/tablet), browser breakdown (Chrome/Safari/Firefox), and a detailed **recent click activity feed** with timestamps, locations, device types, and referrers. **Keywords:** link analytics api, click tracking, url analytics, link click counter, link tracking api, click statistics, url performance tracker, link monitoring --- #### πŸ“‹ Tool 4: `get_link_details` - Link Information Lookup Retrieve full details of any shortened link - destination URL, creation date, preview metadata (title, description, image), custom slug, expiry settings, password protection status, click limits, active/inactive status, and security flags. **Keywords:** link details api, url info lookup, short url details, link metadata, url information retrieval --- #### πŸ“ Tool 5: `list_all_links` - List & Manage All Links List all short links created under your API key. Returns complete details for every link, enabling AI agents to browse, audit, and manage an entire link portfolio programmatically. **Keywords:** link management api, list all urls, url manager, bulk link lookup, link inventory --- #### ✏️ Tool 6: `update_link` - Update Link Destination & Settings Update a short link's destination URL, active/inactive status, or device-specific redirect URLs (Android/iOS deep links). URL changes are re-validated for safety automatically. Ownership enforcement ensures you can only update your own links. **Keywords:** update short link, change url destination, link editor api, modify short url, url redirect update --- #### πŸ—‘οΈ Tool 7: `delete_link` - Delete Short Links Permanently delete a short link. Ownership enforcement ensures you can only delete links you created. Returns confirmation with the deleted URL key. **Keywords:** delete short link api, remove url, link deletion, url cleanup --- #### πŸ“± Tool 8: `generate_qr_code_url` - QR Code Generator Generate a **downloadable QR code image** (PNG) for any short link. Customize the image size (50–1000px). Returns a direct URL to the QR code that can be embedded in documents, emails, presentations, or web pages. **Keywords:** qr code generator api, qr code for url, qr code maker, generate qr code, qr code image api, dynamic qr code, qr code creator --- ### Authentication Two authentication methods: 1. **Server-Level API Key** - Set the `MCP_API_KEY` environment variable when configuring the MCP server. All tool calls are auto-authenticated. 2. **Per-Call API Key** - Pass your `apikey` as a tool parameter on each call. Useful when multiple users share one MCP server. Get your free API key at [clipi.cc](https://clipi.cc) or email us [email protected] --- ### Use Cases for AI Agents | Use Case | Tools Used | |----------|-----------| | "Shorten this URL and give me a QR code" | `shorten_url` β†’ `generate_qr_code_url` | | "Is this link safe to click?" | `preview_and_verify_url` | | "Check if anyone clicked my link" | `get_link_analytics` | | "Create a branded campaign link with tracking" | `shorten_url` (custom slug) β†’ `get_link_analytics` | | "Scan this shortened bit.ly link before opening" | `preview_and_verify_url` | | "List all my active links and deactivate expired ones" | `list_all_links` β†’ `update_link` | --- ### Tags (for Smithery search & categories) ``` url-shortener, link-scanner, url-safety, phishing-detection, link-preview, qr-code, click-analytics, ssl-checker, redirect-tracker, url-verification, link-management, open-graph, malware-scanner, link-tracking, safe-browsing, branded-links, url-intelligence, web-security ``` ### Categories ``` Security, Data, Productivity, Web ``` Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Freshness

Last checked 4/15/2026

Best For

URL Shortener, Link Safety Scanner, QR Code Generator & Link Preview Metadata is best for general automation workflows where MCP compatibility matters.

Not Ideal For

Contract metadata is missing or unavailable for deterministic execution.

Evidence Sources Checked

Smithery, Smithery, runtime-metrics, public facts pack

Agent DossierSmitherySafety: 86/100

URL Shortener, Link Safety Scanner, QR Code Generator & Link Preview Metadata

### URL Shortener & Link Safety Scanner - MCP Server The complete **URL management and link security toolkit** for AI agents. Shorten URLs, scan links for safety threats, inspect SSL certificates, follow redirect chains, track click analytics, and generate QR codes all through 8 powerful MCP tools. Built for AI agents, chatbots, and LLM-powered workflows that need to safely interact with URLs on the internet. --- #### πŸ”— Tool 1: `shorten_url` - URL Shortener API Create **short links** and **branded URLs** with a single tool call. Supports custom slugs (e.g., `clipi.cc/my-brand`), password-protected links, expiration dates, click limits, and Android/iOS deep linking. Every URL is validated against **Google Safe Browsing** and a domain blacklist before shortening. **Keywords:** url shortener, link shortener, short url generator, custom short link, branded url, url shortening api, shorten link, tiny url, bit.ly alternative --- #### πŸ” Tool 2: `preview_and_verify_url` - URL Safety Scanner & Link Preview The most comprehensive **URL scanning tool** available via MCP. Analyzes any URL and returns: - **Link Preview Metadata** - title, description, Open Graph image, site name, domain, favicon - **Safety Verdict** - Google Safe Browsing threat detection, domain blacklist check, accessibility verification - **SSL Certificate Inspection** - issuer, organization, validity dates, TLS protocol version - **Redirect Chain Analysis** - final destination URL, redirect count, response time, content type detection - **Shortened URL Detection** - identifies links from 50+ URL shortener services (bit.ly, t.co, goo.gl, etc.) Use this tool to **verify unknown links before clicking**, detect **phishing URLs**, identify **malware links**, and extract **Open Graph metadata** for previews. **Keywords:** url scanner, link checker, phishing detection, malware url scanner, url safety check, link preview api, open graph metadata, ssl checker, redirect tracker, url verification, link validator, safe browsing api, url reputation check, website safety scanner, suspicious link checker, anti-phishing tool --- #### πŸ“Š Tool 3: `get_link_analytics` - Link Click Analytics & Tracking Get real-time **click analytics** for any shortened link. Returns total clicks, unique visitors, country breakdown, device type breakdown (desktop/mobile/tablet), browser breakdown (Chrome/Safari/Firefox), and a detailed **recent click activity feed** with timestamps, locations, device types, and referrers. **Keywords:** link analytics api, click tracking, url analytics, link click counter, link tracking api, click statistics, url performance tracker, link monitoring --- #### πŸ“‹ Tool 4: `get_link_details` - Link Information Lookup Retrieve full details of any shortened link - destination URL, creation date, preview metadata (title, description, image), custom slug, expiry settings, password protection status, click limits, active/inactive status, and security flags. **Keywords:** link details api, url info lookup, short url details, link metadata, url information retrieval --- #### πŸ“ Tool 5: `list_all_links` - List & Manage All Links List all short links created under your API key. Returns complete details for every link, enabling AI agents to browse, audit, and manage an entire link portfolio programmatically. **Keywords:** link management api, list all urls, url manager, bulk link lookup, link inventory --- #### ✏️ Tool 6: `update_link` - Update Link Destination & Settings Update a short link's destination URL, active/inactive status, or device-specific redirect URLs (Android/iOS deep links). URL changes are re-validated for safety automatically. Ownership enforcement ensures you can only update your own links. **Keywords:** update short link, change url destination, link editor api, modify short url, url redirect update --- #### πŸ—‘οΈ Tool 7: `delete_link` - Delete Short Links Permanently delete a short link. Ownership enforcement ensures you can only delete links you created. Returns confirmation with the deleted URL key. **Keywords:** delete short link api, remove url, link deletion, url cleanup --- #### πŸ“± Tool 8: `generate_qr_code_url` - QR Code Generator Generate a **downloadable QR code image** (PNG) for any short link. Customize the image size (50–1000px). Returns a direct URL to the QR code that can be embedded in documents, emails, presentations, or web pages. **Keywords:** qr code generator api, qr code for url, qr code maker, generate qr code, qr code image api, dynamic qr code, qr code creator --- ### Authentication Two authentication methods: 1. **Server-Level API Key** - Set the `MCP_API_KEY` environment variable when configuring the MCP server. All tool calls are auto-authenticated. 2. **Per-Call API Key** - Pass your `apikey` as a tool parameter on each call. Useful when multiple users share one MCP server. Get your free API key at [clipi.cc](https://clipi.cc) or email us [email protected] --- ### Use Cases for AI Agents | Use Case | Tools Used | |----------|-----------| | "Shorten this URL and give me a QR code" | `shorten_url` β†’ `generate_qr_code_url` | | "Is this link safe to click?" | `preview_and_verify_url` | | "Check if anyone clicked my link" | `get_link_analytics` | | "Create a branded campaign link with tracking" | `shorten_url` (custom slug) β†’ `get_link_analytics` | | "Scan this shortened bit.ly link before opening" | `preview_and_verify_url` | | "List all my active links and deactivate expired ones" | `list_all_links` β†’ `update_link` | --- ### Tags (for Smithery search & categories) ``` url-shortener, link-scanner, url-safety, phishing-detection, link-preview, qr-code, click-analytics, ssl-checker, redirect-tracker, url-verification, link-management, open-graph, malware-scanner, link-tracking, safe-browsing, branded-links, url-intelligence, web-security ``` ### Categories ``` Security, Data, Productivity, Web ```

MCPself-declared

Public facts

3

Change events

0

Artifacts

0

Freshness

Apr 15, 2026

Self-declaredSmitheryNo verified compatibility signals

Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Trust evidence available

Trust score

Unknown

Compatibility

MCP

Freshness

Apr 15, 2026

Vendor

Clipi

Artifacts

0

Benchmarks

0

Last release

Unpublished

Executive Summary

Key links, install path, and a quick operational read before the deeper crawl record.

Self-declaredSmithery

Summary

Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.

Setup snapshot

  1. 1

    No published capability contract is available yet, so validate auth and request/response behavior manually.

  2. 2

    Review the upstream Smithery listing at https://clipi.cc before using production credentials.

Evidence Ledger

Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.

Self-declaredSmithery
Vendor (1)

Vendor

Clipi

profilemedium
Observed Apr 15, 2026Source linkProvenance
Compatibility (1)

Protocol compatibility

MCP

contractmedium
Observed Apr 15, 2026Source linkProvenance
Security (1)

Handshake status

UNKNOWN

trustmedium
Observed unknownSource linkProvenance

Release & Crawl Timeline

Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.

Self-declaredagent-index

Artifacts Archive

Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.

Self-declaredSmithery

Extracted files

0

Examples

2

Snippets

0

Languages

Unknown

Executable Examples

text

url-shortener, link-scanner, url-safety, phishing-detection, link-preview,
qr-code, click-analytics, ssl-checker, redirect-tracker, url-verification,
link-management, open-graph, malware-scanner, link-tracking, safe-browsing,
branded-links, url-intelligence, web-security

text

Security, Data, Productivity, Web

Docs & README

Full documentation captured from public sources, including the complete README when available.

Self-declaredSmithery

Docs source

Smithery

Editorial quality

thin

URL Shortener & Link Safety Scanner - MCP Server The complete **URL management and link security toolkit** for AI agents. Shorten URLs, scan links for safety threats, inspect SSL certificates, follow redirect chains, track click analytics, and generate QR codes all through 8 powerful MCP tools. Built for AI agents, chatbots, and LLM-powered workflows that need to safely interact with URLs on the internet. --- πŸ”— Tool

Full README

URL Shortener & Link Safety Scanner - MCP Server

The complete URL management and link security toolkit for AI agents. Shorten URLs, scan links for safety threats, inspect SSL certificates, follow redirect chains, track click analytics, and generate QR codes all through 8 powerful MCP tools.

Built for AI agents, chatbots, and LLM-powered workflows that need to safely interact with URLs on the internet.


πŸ”— Tool 1: shorten_url - URL Shortener API

Create short links and branded URLs with a single tool call. Supports custom slugs (e.g., clipi.cc/my-brand), password-protected links, expiration dates, click limits, and Android/iOS deep linking. Every URL is validated against Google Safe Browsing and a domain blacklist before shortening.

Keywords: url shortener, link shortener, short url generator, custom short link, branded url, url shortening api, shorten link, tiny url, bit.ly alternative


πŸ” Tool 2: preview_and_verify_url - URL Safety Scanner & Link Preview

The most comprehensive URL scanning tool available via MCP. Analyzes any URL and returns:

  • Link Preview Metadata - title, description, Open Graph image, site name, domain, favicon
  • Safety Verdict - Google Safe Browsing threat detection, domain blacklist check, accessibility verification
  • SSL Certificate Inspection - issuer, organization, validity dates, TLS protocol version
  • Redirect Chain Analysis - final destination URL, redirect count, response time, content type detection
  • Shortened URL Detection - identifies links from 50+ URL shortener services (bit.ly, t.co, goo.gl, etc.)

Use this tool to verify unknown links before clicking, detect phishing URLs, identify malware links, and extract Open Graph metadata for previews.

Keywords: url scanner, link checker, phishing detection, malware url scanner, url safety check, link preview api, open graph metadata, ssl checker, redirect tracker, url verification, link validator, safe browsing api, url reputation check, website safety scanner, suspicious link checker, anti-phishing tool


πŸ“Š Tool 3: get_link_analytics - Link Click Analytics & Tracking

Get real-time click analytics for any shortened link. Returns total clicks, unique visitors, country breakdown, device type breakdown (desktop/mobile/tablet), browser breakdown (Chrome/Safari/Firefox), and a detailed recent click activity feed with timestamps, locations, device types, and referrers.

Keywords: link analytics api, click tracking, url analytics, link click counter, link tracking api, click statistics, url performance tracker, link monitoring


πŸ“‹ Tool 4: get_link_details - Link Information Lookup

Retrieve full details of any shortened link - destination URL, creation date, preview metadata (title, description, image), custom slug, expiry settings, password protection status, click limits, active/inactive status, and security flags.

Keywords: link details api, url info lookup, short url details, link metadata, url information retrieval


πŸ“ Tool 5: list_all_links - List & Manage All Links

List all short links created under your API key. Returns complete details for every link, enabling AI agents to browse, audit, and manage an entire link portfolio programmatically.

Keywords: link management api, list all urls, url manager, bulk link lookup, link inventory


✏️ Tool 6: update_link - Update Link Destination & Settings

Update a short link's destination URL, active/inactive status, or device-specific redirect URLs (Android/iOS deep links). URL changes are re-validated for safety automatically. Ownership enforcement ensures you can only update your own links.

Keywords: update short link, change url destination, link editor api, modify short url, url redirect update


πŸ—‘οΈ Tool 7: delete_link - Delete Short Links

Permanently delete a short link. Ownership enforcement ensures you can only delete links you created. Returns confirmation with the deleted URL key.

Keywords: delete short link api, remove url, link deletion, url cleanup


πŸ“± Tool 8: generate_qr_code_url - QR Code Generator

Generate a downloadable QR code image (PNG) for any short link. Customize the image size (50–1000px). Returns a direct URL to the QR code that can be embedded in documents, emails, presentations, or web pages.

Keywords: qr code generator api, qr code for url, qr code maker, generate qr code, qr code image api, dynamic qr code, qr code creator


Authentication

Two authentication methods:

  1. Server-Level API Key - Set the MCP_API_KEY environment variable when configuring the MCP server. All tool calls are auto-authenticated.
  2. Per-Call API Key - Pass your apikey as a tool parameter on each call. Useful when multiple users share one MCP server.

Get your free API key at clipi.cc or email us [email protected]


Use Cases for AI Agents

| Use Case | Tools Used | |----------|-----------| | "Shorten this URL and give me a QR code" | shorten_url β†’ generate_qr_code_url | | "Is this link safe to click?" | preview_and_verify_url | | "Check if anyone clicked my link" | get_link_analytics | | "Create a branded campaign link with tracking" | shorten_url (custom slug) β†’ get_link_analytics | | "Scan this shortened bit.ly link before opening" | preview_and_verify_url | | "List all my active links and deactivate expired ones" | list_all_links β†’ update_link |


Tags (for Smithery search & categories)

url-shortener, link-scanner, url-safety, phishing-detection, link-preview,
qr-code, click-analytics, ssl-checker, redirect-tracker, url-verification,
link-management, open-graph, malware-scanner, link-tracking, safe-browsing,
branded-links, url-intelligence, web-security

Categories

Security, Data, Productivity, Web

Contract & API

Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.

MissingSmithery

Contract coverage

Status

missing

Auth

None

Streaming

No

Data region

Unspecified

Protocol support

MCP: self-declared

Requires: none

Forbidden: none

Guardrails

Operational confidence: low

No positive guardrails captured.
Invocation examples
curl -s "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/snapshot"
curl -s "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/contract"
curl -s "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/trust"

Reliability & Benchmarks

Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.

Missingruntime-metrics

Trust signals

Handshake

UNKNOWN

Confidence

unknown

Attempts 30d

unknown

Fallback rate

unknown

Runtime metrics

Observed P50

unknown

Observed P95

unknown

Rate limit

unknown

Estimated cost

unknown

Do not use if

Contract metadata is missing or unavailable for deterministic execution.
No benchmark suites or observed failure patterns are available.

Media & Demo

Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.

Missingno-media
No screenshots, media assets, or demo links are available.

Related Agents

Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.

Self-declaredprotocol-neighbors
Ard RegistryUpdated 6h agoRank 94

Brainiall NLP

Sentiment, toxicity, entity extraction, PII, translation, summary, QA, fraud scoring, safety audit.

MCPmcpmcp-registry
Ard RegistryUpdated 7h agoRank 94

Revuo

Agent-callable B2B SaaS directory: capability-structured, continuously verified listings.

MCPmcpmcp-registry
Ard RegistryUpdated 8h agoRank 94

Inferventis MCP Server

Loan & mortgage calculator, compound interest, ROI, crypto prices, FX conversion for AI agents.

MCPmcpmcp-registry
Ard RegistryUpdated 8h agoRank 94

ShortlistLens

Structured website and review evidence for AI-assisted local-business shortlisting.

MCPmcpmcp-registry
Machine Appendix

Contract JSON

{
  "contractStatus": "missing",
  "authModes": [],
  "requires": [],
  "forbidden": [],
  "supportsMcp": false,
  "supportsA2a": false,
  "supportsStreaming": false,
  "inputSchemaRef": null,
  "outputSchemaRef": null,
  "dataRegion": null,
  "contractUpdatedAt": null,
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Invocation Guide

{
  "preferredApi": {
    "snapshotUrl": "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/snapshot",
    "contractUrl": "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/contract",
    "trustUrl": "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/trust"
  },
  "curlExamples": [
    "curl -s \"https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/snapshot\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/contract\"",
    "curl -s \"https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/trust\""
  ],
  "jsonRequestTemplate": {
    "query": "summarize this repo",
    "constraints": {
      "maxLatencyMs": 2000,
      "protocolPreference": [
        "MCP"
      ]
    }
  },
  "jsonResponseTemplate": {
    "ok": true,
    "result": {
      "summary": "...",
      "confidence": 0.9
    },
    "meta": {
      "source": "SMITHERY",
      "generatedAt": "2026-10-10T02:08:10.913Z"
    }
  },
  "retryPolicy": {
    "maxAttempts": 3,
    "backoffMs": [
      500,
      1500,
      3500
    ],
    "retryableConditions": [
      "HTTP_429",
      "HTTP_503",
      "NETWORK_TIMEOUT"
    ]
  }
}

Trust JSON

{
  "status": "unavailable",
  "handshakeStatus": "UNKNOWN",
  "verificationFreshnessHours": null,
  "reputationScore": null,
  "p95LatencyMs": null,
  "successRate30d": null,
  "fallbackRate": null,
  "attempts30d": null,
  "trustUpdatedAt": null,
  "trustConfidence": "unknown",
  "sourceUpdatedAt": null,
  "freshnessSeconds": null
}

Capability Matrix

{
  "rows": [
    {
      "key": "MCP",
      "type": "protocol",
      "support": "unknown",
      "confidenceSource": "profile",
      "notes": "Listed on profile"
    }
  ],
  "flattenedTokens": "protocol:MCP|unknown|profile"
}

Facts JSON

[
  {
    "factKey": "vendor",
    "category": "vendor",
    "label": "Vendor",
    "value": "Clipi",
    "href": "https://clipi.cc",
    "sourceUrl": "https://clipi.cc",
    "sourceType": "profile",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:42:29.652Z",
    "isPublic": true
  },
  {
    "factKey": "protocols",
    "category": "compatibility",
    "label": "Protocol compatibility",
    "value": "MCP",
    "href": "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/contract",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/contract",
    "sourceType": "contract",
    "confidence": "medium",
    "observedAt": "2026-04-15T00:42:29.652Z",
    "isPublic": true
  },
  {
    "factKey": "handshake_status",
    "category": "security",
    "label": "Handshake status",
    "value": "UNKNOWN",
    "href": "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/trust",
    "sourceUrl": "https://www.xpersona.co/api/v1/agents/smithery-clipi-url-shortener/trust",
    "sourceType": "trust",
    "confidence": "medium",
    "observedAt": null,
    "isPublic": true
  }
]

Change Events JSON

[]

Sponsored

Ads related to URL Shortener, Link Safety Scanner, QR Code Generator & Link Preview Metadata and adjacent AI workflows.