Overview

The Connextify MCP server provides 76 tools across 6 categories for AI assistants to manage your links, QR codes, custom domains, marketing campaigns, A/B split tests, and conversions.
All tools require authentication via the x-mcp-key header with your MCP API key.

Tool Categories

CategoryToolsDescription
URL16URL shortening and management
QR Code12QR code generation and management
Analytics17Click tracking, conversions, and insights
Domain14Subdomain and branded domain management
Campaign8Campaign organization
A/B Testing9A/B split test configuration and lifecycle

URL Tools (16)

shortenUrl

Create a new short URL.
url
string
required
The URL to shorten (must include http:// or https://)
customAlias
string
Custom alias for the short URL (3-50 chars, alphanumeric with dashes/underscores)
name
string
Friendly name for the link
tracking_enabled
boolean
default:true
Enable click tracking
is_dynamic
boolean
default:false
Enable dynamic link editing (302 redirect)
campaign_id
string
Associate with a campaign ID (UUID)
urlType
string
default:"standard"
Type of URL: standard, branded, subdomain
branded_domain
string
Use a custom branded domain
subdomain
string
Use a cnfy.link subdomain
tags
array
Tags for categorization (array of strings)
Example:
{
  "tool": "shortenUrl",
  "input": {
    "url": "https://example.com/long-path",
    "customAlias": "my-link",
    "name": "Newsletter Link",
    "is_dynamic": true,
    "tags": ["marketing", "autumn-2024"]
  }
}

listUrls

List all your short URLs with pagination and filtering.
page
integer
default:1
Page number
limit
integer
default:10
Items per page
Search by name or URL
sortBy
string
Sort field: clicks, created_at, name

getUrl

Get details of a specific short URL.
shortCode
string
required
The short code or custom alias (e.g., “abc123” or “my-link”)

updateUrl

Update an existing short URL.
shortCode
string
required
The short code or custom alias
name
string
New name
tracking_enabled
boolean
Enable/disable tracking
is_dynamic
boolean
Update dynamic status
password
string
Update or set password
tags
array
Update categorization tags
campaign_id
string
Update campaign association (UUID or “none”)
urlType
string
Change Link Branding style: standard, branded, subdomain
branded_domain
string
Change branded domain
subdomain
string
Change subdomain

deleteUrl

Delete a short URL.
shortCode
string
required
The short code or custom alias

Other URL Tools

  • getUserUrlCount - Get total count of your URLs
  • getUserUrlStats - Get aggregate URL statistics
  • checkAliasAvailability - Check if an alias is available
  • getUrlStats - Get stats for a specific URL
  • getUrlAnalytics - Get comprehensive analytics summary grouped by source
  • checkSubdomainAvailabilityUrl - Check subdomain availability
  • getUserDomains - List all your domains and subdomains
  • verifySubdomain - Verify subdomain ownership
  • getRecentUrls - Get recently created URLs

QR Code Tools (12)

generateQr

Generate a new QR code.
type
string
required
Content type: url, text, wifi, vcard, email, phone, sms, location
content
string
required
The content to encode
name
string
Friendly name
size
integer
default:300
QR code size in pixels
foregroundColor
string
default:"#000000"
Foreground color (hex)
backgroundColor
string
default:"#FFFFFF"
Background color (hex)
Example:
{
  "tool": "generateQr",
  "input": {
    "type": "url",
    "content": "https://example.com",
    "name": "Website QR",
    "size": 400
  }
}

listQrCodes

List all your QR codes.

getQrCode

Get details of a specific QR code.
id
string
required
QR code UUID

updateQrCode

Update a QR code (dynamic QR codes only).

deleteQrCode

Delete a QR code.

Other QR Tools

  • getQrCodeCount - Get total count of QR codes
  • getQrCodeStats - Get aggregate QR statistics
  • getQrCodeAnalytics - Get analytics for a specific QR code
  • getAllQrAnalytics - Get all QR analytics
  • getQrStatsOverview - Get QR stats overview
  • trackQrScan - Manually track a scan
  • getTrackedQrCount - Get tracking-enabled QR count

Analytics Tools (16)

getStats

Get click statistics for a URL.
shortUrlId
string
required
Short code or custom alias (e.g., “abc123” or “my-promo”)
period
string
default:"7d"
Time period: 7d, 30d, 90d, 1y

getGeographicStats

Get geographic breakdown of clicks.
shortUrlId
string
required
Short code or custom alias

getUtmAnalytics

Get UTM campaign parameter breakdown.

getDeviceAnalytics

Get device, browser, and OS breakdown.

getCompleteAnalytics

Get comprehensive analytics for a URL.
shortUrlId
string
required
Short code or custom alias
startDate
string
Start date (ISO 8601)
endDate
string
End date (ISO 8601)

recordConversion

Record a custom conversion event (e.g., signup, lead, purchase) associated with a click ID.
cnfy_click_id
string
required
The click ID extracted from the landing page URL query parameters (typically cnfy_click_id, or legacy connextify_click_id)
event_name
string
required
The name of the conversion event (e.g. lead, purchase, signup)
value
number
Optional monetary value of the conversion (e.g., 49.00)
currency
string
Optional 3-letter currency code (default: “USD”)
metadata
object
Optional custom JSON metadata/context for the conversion event

getAbTestAnalytics

Get detailed A/B test analytics, conversion rates, and statistical significance.
id
string
required
The short code or custom alias of the short URL associated with the A/B test, or the A/B test UUID. Prioritizes short code/alias first.
days
integer
default:7
Number of days of timeline history to include

Other Analytics Tools

  • getOverviewStats - Account-wide statistics
  • getClicksTimeline - Clicks over time
  • getTopPerformingUrls - Best performing URLs
  • getReferrersData - Traffic sources breakdown
  • getUserLocationAnalytics - Global location data
  • getUrlsWithUtm - URLs with UTM parameters
  • getTrafficQuality - Bot vs human traffic
  • getClickDetails - Individual click logs
  • getUserDeviceAnalytics - Device breakdown
  • getRecentActivity - Recent click activity
  • getBrandAnalytics - Branded domain analytics

Domain Tools (14)

getUserDomains

Get a comprehensive list of all your domains and subdomains (both cnfy.link subdomains and branded custom domains).

createSubdomain

Create a new subdomain under cnfy.link.
subdomain
string
required
Subdomain name (3-63 chars, alphanumeric with hyphens)
name
string
Display name

createBrandedDomain

Add a custom branded domain.
domain
string
required
Your domain (e.g., “links.company.com”)

verifyBrandedDomain

Verify ownership of a branded domain via DNS.

Other Domain Tools

  • updateSubdomain - Update subdomain settings
  • deleteSubdomain - Delete a subdomain
  • getUserDomains - List all your domains and subdomains
  • updateBrandedDomain - Update branded domain
  • deleteBrandedDomain - Delete branded domain
  • checkSubdomainAvailability - Check if subdomain is available
  • checkDomainAvailability - Check if domain is available
  • getDomainSuggestions - Get domain name suggestions
  • getTxtVerificationInfo - Get DNS verification instructions
  • verifyTxtRecord - Verify DNS TXT record

Campaign Tools (8)

createCampaign

Create a new campaign.
name
string
required
Campaign name
description
string
Campaign description
tags
array
Tags for categorization

listCampaigns

List all campaigns.

getCampaign

Get campaign details.

getCampaignAnalytics

Get campaign performance analytics.

Other Campaign Tools

  • updateCampaign - Update campaign details
  • deleteCampaign - Delete a campaign
  • getCampaignUrls - Get URLs in a campaign
  • assignUrlToCampaign - Add URL to campaign
  • removeUrlFromCampaign - Remove URL from campaign

A/B Testing Tools (9)

A/B Testing tools allow you to create split tests to distribute traffic dynamically between multiple landing pages/variants and track conversions to optimize your funnels.

createAbTest

Create a new A/B split test. If primary_url_id is not provided, a new rotator short link will be programmatically created using short_code (custom alias) or a random suffix.
name
string
required
Friendly name/title for the A/B test
variants
array
required
Array of variant objects (minimum 2). Each variant must contain a destination_url and optional name and traffic_weight.
short_code
string
Optional custom short code alias for the new rotator link (only used if primary_url_id is omitted).
primary_url_id
string
Optional UUID of an existing primary short URL to run the A/B test on.
traffic_split_mode
string
default:"equal"
Traffic split strategy: equal or weighted (if weighted, variant weights must sum to 100)
conversions_enabled
boolean
default:false
Enable conversion tracking for this split test
min_sample_size
integer
default:100
Minimum visitors per variant before significance is calculated
confidence_level
integer
default:95
Target statistical confidence level: 90, 95, or 99

listAbTests

List all your A/B split tests with optional status and archived state filtering.
status
string
Filter by status: draft, running, paused, completed
archived
boolean
default:false
Include archived tests

getAbTest

Get detailed setup configurations, status, and variant details of a specific A/B test.
id
string
required
REQUIRED. The short code or custom alias of the short URL associated with the test, or the A/B test UUID. Prioritizes short code/alias first.

updateAbTest

Update draft A/B test parameters (name, description, variants weights, or URLs). Active/completed tests cannot be updated.
id
string
required
REQUIRED. The short code or custom alias of the short URL associated with the test, or the A/B test UUID. Prioritizes short code/alias first.
name
string
New test name
variants
array
List of variants to update. Each variant object must contain the variant id (UUID).

deleteAbTest

Permanently delete an A/B test and its variants. If running or paused, also disables A/B testing routing on the primary short URL.
id
string
required
REQUIRED. The short code or custom alias of the short URL associated with the test, or the A/B test UUID. Prioritizes short code/alias first.

startAbTest

Start a draft or paused A/B test. Traffic to the short URL will begin routing and splitting among variants.
id
string
required
REQUIRED. The short code or custom alias of the short URL associated with the test, or the A/B test UUID. Prioritizes short code/alias first.

pauseAbTest

Pause a running A/B test. Traffic to the short URL will fallback to the original/primary destination rather than routing/splitting to variants.
id
string
required
REQUIRED. The short code or custom alias of the short URL associated with the test, or the A/B test UUID. Prioritizes short code/alias first.

resumeAbTest

Resume a paused A/B test. Traffic to the short URL will resume routing and splitting among variants.
id
string
required
REQUIRED. The short code or custom alias of the short URL associated with the test, or the A/B test UUID. Prioritizes short code/alias first.

completeAbTest

Complete an active or paused A/B test. Traffic splitting will end, and the short URL will permanently redirect to the winner variant. If winner_variant_id is omitted, the variant with the highest conversions will be automatically declared the winner.
id
string
required
REQUIRED. The short code or custom alias of the short URL associated with the test, or the A/B test UUID. Prioritizes short code/alias first.
winner_variant_id
string
Optional UUID of the winning variant to permanently route traffic to. If omitted, the winner is auto-detected.

Calling Tools via MCP Protocol

Use the JSON-RPC 2.0 protocol to execute tools:
curl -X POST https://connextify.com/mcp \
  -H "Content-Type: application/json" \
  -H "x-mcp-key: YOUR_MCP_API_KEY" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "tools/call",
    "params": {
      "name": "shortenUrl",
      "arguments": {
        "url": "https://example.com/page",
        "customAlias": "my-page"
      }
    }
  }'

Error Handling

All tools return structured error responses:
{
  "success": false,
  "error": "Human-readable message",
  "code": "ERROR_CODE",
  "hint": "Suggestion to resolve the error",
  "retryable": false
}
Common error codes:
  • VALIDATION_ERROR - Invalid input parameters
  • ALIAS_EXISTS - Custom alias already taken
  • URL_NOT_FOUND - Short URL doesn’t exist
  • PLAN_LIMIT_EXCEEDED - Rate limit reached
  • AUTHENTICATION_REQUIRED - Missing API key

MCP Setup

Configure your MCP client

Resources

Access read-only data