Shorten URLs, manage gajo.io short links, and read click analytics. Free account, no credit card.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Optional: your Gajo API key, from the API Keys page of your account. Without it, sign in with your Gajo account when your client asks (OAuth). Free accounts: https://gajo.io/account/signup
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Pro only: create one short link for a mobile app. iPhones and iPads that open it go to the app's App Store page, Android devices to its Google Play page, and any other device (such as a desktop) sees a Gajo page with a QR code to scan with a phone. Use it for a link that should send people to the right app store; for an ordinary link use shorten_url.
Where iPhones and iPads go: the app's App Store page (https://apps.apple.com/.../id...) or, for a beta, its TestFlight link (https://testflight.apple.com/join/...).
The page every other device (such as a desktop) sees, always with a QR code of the link to scan with a phone: mobile_only says the link must be opened in a mobile browser; store_links lists both store URLs; store_badges shows the official App Store and Google Play badges under "Click below to download {appName}" and is only for apps published in both stores (use store_links or mobile_only for TestFlight and Google Play test links).
Where Android devices go: the app's Google Play page (https://play.google.com/store/apps/details?id=...) or a Google Play test link (https://play.google.com/apps/internaltest/... or /apps/testing/...).
The app's name for the page. Optional: looked up from the App Store when omitted.
Optional custom code (3-50 letters, digits, or hyphens) for a gajo.io/c/{code} link.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Tool list last changed Oct 25, 2026.
Pro only: create one short link for a mobile app. iPhones and iPads that open it go to the app's App Store page, Android devices to its Google Play page, and any other device (such as a desktop) sees a Gajo page with a QR code to scan with a phone. Use it for a link that should send people to the right app store; for an ordinary link use shorten_url.
| Argument | Type | Description |
|---|---|---|
| iosUrl* | string | Where iPhones and iPads go: the app's App Store page (https://apps.apple.com/.../id...) or, for a beta, its TestFlight link (https://testflight.apple.com/join/...). |
| appName | string | The app's name for the page. Optional: looked up from the App Store when omitted. |
| otherwise* | string | The page every other device (such as a desktop) sees, always with a QR code of the link to scan with a phone: mobile_only says the link must be opened in a mobile browser; store_links lists both store URLs; store_badges shows the official App Store and Google Play badges under "Click below to download {appName}" and is only for apps published in both stores (use store_links or mobile_only for TestFlight and Google Play test links). |
| androidUrl* | string | Where Android devices go: the app's Google Play page (https://play.google.com/store/apps/details?id=...) or a Google Play test link (https://play.google.com/apps/internaltest/... or /apps/testing/...). |
| customCode | string | Optional custom code (3-50 letters, digits, or hyphens) for a gajo.io/c/{code} link. |
{
"type": "object",
"required": [
"iosUrl",
"androidUrl",
"otherwise"
],
"properties": {
"iosUrl": {
"type": "string",
"description": "Where iPhones and iPads go: the app's App Store page (https://apps.apple.com/.../id...) or, for a beta, its TestFlight link (https://testflight.apple.com/join/...)."
},
"appName": {
"type": "string",
"description": "The app's name for the page. Optional: looked up from the App Store when omitted."
},
"otherwise": {
"enum": [
"mobile_only",
"store_links",
"store_badges"
],
"type": "string",
"description": "The page every other device (such as a desktop) sees, always with a QR code of the link to scan with a phone: mobile_only says the link must be opened in a mobile browser; store_links lists both store URLs; store_badges shows the official App Store and Google Play badges under \"Click below to download {appName}\" and is only for apps published in both stores (use store_links or mobile_only for TestFlight and Google Play test links)."
},
"androidUrl": {
"type": "string",
"description": "Where Android devices go: the app's Google Play page (https://play.google.com/store/apps/details?id=...) or a Google Play test link (https://play.google.com/apps/internaltest/... or /apps/testing/...)."
},
"customCode": {
"type": "string",
"description": "Optional custom code (3-50 letters, digits, or hyphens) for a gajo.io/c/{code} link."
}
},
"additionalProperties": false
}Turn off one of your short links so it stops redirecting, keeping its destination and clicks. Generated codes are never reassigned; use reactivate_url to turn the link back on, or delete_url to erase it for good.
| Argument | Type | Description |
|---|---|---|
| code* | string | The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works."
}
},
"additionalProperties": false
}Permanently delete one of your short links: its destination and click history are erased and it stops redirecting. It can't be undone or reactivated, and the code is never given to anyone else. Use it when a destination shouldn't be kept, e.g. a URL with a private token; to just switch a link off, use deactivate_url.
| Argument | Type | Description |
|---|---|---|
| code* | string | The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works."
}
},
"additionalProperties": false
}Look up one of your short links by code: destination, click count, status, and expiry. Use get_url_stats for clicks per day and where they came from.
| Argument | Type | Description |
|---|---|---|
| code* | string | The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works."
}
},
"additionalProperties": false
}Get click analytics for one of your links, bots excluded: total clicks and clicks per day (7 days on Free, 90 on Basic, every day since the link was created on Pro). Basic and Pro also get referrers, devices, countries, and regions.
| Argument | Type | Description |
|---|---|---|
| code* | string | The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works."
}
},
"additionalProperties": false
}Shows your plan and quota: links created and remaining this month, maximum link lifetime, and API requests per minute. Call it before creating many links or after a monthly-limit error; the allowance resets on the 1st of each month (UTC).
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}List your short links, newest first, with click counts. Use it to browse or to find a link's code; for one known code use get_url, and for clicks over time get_url_stats. Returns one page; use page to see more.
| Argument | Type | Description |
|---|---|---|
| page | integer | Page number, starting at 1. |
| limit | integer | Links per page. |
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"default": 1,
"minimum": 1,
"description": "Page number, starting at 1."
},
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1,
"description": "Links per page."
}
},
"additionalProperties": false
}Turn a link you deactivated back on, with its same code and destination. Expired links, links disabled as unsafe, and custom codes that were unassigned can't be reactivated; create a new link instead.
| Argument | Type | Description |
|---|---|---|
| code* | string | The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works. |
{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works."
}
},
"additionalProperties": false
}Create a gajo.io short link for a URL and return it as shortUrl. Links follow your plan's code length and lifetime and count against its monthly quota. Pro plans can pass customCode for a branded gajo.io/c/{code} link, or shorten app deep links (myapp://...) with a web fallbackUrl.
| Argument | Type | Description |
|---|---|---|
| url* | string | The long URL to shorten (http, https, mailto, tel, ftp, sftp; Pro: app deep links). |
| customCode | string | Pro only: custom code (3-50 letters, digits, or hyphens). Can't be combined with lifetimeDays. |
| fallbackUrl | string | Pro, deep links only: web URL used when the app isn't installed. |
| lifetimeDays | integer | Days until the link expires; capped at your plan maximum. |
{
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The long URL to shorten (http, https, mailto, tel, ftp, sftp; Pro: app deep links)."
},
"customCode": {
"type": "string",
"description": "Pro only: custom code (3-50 letters, digits, or hyphens). Can't be combined with lifetimeDays."
},
"fallbackUrl": {
"type": "string",
"description": "Pro, deep links only: web URL used when the app isn't installed."
},
"lifetimeDays": {
"type": "integer",
"minimum": 1,
"description": "Days until the link expires; capped at your plan maximum."
}
},
"additionalProperties": false
}Pro only: change an app link's App Store or Google Play URL, its app name, or the page other devices see. Only the fields you pass change. For an ordinary link's destination use update_url.
| Argument | Type | Description |
|---|---|---|
| code* | string | The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works. |
| iosUrl | string | Where iPhones and iPads go: the app's App Store page (https://apps.apple.com/.../id...) or, for a beta, its TestFlight link (https://testflight.apple.com/join/...). |
| appName | string | The app's name for the page. Optional: looked up from the App Store when omitted. |
| otherwise | string | The page every other device (such as a desktop) sees, always with a QR code of the link to scan with a phone: mobile_only says the link must be opened in a mobile browser; store_links lists both store URLs; store_badges shows the official App Store and Google Play badges under "Click below to download {appName}" and is only for apps published in both stores (use store_links or mobile_only for TestFlight and Google Play test links). |
| androidUrl | string | Where Android devices go: the app's Google Play page (https://play.google.com/store/apps/details?id=...) or a Google Play test link (https://play.google.com/apps/internaltest/... or /apps/testing/...). |
Pro only: point an existing short link at a new destination URL. Takes effect immediately.
| Argument | Type | Description |
|---|---|---|
| url* | string | The new destination URL. |
| code* | string | The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works. |
{
"type": "object",
"required": [
"code",
"url"
],
"properties": {
"url": {
"type": "string",
"description": "The new destination URL."
},
"code": {
"type": "string",
"description": "The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works."
}
},
"additionalProperties": false
}{
"type": "object",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"description": "The link's short code (e.g. AbCdEf, or launch for gajo.io/c/launch). A full short URL also works."
},
"iosUrl": {
"type": "string",
"description": "Where iPhones and iPads go: the app's App Store page (https://apps.apple.com/.../id...) or, for a beta, its TestFlight link (https://testflight.apple.com/join/...)."
},
"appName": {
"type": "string",
"description": "The app's name for the page. Optional: looked up from the App Store when omitted."
},
"otherwise": {
"enum": [
"mobile_only",
"store_links",
"store_badges"
],
"type": "string",
"description": "The page every other device (such as a desktop) sees, always with a QR code of the link to scan with a phone: mobile_only says the link must be opened in a mobile browser; store_links lists both store URLs; store_badges shows the official App Store and Google Play badges under \"Click below to download {appName}\" and is only for apps published in both stores (use store_links or mobile_only for TestFlight and Google Play test links)."
},
"androidUrl": {
"type": "string",
"description": "Where Android devices go: the app's Google Play page (https://play.google.com/store/apps/details?id=...) or a Google Play test link (https://play.google.com/apps/internaltest/... or /apps/testing/...)."
}
},
"additionalProperties": false
}