duan-online
Registry code: 069c0cbb6c84c55a
短.在线 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 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.
90 days 98.9%· all time 98.9%
last good check
of 9 tools
- unknown → live
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- topic
- developer tools
- 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
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.
through this hub
successful
what callers paid
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.
{ "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 linesshorten_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.
{ "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 linesbegin_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.
{ "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 linesshorten_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.
{ "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 linesget_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.
{ "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 linesresolve_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.
{ "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 linesget_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.
{ "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 linesupdate_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.
{ "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 linesdisable_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.
{ "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
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.
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.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - 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. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id069c0cbb6c84c55a.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/069c0cbb6c84c55a/claim.
Over MCP: the claim_endpoint tool.
[](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.
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.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- 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.