Overview

The Jmpy.me MCP server provides 66 tools across 5 categories for AI assistants to manage your links and QR codes.
All tools require authentication via the x-mcp-key header with your MCP API key.

Tool Categories

CategoryToolsDescription
URL15URL shortening and management
QR Code12QR code generation and management
Analytics17Click tracking and insights
Domain14Subdomain and branded domain management
Campaign8Campaign organization

URL Tools (15)

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
Example:
{
  "tool": "shortenUrl",
  "input": {
    "url": "https://example.com/long-path",
    "customAlias": "my-link",
    "name": "Newsletter Link"
  }
}

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

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 analytics filtered by source/date
  • checkSubdomainAvailabilityUrl - Check subdomain availability
  • getUserSubdomains - List your 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
  • getTrackingCount - Get tracking-enabled QR count

Analytics Tools (17)

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)

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
  • getAbTestAnalytics - A/B test results
  • getClickDetails - Individual click logs
  • getUserDeviceAnalytics - Device breakdown
  • getRecentActivity - Recent click activity
  • getBrandAnalytics - Branded domain analytics

Domain Tools (14)

listDomains

List all your subdomains and branded domains.

createSubdomain

Create a new subdomain under jmpy.me.
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
  • listBrandedDomains - List branded domains
  • 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

Calling Tools via MCP Protocol

Use the JSON-RPC 2.0 protocol to execute tools:
curl -X POST https://jmpy.me/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