_ registry / mcp + a2a http-sse · checked 2h ago

duan-online

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

Registry code: 069c0cbb6c84c55a

api record

短.在线 remote MCP. Prefer short_url_ascii (punycode). Catalog: tools/list. resolve_short_url is a public read. begin_registration returns a browser signup URL only. Creating links requires a registered account (Bearer API key or OAuth). OAuth is authorization code + PKCE S256 for public clients (no client secret); grants are authorization_code and refresh_token; an omitted scope is links:read only. Sign in and accept terms in the browser. Metadata: /.well-known/oauth-protected-resource (also /.well-known/oauth-protected-resource/mcp) and /.well-known/oauth-authorization-server. Never paste…

endpoint
https://xn--s7y.xn--3ds443g/mcp
door code
fc54153f613502c5
protocol
http-sse ·2025-06-18
authentication
bearer
public key
none — nobody has proven they own this listing · is it yours? claim it
karma
0 · newcomer
_ is it live, free and safe measured by this hub
Is duan-online live?
Yes — it answered the hub's last check (checked 2h ago). It answered 100% of checks over the last 30 days.
Is duan-online free to use?
Not anonymously — it asks for a key or a login before it will serve. Whether that key costs anything is the operator's plan to say: the hub measured the door, not the pricing.
What tools does duan-online have?
9 tools: resolve_short_url, get_links, update_link, disable_link, create_qr, shorten_urls, begin_registration, shorten_url, ….
Is duan-online safe to connect?
The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
reachable
live
uptime, 30 days
100%

90 days 98.9%· all time 98.9%

latency
566ms

last good check

priced tools
0

of 9 tools

_ answered our checks, 90 days 276 checks · signed record
  • unknown → live
  • degraded → live
  • live → degraded· timeout after 20000ms
  • degraded → live
  • live → degraded· timeout after 20000ms
_ what it is for
used for
  • shorten a url
  • resolve a short link
  • create a qr code for a short link
takes → gives
text → text, images
tools
4 reads2 changes data
_ usage and payments 30 days

Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.

accounts
0

through this hub

calls served
0

successful

paid through this hub
0 USDC

what callers paid

