短.在线

Short links + QR tracking URLs for agents. Prefer punycode host. Account required to create links.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
87%
Naming quality
92%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,788Tokens (tool definitions)
~2.5 KBTypical response size
Significant attention impact (2.18% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "duan-online": {
      "url": "https://xn--s7y.xn--3ds443g/mcp"
    }
  }
}

Remote endpoints

https://xn--s7y.xn--3ds443g/mcpstreamable-http

What it can do

Tool inventory

Tools (10)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟡shorten_url(url, alias, title, locale, idempotency_key)

Create one short link. Returns state, URLs when active, qr_tracking_url. Requires registered account. Anonymous MCP is not supported.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "description": "Destination HTTPS/HTTP URL to shorten. Required. Do not send longUrl."
    },
    "alias": {
      "description": "Optional custom path segment (stored lowercase). Do not send customSlug.",
      "type": "string",
      "minLength": 1,
      "maxLength": 32
    },
    "title": {
      "type": "string",
      "maxLength": 256
    },
    "locale": {
      "type": "string"
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "Client-generated unique key for this create. Required. Replays within 24h."
    }
  },
  "required": [
    "url",
    "idempotency_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "request_id": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "short_url": {
      "type": "string"
    },
    "short_url_ascii": {
      "type": "string"
    },
    "destination": {
      "type": "string"
    },
    "qr_tracking_url": {
      "type": "string"
    },
    "status_url": {
      "type": "string"
    },
    "created_at": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡shorten_urls(items, idempotency_key)

Create up to 100 short links in one sync batch. Correlate with client_ref. Requires registered account. Anonymous MCP is not supported.

Input Schema

{
  "type": "object",
  "properties": {
    "items": {
      "minItems": 1,
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "client_ref": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "description": "Batch item correlation id (never use array index)."
          },
          "url": {
            "type": "string",
            "minLength": 1,
            "maxLength": 2048,
            "description": "Destination HTTPS/HTTP URL to shorten. Required. Do not send longUrl."
          },
          "alias": {
            "description": "Optional custom path segment (stored lowercase). Do not send customSlug.",
            "type": "string",
            "minLength": 1,
            "maxLength": 32
          },
          "title": {
            "type": "string",
            "maxLength": 256
          },
          "locale": {
            "type": "string"
          }
        },
        "required": [
          "client_ref",
          "url"
        ]
      }
    },
    "idempotency_key": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "description": "Client-generated unique key for this create. Required. Replays within 24h."
    }
  },
  "required": [
    "items",
    "idempotency_key"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "request_id": {
      "type": "string"
    },
    "batch_id": {
      "type": "string"
    },
    "batch_mode": {
      "type": "string",
      "const": "sync"
    },
    "ok_count": {
      "type": "number"
    },
    "fail_count": {
      "type": "number"
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "propertyNames": {
          "type": "string"
        },
        "additionalProperties": {}
      }
    },
    "error": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_link(id)

Fetch one link by id (owner-scoped when authenticated). Requires registered account. Anonymous MCP is not supported.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Short code / link id"
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "request_id": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "short_url": {
      "type": "string"
    },
    "short_url_ascii": {
      "type": "string"
    },
    "destination": {
      "type": "string"
    },
    "status_url": {
      "type": "string"
    },
    "created_at": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢resolve_short_url(url, code)

Resolve a short URL or code to status; destination only if active. Public read. No account required.

Input Schema

