85trust / 100

esyURL

by esyurl.fyi in Other

MCP serverPassing, checked 8 h ago

Short links and trackable QR codes: editable after printing, device routing, scan stats.

https://esyurl.fyi/mcp
Tools
21
open to any client
Uptime
100%
last 30 days
Response time
471 ms
725 ms slowest 5%
Last check
Passed
8 h ago, next any minute now

Scan it nowHow to connect

Reliability

All checks passedSome failedAll failedNot checked

Status and outage history · Atom feed · Watch with other listings

How to connect

Add it to any MCP client that supports remote servers.

{
  "mcpServers": {
    "esyurl": {
      "type": "http",
      "url": "https://esyurl.fyi/mcp"
    }
  }
}

21 tools

  • create_short_link

    Create a short link that redirects to targetUrl, or shows a link page (pass page instead of targetUrl). Returns the link, including linkId (use it with the other tools) and shortUrl (share this). Give a slug for a memorable URL, otherwise a random 8-character one is generated…

  • list_short_links

    List your short links, newest first. Filter by tag and/or groupId. A page can hold fewer than limit items even when more exist: keep calling with cursor = nextCursor until nextCursor is absent.

  • get_short_link

    Fetch one short link by linkId, including its groupIds and lifetime visitCount.

  • update_short_link

    Change a short link. Only the fields you pass change; tags, metadata, qrStyle and groupIds are replaced wholesale (pass the full new list; [] clears). Set targetUrl to send visitors somewhere else: the short URL and printed QR codes keep working. Set status "paused" to make the…

  • preview_link_page

    Render a link's page as HTML for a simulated visit, without recording anything: the saved page, or a draft (page) to try before saving (pictures given as data URLs are drawn inline; nothing is stored or charged). Returns the visible item ids (items with "when" conditions depend…

  • set_domain_home_page

    Choose the link that the root (/) of this tenant's custom domain shows: a link page becomes the domain's home page, a redirect link sends / there. Pass linkId null to clear it (/ answers 404 again). Has no effect on the platform domain.

  • delete_short_link

    Permanently delete a short link and remove it from its groups. Its short URL and any printed QR codes stop working (404) and the slug becomes free for anyone. Prefer update_short_link status "paused" if the link may come back.

  • test_redirect_rules

    Dry run: which destination would a visit with these properties get from this link's rules? For a link page with no matching rule it returns page.itemIds (the buttons that visit would see) instead of targetUrl. Records no visit. Pass a real userAgent to test device routing, e.g…

  • get_short_link_visits

    Visit analytics for one link: totals over the window ({visits, qr, direct, bot}; visits = qr + direct, bots such as link-preview crawlers are counted separately and excluded from visits), a zero-filled per-day breakdown (UTC, oldest first), and the most recent individual visits…

  • render_qr_code

    Render a QR code as a PNG image. Pass linkId to render a short link: the image encodes {shortUrl}?s=qr so scans are counted as qr visits, and the link's qrStyle is the default look. Or pass data to render any text (URL, Wi-Fi config, vCard...) as a static QR code that is not…

  • create_group

    Create a group to organise short links (e.g. a campaign or a venue). Groups are many-to-many: a link can be in up to 20 groups. Add links with add_links_to_group, or pass groupIds when creating/updating a link.

  • list_groups

    List your groups (with linkCount), ordered by groupId. Page with cursor = nextCursor.

  • get_group

    Fetch one group. To see its links use list_short_links with group = groupId.

  • update_group

    Rename a group or change its description or color. Membership doesn't change here.

  • delete_group

    Delete a group. Its links are NOT deleted; they just stop being members.

  • add_links_to_group

    Add up to 25 links to a group in one call. Idempotent: links already in the group are reported in alreadyMembers rather than failing. Fails with not_found if any linkId is unknown (nothing is added).

  • remove_link_from_group

    Take one link out of a group. The link itself is untouched.

  • get_group_visits

    Combined visit analytics for a group's current member links: totals {visits, qr, direct, bot} and a zero-filled per-day breakdown (UTC). Links removed from the group no longer count.

  • get_custom_domain

    Get this tenant's custom (alias) domain and advance its setup as far as DNS allows. Use it to check progress after creating a DNS record. Lifecycle: pending_validation (create the certificate_validation record, and the optional ownership_verification TXT if listed) →…

  • set_custom_domain

    Serve all of this tenant's short links on a domain it controls, e.g. "go.acme.com" → https://go.acme.com/{slug}. Once active, new short URLs and QR codes use it; links keep working on the platform domain too. One domain per tenant: setting a different one replaces (and tears…

  • remove_custom_domain

    Remove this tenant's custom domain. Short links immediately stop resolving on it (QR codes printed with it break) and new short URLs use the platform domain. The DNS records can be deleted afterwards.

Security scan

No findings

We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTime
8 h agoPassed200398 ms
18 h agoPassed200292 ms
28 h agoPassed200626 ms
37 h agoPassed200368 ms
47 h agoPassed200471 ms
Show 8 older checks
2 days agoPassed200577 ms
3 days agoPassed200302 ms
3 days agoPassed200725 ms
4 days agoPassed200626 ms
4 days agoPassed200439 ms
4 days agoPassed200513 ms
5 days agoPassed200542 ms
5 days agoPassed200431 ms