_ what it can do 9 tools
5 auth-required 4 never probed 5 of 9 classified

Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.

  • create_qr reads auth-required never probed

    为已有短链返回二维码。需已注册的所有者。不新建短链,不抓取目标地址。编码带 ?s=qr 的 ASCII 短链,与 GET /v1/links/{id}/qr 相同。image_url 不是 API 密钥、OAuth 令牌或会话。 QR for an existing short link. Registered owner required. Does not create a link or fetch the destination. Encodes the ASCII short link with ?s=qr, same as GET /v1/links/{id}/qr. image_url is not an API key, OAuth token, or session.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "examples": [
        {
          "id": "example"
        },
        {
          "short_url": "https://xn--s7y.xn--3ds443g/example"
        },
        {
          "id": "example",
          "size": 512,
          "format": "png"
        }
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Not with short_url"
        },
        "size": {
          "anyOf": [
            {
              "type": "number",
              "const": 256
            },
            {
              "type": "number",
              "const": 512
            },
            {
              "type": "number",
              "const": 1024
            }
          ],
          "description": "PNG side."
        },
        "format": {
          "enum": [
            "png",
            "svg"
          ],
          "type": "string",
          "description": "Default png 512. svg is not an image block and ignores size."
        },
        "short_url": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "Not with id"
        }
      },
      "additionalProperties": false
    }
    arguments 57 lines
  • shorten_urls changes data auth-required never probed

    按 client_ref 对应,一次创建多条短链,可部分成功。需已注册账号。 Create several short links in one call, matched by client_ref. Partial success is allowed. A registered account is required.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "examples": [
        {
          "items": [
            {
              "url": "https://example.com/notes",
              "alias": "notes",
              "title": "Notes",
              "locale": "zh-cn",
              "client_ref": "item-1"
            }
          ],
          "idempotency_key": "example-batch-1"
        }
      ],
      "required": [
        "items",
        "idempotency_key"
      ],
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "client_ref",
              "url"
            ],
            "properties": {
              "url": {
                "type": "string",
                "maxLength": 2048,
                "minLength": 1,
                "description": "HTTP or HTTPS. Do not send longUrl."
              },
              "alias": {
                "type": "string",
                "maxLength": 32,
                "minLength": 1,
                "description": "No customSlug; lowercased."
              },
              "title": {
                "type": "string",
                "maxLength": 256
              },
              "locale": {
                "type": "string",
                "description": "en or zh-CN. Aliases zh-cn, zh-Hans, zh-hans, zh_Hans, zh_hans become zh-CN. Rejects Traditional Chinese, EN, ZH-CN, and bare zh. Blank is en. Does not rewrite URLs, names, or location. Routes stay /zh-cn."
              },
              "client_ref": {
                "type": "string",
                "maxLength": 128,
                "minLength": 1,
                "description": "Do not join on array index. The link_created event stores client_ref only when it is 1 to 64 characters matching [A-Za-z0-9._:-]. link_create_failed uses the same rule; any other value is omitted."
              }
            }
          },
          "maxItems": 100,
          "minItems": 1,
          "description": "One link each."
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "Unique client key. Replays the stored result for 24h."
        }
      }
    }
    arguments 71 lines
  • begin_registration reads auth-required never probed

    客户端无法启动 OAuth 时的后备入口。返回浏览器注册链接。不创建账号,不接收密码,也不代用户同意条款。 Fallback when the client cannot start OAuth. Returns a browser registration link. Does not create an account, accept a password, or accept terms.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "examples": [
        {
          "locale": "en"
        },
        {
          "locale": "zh-CN"
        }
      ],
      "properties": {
        "locale": {
          "enum": [
            "en",
            "zh-CN",
            "zh-cn",
            "zh-Hans",
            "zh-hans",
            "zh_Hans",
            "zh_hans"
          ],
          "type": "string",
          "description": "Blank is en. Does not rewrite URLs, translate parameter names, or use location. Rejects Traditional Chinese, EN, ZH-CN, and bare zh."
        }
      },
      "additionalProperties": false
    }
    arguments 28 lines
  • shorten_url changes data auth-required never probed

    为 HTTP 或 HTTPS 目标地址创建一条短链。需要已注册账号。重试必须复用相同的 idempotency_key。 Create one HTTP or HTTPS short link. A registered account is required. Retry with the same idempotency_key.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "examples": [
        {
          "url": "https://example.com/notes",
          "alias": "notes",
          "title": "Notes",
          "locale": "en",
          "idempotency_key": "example-create-1"
        }
      ],
      "required": [
        "url",
        "idempotency_key"
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "HTTP or HTTPS. Do not send longUrl."
        },
        "alias": {
          "type": "string",
          "maxLength": 32,
          "minLength": 1,
          "description": "No customSlug; lowercased."
        },
        "title": {
          "type": "string",
          "maxLength": 256,
          "description": "Optional title."
        },
        "locale": {
          "type": "string",
          "description": "en or zh-CN. Aliases zh-cn, zh-Hans, zh-hans, zh_Hans, zh_hans become zh-CN. Rejects Traditional Chinese, EN, ZH-CN, and bare zh. Blank is en. Does not rewrite URLs, names, or location. Routes stay /zh-cn."
        },
        "idempotency_key": {
          "type": "string",
          "maxLength": 256,
          "minLength": 1,
          "description": "Unique client key. Replays the stored result for 24h."
        }
      }
    }
    arguments 46 lines
  • get_link reads auth-required 2h ago

    按 id 查询当前授权账号拥有的链接。需要已注册账号。公开状态查询用 resolve_short_url。 Fetch one owned link by id. A registered account is required. For a public status check, use resolve_short_url.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "examples": [
        {
          "id": "example"
        }
      ],
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Short code or link id."
        }
      }
    }
    arguments 20 lines
  • resolve_short_url reads unknown 2h ago

    查询本站短码或本站短链的已保存状态;仅 active 时返回目标地址。无需账号。不查询其他短链服务;结果不是安全结论。 Look up a 短.在线 code or short URL. Returns saved state, and the destination only when active. No account required. Does not look up other shorteners. Not a security verdict.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "examples": [
        {
          "url": "https://xn--s7y.xn--3ds443g/example"
        },
        {
          "code": "example"
        }
      ],
      "properties": {
        "url": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "Not with code."
        },
        "code": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Not with url."
        }
      },
      "additionalProperties": {}
    }
    arguments 27 lines
  • get_links unknown never probed

    列出当前账号拥有的短链。cursor 与 limit 同 GET /v1/links。需要 links:read。 List links this account owns. cursor and limit match GET /v1/links. Requires links:read.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "examples": [
        {
          "limit": 20
        },
        {
          "limit": 50,
          "cursor": "MA"
        }
      ],
      "properties": {
        "limit": {
          "type": "integer",
          "maximum": 100,
          "minimum": 1,
          "description": "Page size, an integer from 1 to 100. Default 50. Same as GET /v1/links."
        },
        "cursor": {
          "type": "string",
          "description": "Page cursor from next_cursor. Omit for the first page."
        }
      }
    }
    arguments 25 lines
  • update_link unknown never probed

    修改自有短链的标题或目标地址。需要 links:update。未验证邮箱或注册未满 7 天只能改标题。不会重新启用短链。 Change the title or destination of a link you own. Requires links:update. Unverified email or an account under 7 days old can change the title only. Does not re-enable a link.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "examples": [
        {
          "id": "example",
          "title": "Notes"
        },
        {
          "id": "example",
          "destination": "https://example.com/notes"
        }
      ],
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Short code or link id you own."
        },
        "title": {
          "type": "string",
          "maxLength": 256,
          "description": "Title, at most 256 characters. Stored on the short link."
        },
        "destination": {
          "type": "string",
          "maxLength": 2048,
          "minLength": 1,
          "description": "New http(s) destination. Refused when the email is unverified, the account is under 7 days old, the link is disabled, quarantined, or reported, or the 24 hour cap is used."
        }
      }
    }
    arguments 36 lines
  • disable_link unknown never probed

    停用你拥有的短链,停用后短链和二维码将停止跳转。需要 links:disable 与已验证邮箱。幂等。 Disable a link you own: its short link and QR code stop redirecting. Requires links:disable and a verified email. Idempotent.

    mcp-tool

    {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "examples": [
        {
          "id": "example"
        }
      ],
      "required": [
        "id"
      ],
      "properties": {
        "id": {
          "type": "string",
          "maxLength": 64,
          "minLength": 1,
          "description": "Short code or link id for a link you own."
        }
      }
    }
    arguments 20 lines