{
  "type": "object",
  "properties": {
    "url": {
      "description": "Full short URL (Unicode or punycode)",
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    },
    "code": {
      "description": "Short code if URL not provided",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "request_id": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "short_url": {
      "type": "string"
    },
    "short_url_ascii": {
      "type": "string"
    },
    "destination": {
      "type": "string"
    },
    "status_url": {
      "type": "string"
    },
    "created_at": {
      "type": "string"
    },
    "type": {
      "type": "string"
    },
    "title": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡create_qr(id, short_url)

Return qr_tracking_url for encoding in a QR (not a PNG). Image endpoint when available. Requires registered account. Anonymous MCP is not supported.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "description": "Existing short code",
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "short_url": {
      "description": "Existing short URL to tag for QR",
      "type": "string",
      "minLength": 1,
      "maxLength": 2048
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "request_id": {
      "type": "string"
    },
    "id": {
      "type": "string"
    },
    "state": {
      "type": "string"
    },
    "qr_tracking_url": {
      "type": "string"
    },
    "short_url": {
      "type": "string"
    },
    "short_url_ascii": {
      "type": "string"
    },
    "image_available": {
      "type": "boolean"
    },
    "error": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean"
    }
  },
  "required": [
    "ok",
    "request_id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_links(cursor, limit)

List links owned by the authenticated account. Not available yet (feature_not_available). Requires registered account. Anonymous MCP is not supported.

Input Schema

{
  "type": "object",
  "properties": {
    "cursor": {
      "type": "string"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "string",
      "const": "FEATURE_NOT_AVAILABLE"
    },
    "code": {
      "type": "string",
      "const": "FEATURE_NOT_AVAILABLE"
    },
    "feature": {
      "type": "string"
    },
    "tool": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "request_id": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean",
      "const": false
    }
  },
  "required": [
    "ok",
    "error",
    "code",
    "feature",
    "tool",
    "message",
    "request_id",
    "retryable"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟢get_link_analytics(id)

Click analytics for a link you own. Not available yet (feature_not_available). Requires registered account. Anonymous MCP is not supported.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "string",
      "const": "FEATURE_NOT_AVAILABLE"
    },
    "code": {
      "type": "string",
      "const": "FEATURE_NOT_AVAILABLE"
    },
    "feature": {
      "type": "string"
    },
    "tool": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "request_id": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean",
      "const": false
    }
  },
  "required": [
    "ok",
    "error",
    "code",
    "feature",
    "tool",
    "message",
    "request_id",
    "retryable"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡update_link(id, title, destination)

Update a link you own (e.g. destination). Not available yet (feature_not_available). Requires registered account. Anonymous MCP is not supported.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    },
    "title": {
      "type": "string",
      "maxLength": 256
    },
    "destination": {
      "type": "string",
      "minLength": 1,
      "maxLength": 2048,
      "description": "Destination HTTPS/HTTP URL to shorten. Required. Do not send longUrl."
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "string",
      "const": "FEATURE_NOT_AVAILABLE"
    },
    "code": {
      "type": "string",
      "const": "FEATURE_NOT_AVAILABLE"
    },
    "feature": {
      "type": "string"
    },
    "tool": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "request_id": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean",
      "const": false
    }
  },
  "required": [
    "ok",
    "error",
    "code",
    "feature",
    "tool",
    "message",
    "request_id",
    "retryable"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🔴disable_link(id)

Disable a link you own. Not available yet (feature_not_available). Requires registered account. Anonymous MCP is not supported.

Input Schema

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64
    }
  },
  "required": [
    "id"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean",
      "const": false
    },
    "error": {
      "type": "string",
      "const": "FEATURE_NOT_AVAILABLE"
    },
    "code": {
      "type": "string",
      "const": "FEATURE_NOT_AVAILABLE"
    },
    "feature": {
      "type": "string"
    },
    "tool": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "request_id": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean",
      "const": false
    }
  },
  "required": [
    "ok",
    "error",
    "code",
    "feature",
    "tool",
    "message",
    "request_id",
    "retryable"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}
🟡begin_registration(locale)

Fallback when a client cannot start OAuth. Returns signup_url, expires_at, and an opaque resume_token only. Does not create an account, collect email or password, or accept terms. Open the URL in a browser.

Input Schema

{
  "type": "object",
  "properties": {
    "locale": {
      "description": "Browser signup language. Does not accept email, password, or acceptance.",
      "type": "string",
      "enum": [
        "en",
        "zh-CN"
      ]
    }
  },
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Output Schema

{
  "type": "object",
  "properties": {
    "ok": {
      "type": "boolean"
    },
    "request_id": {
      "type": "string"
    },
    "signup_url": {
      "type": "string"
    },
    "expires_at": {
      "type": "string"
    },
    "resume_token": {
      "type": "string"
    },
    "error": {
      "type": "string"
    },
    "code": {
      "type": "string"
    },
    "message": {
      "type": "string"
    },
    "retryable": {
      "type": "boolean"
    }
  },
  "required": [
    "ok"
  ],
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false
}

Recommended Prompts

retrieve_data
Get details about [item] from 短.在线
Expected tools: get_link
fetch_info
Fetch [information type] using 短.在线
Expected tools: get_link

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded10 tools
verifiedversion not recorded10 tools