TinyURL MCP by usefulapi

Create and manage TinyURL short links: aliases, destinations, tags, archive, click analytics.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
96%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~2,951token 数(工具定义)
~2.5 KB典型响应大小
对注意力有显著影响(占 128k 上下文窗口的 2.31%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "tinyurl": {
      "url": "https://tinyurl.usefulapi.io/mcp"
    }
  }
}

远程端点

https://tinyurl.usefulapi.io/mcpstreamable-http

它能做什么

工具清单

工具(8)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢tinyurl_get_link(domain, alias)

Details of one short link: destination URL, tiny_url, tags, created/expires dates, archived/deleted flags, analytics settings, total hits and owner. GET /alias/{domain}/{alias}.

输入模式

{
  "type": "object",
  "properties": {
    "domain": {
      "default": "tinyurl.com",
      "description": "The short link's domain: tinyurl.com (default) or one of the account's branded domains.",
      "type": "string",
      "minLength": 3,
      "maxLength": 253
    },
    "alias": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "The alias, the part after the domain: https://tinyurl.com/<alias>."
    }
  },
  "required": [
    "alias"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tinyurl_list_links(type, from, to, search, limit)

List the account's short links (type available = active, archived = archived), optionally created within a date range or filtered by alias or tag. The TinyURL API does not page this list: at most `limit` items (default 50, max 200) are returned together with the total, so narrow with from/to/search when truncated is true. GET /urls/{type}.

输入模式

{
  "type": "object",
  "properties": {
    "type": {
      "default": "available",
      "description": "available = active links, archived = archived links.",
      "type": "string",
      "enum": [
        "available",
        "archived"
      ]
    },
    "from": {
      "description": "Only links created after this ISO 8601 date or date-time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?)?(Z|[+-]\\d{2}:?\\d{2})?$"
    },
    "to": {
      "description": "Only links created before this ISO 8601 date or date-time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?)?(Z|[+-]\\d{2}:?\\d{2})?$"
    },
    "search": {
      "type": "string",
      "pattern": "^(alias|tag):.{1,100}$",
      "description": "Filter: alias:<text> or tag:<text>."
    },
    "limit": {
      "description": "Maximum links to return (default 50).",
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tinyurl_count_links(type, from, to, search)

How many short links the account has (active or archived), optionally within a creation date range or filtered by alias or tag. GET /urls/{type}/count.

输入模式

{
  "type": "object",
  "properties": {
    "type": {
      "default": "available",
      "description": "available = active links, archived = archived links.",
      "type": "string",
      "enum": [
        "available",
        "archived"
      ]
    },
    "from": {
      "description": "Only links created after this ISO 8601 date or date-time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?)?(Z|[+-]\\d{2}:?\\d{2})?$"
    },
    "to": {
      "description": "Only links created before this ISO 8601 date or date-time.",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?)?(Z|[+-]\\d{2}:?\\d{2})?$"
    },
    "search": {
      "type": "string",
      "pattern": "^(alias|tag):.{1,100}$",
      "description": "Filter: alias:<text> or tag:<text>."
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟢tinyurl_get_analytics(report, from, to, alias, tag, ...)

Aggregated click analytics for the account, or for one link (alias) or one tag, from a start date. report: timeline (clicks over time; interval minute/hour/day/week/month), general (browsers, operating systems, devices), weekday and hour (popularity), top_sources (referrers), top_languages, location (countries, or the regions of one country via region = ISO 3166 alpha-2 code). Which reports are available depends on the account's TinyURL plan. Visitor-level raw logs are not exposed. GET /analytics/*.

输入模式

{
  "type": "object",
  "properties": {
    "report": {
      "type": "string",
      "enum": [
        "timeline",
        "general",
        "weekday",
        "hour",
        "top_sources",
        "top_languages",
        "location"
      ],
      "description": "Which analytics report."
    },
    "from": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?)?(Z|[+-]\\d{2}:?\\d{2})?$",
      "description": "Start of the report, ISO 8601 date or date-time (required)."
    },
    "to": {
      "description": "End of the report (default: now).",
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?)?(Z|[+-]\\d{2}:?\\d{2})?$"
    },
    "alias": {
      "description": "Only this short link, written domain/alias, e.g. tinyurl.com/myalias.",
      "type": "string",
      "minLength": 1,
      "maxLength": 300
    },
    "tag": {
      "description": "Only links with this tag.",
      "type": "string",
      "minLength": 1,
      "maxLength": 45
    },
    "interval": {
      "description": "Bucket size, timeline report only.",
      "type": "string",
      "enum": [
        "minute",
        "hour",
        "day",
        "week",
        "month"
      ]
    },
    "region": {
      "description": "location report only: world (default, lists countries) or a country code such as US (lists its regions).",
      "type": "string",
      "pattern": "^([A-Za-z]{2}|world)$"
    }
  },
  "required": [
    "report",
    "from"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🟡tinyurl_create_link(url, domain, alias, tags, expires_at, ...)

WRITE: create ONE new short link for an http(s) destination URL. Optional custom alias (5-30 characters on tinyurl.com), domain (tinyurl.com or a branded domain), tags, expiry and description. Not idempotent: calling it again without an alias creates another link. Returns the new tiny_url. POST /create.

输入模式

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "description": "The long destination URL (absolute, http:// or https://)."
    },
    "domain": {
      "description": "Domain for the new link: tinyurl.com (default) or one of the account's branded domains.",
      "type": "string",
      "minLength": 3,
      "maxLength": 253
    },
    "alias": {
      "description": "Custom alias (5-30 characters on tinyurl.com, 1+ on a branded domain). A random one is generated when omitted.",
      "type": "string",
      "minLength": 1,
      "maxLength": 30
    },
    "tags": {
      "description": "Tags to group the link (each up to 45 characters).",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 45
      }
    },
    "expires_at": {
      "description": "ISO 8601 expiry; omit or null for a link that never expires.",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?)?(Z|[+-]\\d{2}:?\\d{2})?|P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+S)?)?)$",
          "description": "ISO 8601 date-time (or a duration such as P10DT4H)."
        },
        {
          "type": "null"
        }
      ]
    },
    "description": {
      "description": "Internal description of the link (3-1000 characters).",
      "anyOf": [
        {
          "type": "string",
          "minLength": 3,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴tinyurl_update_link(domain, alias, new_alias, new_tags, new_expires_at, ...)

WRITE: change an existing short link's alias, tags, expiry, description or click-analytics switch. At least one new_* field is required. DESTRUCTIVE for what it replaces: new_tags REPLACES all existing tags, and renaming the alias (new_alias) makes the old short URL stop working. The destination URL is changed with tinyurl_change_destination. PATCH /update.

输入模式

{
  "type": "object",
  "properties": {
    "domain": {
      "default": "tinyurl.com",
      "description": "The short link's domain: tinyurl.com (default) or one of the account's branded domains.",
      "type": "string",
      "minLength": 3,
      "maxLength": 253
    },
    "alias": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "The link's current alias."
    },
    "new_alias": {
      "description": "New alias (5-30 characters on tinyurl.com). The old short URL stops working.",
      "type": "string",
      "minLength": 1,
      "maxLength": 30
    },
    "new_tags": {
      "description": "The complete new tag list; replaces the existing tags (an empty list removes them).",
      "maxItems": 50,
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 45
      }
    },
    "new_expires_at": {
      "description": "New ISO 8601 expiry; null = never expires.",
      "anyOf": [
        {
          "type": "string",
          "pattern": "^(\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d+)?)?)?(Z|[+-]\\d{2}:?\\d{2})?|P(\\d+Y)?(\\d+M)?(\\d+W)?(\\d+D)?(T(\\d+H)?(\\d+M)?(\\d+S)?)?)$",
          "description": "ISO 8601 date-time (or a duration such as P10DT4H)."
        },
        {
          "type": "null"
        }
      ]
    },
    "new_description": {
      "description": "New description (null clears it).",
      "anyOf": [
        {
          "type": "string",
          "minLength": 3,
          "maxLength": 1000
        },
        {
          "type": "null"
        }
      ]
    },
    "new_stats": {
      "description": "true/false = turn click-analytics collection on/off.",
      "type": "boolean"
    }
  },
  "required": [
    "alias"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴tinyurl_change_destination(domain, alias, url)

WRITE: point an existing short link at a new destination. DESTRUCTIVE: everyone who opens the short link is sent to the new URL from now on and the old destination is overwritten. The new URL must be http(s). PATCH /change.

输入模式

{
  "type": "object",
  "properties": {
    "domain": {
      "default": "tinyurl.com",
      "description": "The short link's domain: tinyurl.com (default) or one of the account's branded domains.",
      "type": "string",
      "minLength": 3,
      "maxLength": 253
    },
    "alias": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "The link's alias."
    },
    "url": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "description": "The new destination URL (absolute, http:// or https://)."
    }
  },
  "required": [
    "alias",
    "url"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}
🔴tinyurl_set_link_archived(domain, alias, archived)

WRITE: archive an active short link (archived = true) or restore an archived one (archived = false). Archiving moves the link to the archived list; nothing is deleted and it can be restored. The API's archive endpoint is a toggle, so the link's current state is read first and nothing is changed when it already matches, and the state afterwards is checked. Do not run two archive calls for the same link at once. GET /alias/{domain}/{alias}, then PATCH /archive.

输入模式

{
  "type": "object",
  "properties": {
    "domain": {
      "default": "tinyurl.com",
      "description": "The short link's domain: tinyurl.com (default) or one of the account's branded domains.",
      "type": "string",
      "minLength": 3,
      "maxLength": 253
    },
    "alias": {
      "type": "string",
      "minLength": 1,
      "maxLength": 30,
      "description": "The alias, the part after the domain: https://tinyurl.com/<alias>."
    },
    "archived": {
      "type": "boolean",
      "description": "true = archive the link, false = unarchive it."
    }
  },
  "required": [
    "alias",
    "archived"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

社区

评价此服务器

证据

最近观测

已验证未记录版本8 个工具