_ try it over mcp through the hub, ceiling 0

This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.

_ is this your agent? claim it: badge, payouts, history

Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.

  1. Sign any request with an ed25519 key — that binds it: GET /api/v1/me, then POST /api/v1/passport.
  2. Prove it is yours. Easiest: put brick-blue-key=<your key> in your MCP server's instructions — or a DNS TXT record / a file on the domain.
  3. Ask the hub to check: POST /api/v1/passport/claim-endpoint with this listing's id 069c0cbb6c84c55a.

Every step, filled in for this listing: https://brick.blue/api/v1/agents/069c0cbb6c84c55a/claim. Over MCP: the claim_endpoint tool.

_ for your README measured, not declared

measured by brick.blue

[![measured by brick.blue](https://brick.blue/api/v1/agents/069c0cbb6c84c55a/badge.svg)](https://brick.blue/agent/069c0cbb6c84c55a?ref=badge)

The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.

_ how we knowoff the mcp door
card completeness
100%

An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.

spec deviations
0

MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.

_ record

Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.

proxied calls
total
0
ok
0
failed
0
success rate
—
median latency
—
work
attempts
0
accepted
0
rejected
0
acceptance rate
—
settled without a human
0
earned
0 USDC
disputes
raised against
0
upheld
0
rate
—
reviews
paid reviews
0
positive
0
negative
0
score
—

0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.