{"_meta":{"io.modelcontextprotocol/protocolVersion":"2026-07-28","io.modelcontextprotocol/serverInfo":{"name":"gooo-short","title":"好縮 (Gooo Short) — 智慧短網址 MCP Server (OpenAI / ChatGPT / Codex / Gemini / Claude / Cursor)","version":"2.1.0"}},"cacheScope":"public","capabilities":{"tools":{"listChanged":false}},"endpoints":{"http":"/mcp","messages":"/mcp/messages","oauth_authorization_endpoint":"https://short.gooo.name/oauth/authorize","oauth_authorization_server":"https://short.gooo.name/.well-known/oauth-authorization-server","oauth_protected_resource":"https://short.gooo.name/.well-known/oauth-protected-resource","oauth_registration_endpoint":"https://short.gooo.name/oauth/register","oauth_token_endpoint":"https://short.gooo.name/oauth/token","sse":"/mcp/sse"},"instructions":"好縮 (Gooo Short, https://short.gooo.name) 是智慧短網址管理服務，短網址轉址專用網域為 https://s.gooo.name。核心工具包含：get_service_info (服務介紹與系統統計)、create_short_url (建立短網址，相容 shorten_url)、get_link_info (查詢短網址資訊，相容 get_url_info)、list_my_links (列出個人短網址)、get_link_analytics (查詢點擊分析)、update_short_url (更新短網址標題/標籤/公開狀態)、delete_short_url (刪除短網址)、get_user_profile (查詢登入帳號與配額，相容 get_account_status)、check_code_availability (檢查自訂短碼)。支援標準 OAuth 2.1 + PKCE 帳號授權與對話式 Magic Link 登入 (login / logout)。","protocolVersion":"2026-07-28","resultType":"complete","serverInfo":{"name":"gooo-short","title":"好縮 (Gooo Short) — 智慧短網址 MCP Server (OpenAI / ChatGPT / Codex / Gemini / Claude / Cursor)","version":"2.1.0"},"status":"healthy","supportedVersions":["2026-07-28","2025-11-25","2025-06-18","2025-03-26","2024-11-05"],"tools":[{"name":"get_service_info","title":"Get Service Info","description":"Get service capabilities, membership quota policies, and real-time platform statistics of Gooo Short (好縮 short.gooo.name / s.gooo.name). Use when the user asks what Gooo Short can do, quota limits, or overall platform metrics (alias: get_stats_overview).","inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"api_domain":{"type":"string","description":"API \u0026 MCP endpoint domain (https://short.gooo.name)"},"service_name":{"type":"string","description":"Service name"},"short_domain":{"type":"string","description":"Short link domain (https://s.gooo.name)"},"today_urls":{"type":"integer","description":"Short links created today"},"total_clicks":{"type":"integer","description":"Cumulative link clicks"},"total_urls":{"type":"integer","description":"Total active short links"},"total_users":{"type":"integer","description":"Registered users count"}}},"annotations":{"title":"Get Service Info","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"securitySchemes":[{"type":"noauth"}]},{"name":"create_short_url","title":"Create Short URL","description":"Create a short link (s.gooo.name) for an HTTP or HTTPS URL (compatible with shorten_url). Use when the user explicitly requests URL shortening, custom short codes, password protection, or link tagging. Automatically associates the link with the user's account when authenticated.","inputSchema":{"type":"object","properties":{"channel":{"type":"string","description":"Optional AI client identifier (e.g., chatgpt, codex, gemini, cursor, claude)"},"custom_code":{"type":"string","description":"Optional custom short code (at least 5 alphanumeric, hyphen, or underscore characters, e.g., my-doc)"},"password":{"type":"string","description":"Optional password to protect the short link upon redirect"},"session_id":{"type":"string","description":"Optional session identifier when not using OAuth Bearer token"},"tags":{"type":"array","description":"Optional category tags (e.g., [\"AI\", \"work\"])","items":{"type":"string"}},"url":{"type":"string","description":"Target HTTP or HTTPS URL to shorten (e.g., https://github.com/openai/openai-node)","format":"uri"}},"required":["url"]},"outputSchema":{"type":"object","properties":{"channel":{"type":"string","description":"Recorded creation channel"},"has_password":{"type":"boolean","description":"Whether password protection is enabled"},"is_custom":{"type":"boolean","description":"Whether a custom code was used"},"link_id":{"type":"string","description":"Unique link identifier / short code"},"original_url":{"type":"string","description":"Target original URL","format":"uri"},"short_code":{"type":"string","description":"Short code"},"short_url":{"type":"string","description":"Generated short URL (https://s.gooo.name/...)","format":"uri"},"title":{"type":"string","description":"Extracted webpage title"}},"required":["short_url","link_id"]},"annotations":{"title":"Create Short URL","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false},"securitySchemes":[{"type":"noauth"},{"type":"oauth2","scopes":["links:write"]}]},{"name":"get_link_info","title":"Get Link Info","description":"Retrieve metadata and status of a specific short link by its short code or full short URL (compatible with get_url_info). Returns original URL, webpage title, click count, tags, password status, and creation/expiration time.","inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"Short code or full short URL (e.g., shgBe2 or https://s.gooo.name/shgBe2)"}},"required":["code"]},"outputSchema":{"type":"object","properties":{"clicks":{"type":"integer","description":"Total click count"},"created_at":{"type":"string","description":"Creation timestamp (ISO 8601)"},"has_password":{"type":"boolean","description":"Whether password-protected"},"is_custom":{"type":"boolean","description":"Whether custom code"},"is_public":{"type":"boolean","description":"Whether visible on public profile"},"link_id":{"type":"string","description":"Short code identifier"},"original_url":{"type":"string","description":"Original destination URL","format":"uri"},"short_code":{"type":"string","description":"Short code"},"short_url":{"type":"string","description":"Full short URL","format":"uri"},"title":{"type":"string","description":"Webpage title"}},"required":["link_id","short_url","original_url"]},"annotations":{"title":"Get Link Info","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"securitySchemes":[{"type":"noauth"}]},{"name":"list_my_links","title":"List My Links","description":"List short links belonging to the currently authenticated user account (or current session). Supports optional filtering by tag and result count limit.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","description":"Maximum number of links to return (default 20, max 100)"},"session_id":{"type":"string","description":"Optional session identifier"},"tag":{"type":"string","description":"Optional tag filter"}}},"outputSchema":{"type":"object","properties":{"authenticated":{"type":"boolean","description":"Whether user is logged in"},"links":{"type":"array","description":"List of short link records","items":{"type":"object"}},"owner_email":{"type":"string","description":"Account email if authenticated"},"total_count":{"type":"integer","description":"Number of links returned"}},"required":["total_count","links"]},"annotations":{"title":"List My Links","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"securitySchemes":[{"type":"oauth2","scopes":["links:read"]},{"type":"noauth"}]},{"name":"get_link_analytics","title":"Get Link Analytics","description":"Query click analytics, top referers, and recent click logs for a specific short link.","inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"Short code or full short URL (e.g., shgBe2 or https://s.gooo.name/shgBe2)"},"limit":{"type":"integer","description":"Maximum number of recent click events to return (default 20, max 100)"}},"required":["code"]},"outputSchema":{"type":"object","properties":{"link_id":{"type":"string","description":"Short code"},"recent_clicks":{"type":"array","description":"Recent click log entries","items":{"type":"object"}},"short_url":{"type":"string","description":"Full short URL","format":"uri"},"top_referers":{"type":"object","description":"Referer count breakdown"},"total_clicks":{"type":"integer","description":"Cumulative clicks"}},"required":["link_id","total_clicks"]},"annotations":{"title":"Get Link Analytics","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"securitySchemes":[{"type":"oauth2","scopes":["links:read"]},{"type":"noauth"}]},{"name":"update_short_url","title":"Update Short URL","description":"Update an existing short link's title, category tags, or public visibility on the user's profile. Requires the user to be authenticated and own the link.","inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"Short code or full short URL to update"},"is_public":{"type":"boolean","description":"Optional boolean to set public visibility on user profile"},"session_id":{"type":"string","description":"Optional session identifier"},"tags":{"type":"array","description":"Optional updated list of tags","items":{"type":"string"}},"title":{"type":"string","description":"Optional new title for the short link"}},"required":["code"]},"outputSchema":{"type":"object","properties":{"is_public":{"type":"boolean","description":"Updated visibility"},"link_id":{"type":"string","description":"Short code"},"short_url":{"type":"string","description":"Full short URL","format":"uri"},"tags":{"type":"array","items":{"type":"string"}},"title":{"type":"string","description":"Updated title"},"updated":{"type":"boolean","description":"Whether update succeeded"}},"required":["link_id","updated"]},"annotations":{"title":"Update Short URL","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"securitySchemes":[{"type":"oauth2","scopes":["links:write"]}]},{"name":"delete_short_url","title":"Delete Short URL","description":"Permanently delete a short link and release its quota back to the user's account. This is a destructive operation and requires authentication and ownership of the link.","inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"Short code or full short URL to delete"},"session_id":{"type":"string","description":"Optional session identifier"}},"required":["code"]},"outputSchema":{"type":"object","properties":{"deleted":{"type":"boolean","description":"Confirmation of deletion"},"link_id":{"type":"string","description":"Deleted short code"}},"required":["link_id","deleted"]},"annotations":{"title":"Delete Short URL","readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"securitySchemes":[{"type":"oauth2","scopes":["links:delete"]}]},{"name":"get_user_profile","title":"Get User Profile","description":"Get the current authenticated user's profile, email, membership tier (Free / Pro), and active short link quota usage (compatible with get_account_status).","inputSchema":{"type":"object","properties":{"session_id":{"type":"string","description":"Optional session identifier"}}},"outputSchema":{"type":"object","properties":{"active_urls":{"type":"integer","description":"Currently active short URLs count"},"authenticated":{"type":"boolean","description":"Whether authenticated"},"email":{"type":"string","description":"User email address"},"max_quota":{"type":"integer","description":"Maximum allowed active short URLs"},"name":{"type":"string","description":"User display name"},"profile_id":{"type":"string","description":"User public profile ID"},"session_id":{"type":"string","description":"Current MCP session ID"},"tier":{"type":"string","description":"Membership tier (FREE or PRO)"}},"required":["authenticated"]},"annotations":{"title":"Get User Profile","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"securitySchemes":[{"type":"oauth2","scopes":["profile:read"]},{"type":"noauth"}]},{"name":"check_code_availability","title":"Check Code Availability","description":"Check whether a custom short code (minimum 5 characters) is available and not a reserved system keyword.","inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"Custom short code to check (e.g., vip2026)"}},"required":["code"]},"outputSchema":{"type":"object","properties":{"available":{"type":"boolean","description":"Whether the code is available"},"code":{"type":"string","description":"Checked code"},"reason":{"type":"string","description":"Explanation if unavailable"}},"required":["code","available"]},"annotations":{"title":"Check Code Availability","readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"securitySchemes":[{"type":"noauth"}]},{"name":"login","title":"Login via Magic Link","description":"Generate a 10-minute one-time authorization link (Magic Link) to bind the current MCP session to a Gooo Short user account via Google Login.","inputSchema":{"type":"object","properties":{"client_name":{"type":"string","description":"Optional AI client name (e.g., ChatGPT, Gemini, Cursor, Claude)"},"session_id":{"type":"string","description":"Optional session identifier"}}},"outputSchema":{"type":"object","properties":{"already_logged_in":{"type":"boolean","description":"Whether already logged in"},"auth_url":{"type":"string","description":"One-time magic link URL","format":"uri"},"expires_in_sec":{"type":"integer","description":"Expiration time in seconds"}}},"annotations":{"title":"Login via Magic Link","readOnlyHint":false,"destructiveHint":false,"openWorldHint":false},"securitySchemes":[{"type":"noauth"}]},{"name":"logout","title":"Logout Account","description":"Unbind the current MCP session from the linked Gooo Short user account and return to guest mode.","inputSchema":{"type":"object","properties":{"session_id":{"type":"string","description":"Optional session identifier"}}},"outputSchema":{"type":"object","properties":{"logged_out":{"type":"boolean","description":"Whether logout succeeded"},"session_id":{"type":"string","description":"Session ID"}}},"annotations":{"title":"Logout Account","readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"securitySchemes":[{"type":"noauth"}]}],"ttlMs":3600000}
