MiniURL
REMOTE · WORKERS.MINIURL.COM · SCANNED SEP 20
OAuth 2.1 short-link tools for AI agents with scoped tokens, approvals, audit logs, and revocation.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (start_pro_upgrade). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability76
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1754 tokens (~76/item across 23 items; 23 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage96
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 85% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 5 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 24 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the MiniURL MCP server?
MiniURL is a hosted endpoint at https://workers.miniurl.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · workers.miniurl.com
claude mcp add --transport http addychang-miniurl 'https://workers.miniurl.com/mcp'
{
"mcpServers": {
"addychang-miniurl": {
"url": "https://workers.miniurl.com/mcp"
}
}
} {
"servers": {
"addychang-miniurl": {
"type": "http",
"url": "https://workers.miniurl.com/mcp"
}
}
} [mcp_servers.addychang-miniurl] url = "https://workers.miniurl.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"addychang-miniurl": {
"type": "remote",
"url": "https://workers.miniurl.com/mcp",
"enabled": true
}
}
} openclaw mcp add addychang-miniurl --url 'https://workers.miniurl.com/mcp' --transport streamable-http
mcp_servers:
addychang-miniurl:
url: "https://workers.miniurl.com/mcp" {
"McpServers": {
"addychang-miniurl": {
"Transport": "http",
"Url": "https://workers.miniurl.com/mcp"
}
}
} assistant mcp add addychang-miniurl -t streamable-http -u 'https://workers.miniurl.com/mcp'
{
"mcpServers": {
"addychang-miniurl": {
"type": "http",
"url": "https://workers.miniurl.com/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 7 Sept 26 +1
- Stability: fail → pass ▲ security
- 26 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 92 to 95.
- 23 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 85 to 89.
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 9 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Tool “clear_authentication” rewrote its description, which is the text the model reads security
- Tool “create_guest_token” rewrote its description, which is the text the model reads security
- Tool “shorten_url” rewrote its description, which is the text the model reads security
- MCP protocol: Implements a current MCP spec version (2026-07-28). functional
- MCP protocol version: 2025-11-25 → 2026-07-28 functional
- Server version: 1.2.0 → 1.3.0 functional
- “shorten_url” reworded the description of “alias” cosmetic
- 8 Aug 26 0
- Stability: 0.40 → fail ▼ security
- Tool “authenticate_token” was removed ▼ security
- The server rewrote its instructions, which are the text every model session reads security
- New tool “add_domain”, which the server declares destructive security
- New tool “delete_domain”, which the server declares destructive security
- Tool “verify_registration_code” rewrote its description, which is the text the model reads security
- Tool “start_pro_upgrade” is now declared destructive security
- Tool coverage: 98% → 85% ▼ functional
- Schema quality: 58 → 73 ▼ functional
- Tool “bulk_create_links” now declares an output schema ▲ functional
- Tool “check_alias” now declares an output schema ▲ functional
- Tool “clear_authentication” now declares an output schema ▲ functional
- Tool “create_guest_token” now declares an output schema ▲ functional
- Tool “create_tag” now declares an output schema ▲ functional
- Tool “delete_link” now declares an output schema ▲ functional
- Tool “delete_tag” now declares an output schema ▲ functional
- Tool “get_account_status” now declares an output schema ▲ functional
- Tool “get_link” now declares an output schema ▲ functional
- Tool “get_link_stats” now declares an output schema ▲ functional
- Tool “list_domains” now declares an output schema ▲ functional
- Tool “list_links” now declares an output schema ▲ functional
- Tool “list_tags” now declares an output schema ▲ functional
- Tool “send_registration_code” now declares an output schema ▲ functional
- Tool “shorten_url” now declares an output schema ▲ functional
- Tool “start_pro_upgrade” now declares an output schema ▲ functional
- Tool “tag_link” now declares an output schema ▲ functional
- Tool “untag_link” now declares an output schema ▲ functional
- Tool “update_link” now declares an output schema ▲ functional
- Tool “verify_registration_code” now declares an output schema ▲ functional
- First check of Tool coverage: 100 functional
- Schema quality: excellent → good functional
- Server version: 1.1.0 → 1.2.0 functional
- New tool “verify_domain” functional
- “bulk_create_links” added an optional parameter “idempotency_key” cosmetic
- “delete_link” added an optional parameter “approval_id” cosmetic
- “delete_link” added an optional parameter “approval_token” cosmetic
- “delete_link” added an optional parameter “dry_run” cosmetic
- “delete_link” added an optional parameter “idempotency_key” cosmetic
- “delete_tag” added an optional parameter “approval_id” cosmetic
- “delete_tag” added an optional parameter “approval_token” cosmetic
- “list_links” added an optional parameter “cursor” cosmetic
- “shorten_url” added an optional parameter “dry_run” cosmetic
- “shorten_url” added an optional parameter “idempotency_key” cosmetic
- “start_pro_upgrade” added an optional parameter “approval_id” cosmetic
- “start_pro_upgrade” added an optional parameter “approval_token” cosmetic
- “start_pro_upgrade” added an optional parameter “idempotency_key” cosmetic
- “update_link” added an optional parameter “dry_run” cosmetic
- “update_link” added an optional parameter “idempotency_key” cosmetic
- Tool “bulk_create_links” changed its title: MiniURL bulk_create_links cosmetic
- Tool “check_alias” changed its title: MiniURL check_alias cosmetic
- Tool “clear_authentication” changed its title: MiniURL clear_authentication cosmetic
- Tool “create_guest_token” changed its title: MiniURL create_guest_token cosmetic
- Tool “create_tag” changed its title: MiniURL create_tag cosmetic
- Tool “delete_link” changed its title: MiniURL delete_link cosmetic
- Tool “delete_tag” changed its title: MiniURL delete_tag cosmetic
- Tool “get_account_status” changed its title: MiniURL get_account_status cosmetic
- Tool “get_link” changed its title: MiniURL get_link cosmetic
- Tool “get_link_stats” changed its title: MiniURL get_link_stats cosmetic
- Tool “list_domains” changed its title: MiniURL list_domains cosmetic
- Tool “list_links” changed its title: MiniURL list_links cosmetic
- Tool “list_tags” changed its title: MiniURL list_tags cosmetic
- Tool “send_registration_code” changed its title: MiniURL send_registration_code cosmetic
- Tool “shorten_url” changed its title: MiniURL shorten_url cosmetic
- Tool “start_pro_upgrade” changed its title: MiniURL start_pro_upgrade cosmetic
- Tool “tag_link” changed its title: MiniURL tag_link cosmetic
- Tool “untag_link” changed its title: MiniURL untag_link cosmetic
- Tool “update_link” changed its title: MiniURL update_link cosmetic
- Tool “verify_registration_code” changed its title: MiniURL verify_registration_code cosmetic
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://workers.miniurl.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=miniurl.com | CN=YE1,O=Let's Encrypt,C=US | 14 Sept 2026 | 13 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 51fd8c6c994a8cbef9a04e876b7faa1202d |
| SANs: miniurl.com, workers.miniurl.com | ||||||
| CN=YE1,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 5ddd70dd31f801c85c186a7a04b80afe |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of workers.miniurl.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| miniurl.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://workers.miniurl.com/mcp | Verified | 200 | |
| http (plaintext) | http://workers.miniurl.com/mcp | HTTPS enforced | 301 | https://workers.miniurl.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
add_domain MiniURL add_domain ~66
Request a custom domain to be connected to MiniURL. Agent domain changes require human approval by default.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | – | – |
| approval_token | string | – | Legacy compatibility field; normally omit it. |
| domain | string | yes | A custom hostname such as links.example.com. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
bulk_create_links MiniURL bulk_create_links ~52
Create multiple short links in one request. Free accounts can create up to 10 at a time, Pro up to 50.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | – | – |
| links | array | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
check_alias MiniURL check_alias ~53
Check whether a custom alias is available on a given domain before creating a link.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | The alias to check. |
| domain | string | – | The domain to check on. Defaults to miniurl.com. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
clear_authentication MiniURL clear_authentication ~32
Clear authentication retained by a legacy MCP session. Stateless clients clear authentication by omitting the Authorization header on later requests.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
create_guest_token MiniURL create_guest_token ~47
Create a short-lived MiniURL guest bearer token. Legacy MCP sessions retain it; stateless clients must pass the returned gt_ token explicitly on later requests. shorten_url can provision one automatically.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
create_tag MiniURL create_tag ~59
Create a new tag for organising links. Maximum 20 tags per account.
| Name | Type | Req | Description |
|---|---|---|---|
| color | string | – | Tag colour hex code. Defaults to #6b7280 (grey). |
| name | string | yes | Tag name, 1-30 characters. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
delete_domain MiniURL delete_domain ~79
Delete a custom domain and its linked URLs after a dry-run confirmation. Agent domain changes require human approval by default.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | – | – |
| approval_token | string | – | Legacy compatibility field; normally omit it. |
| confirm | boolean | – | Set true only after reviewing the dry-run impact response. |
| domain_id | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
delete_link MiniURL delete_link ~120
Delete a registered short link permanently.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | The alias to delete. |
| approval_id | string | – | Approval id returned by a previous USER_APPROVAL_REQUIRED response. |
| approval_token | string | – | Legacy compatibility field; normally omit it and retry with approval_id after approval. |
| domain | string | – | The link domain. Defaults to miniurl.com. |
| dry_run | boolean | – | Preview the deletion and affected link scope without writing. Human approval is still required for the real delete. |
| idempotency_key | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
delete_tag MiniURL delete_tag ~73
Delete a tag and remove it from all associated links.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | – | Approval id returned by a previous USER_APPROVAL_REQUIRED response. |
| approval_token | string | – | Legacy compatibility field; normally omit it and retry with approval_id after approval. |
| tag_id | integer | yes | The tag ID to delete. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
get_account_status MiniURL get_account_status ~25
Inspect the current guest/free/pro account status, remaining quota, and feature availability.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
get_link MiniURL get_link ~49
Get a single short link by alias for the current registered account.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | The link alias to fetch. |
| domain | string | – | The link domain. Defaults to miniurl.com. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
get_link_stats MiniURL get_link_stats ~78
Get link analytics. Free accounts receive a basic total plus an upgrade hint; Pro accounts receive full breakdowns.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | The alias to inspect. |
| domain | string | – | Optional domain to scope the alias lookup. Defaults to miniurl.com. |
| period | string | – | Analytics time range. Defaults to 7D. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
list_domains MiniURL list_domains ~26
List domains available to the current registered account, including miniurl.com and active custom domains.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
list_links MiniURL list_links ~96
List short links for the current registered account.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | Opaque cursor returned as next_cursor. Prefer cursor pagination for stable traversal. |
| domain | string | – | Optional domain filter. |
| limit | integer | – | Optional page size. Defaults to 20. |
| offset | integer | – | Optional zero-based offset for pagination. Defaults to 0. |
| search | string | – | Optional search term for alias or destination URL. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
list_tags MiniURL list_tags ~26
List all tags for the current registered account. Tags help organise links into campaigns or categories.
Input schema present but exposes no named parameters.
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
send_registration_code MiniURL send_registration_code ~38
Send a 6-digit registration code to the user email, using the current guest session.
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | The user email address. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
shorten_url MiniURL shorten_url ~248
Create a MiniURL short link for a supplied HTTP or HTTPS destination. Use when the user asks to shorten a URL or generate a MiniURL link. This is an additive external write; do not fetch or open the destination. If no authentication is supplied, MiniURL automatically starts a guest flow. Reuse idempotency_key when retrying the same logical request.
| Name | Type | Req | Description |
|---|---|---|---|
| activated_at | string | – | Optional ISO 8601 activation datetime. Requires Pro. |
| alias | string | – | Optional custom alias. Call check_alias before creating it. Requires a registered account; miniurl.com aliases must be at least 4 characters. |
| domain | string | – | Optional domain. Requires a registered account with an active custom domain. |
| dry_run | boolean | – | Validate the destination and show the planned link without creating it. Agent tokens only. |
| expiration | string | – | Optional ISO 8601 expiration datetime. Requires Pro. |
| idempotency_key | string | – | Optional idempotency key. Reusing it with the same payload safely replays the original result. |
| password | string | – | Optional password. Requires Pro. |
| url | string | yes | The HTTP or HTTPS destination URL to shorten. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
start_pro_upgrade MiniURL start_pro_upgrade ~87
Create a shortened checkout link for upgrading the current registered account to Pro.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | – | Approval id returned by a previous USER_APPROVAL_REQUIRED response. |
| approval_token | string | – | Legacy compatibility field; normally omit it and retry with approval_id after approval. |
| idempotency_key | string | – | – |
| interval | string | – | Billing interval. Defaults to monthly. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
tag_link MiniURL tag_link ~62
Add a tag to a short link for campaign or category organisation.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | The link alias to tag. |
| domain | string | – | The link domain. Defaults to miniurl.com. |
| tag_id | integer | yes | The tag ID to assign. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
untag_link MiniURL untag_link ~56
Remove a tag from a short link.
| Name | Type | Req | Description |
|---|---|---|---|
| alias | string | yes | The link alias. |
| domain | string | – | The link domain. Defaults to miniurl.com. |
| tag_id | integer | yes | The tag ID to remove. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
update_link MiniURL update_link ~189
Update a registered short link. Some fields require Pro.
| Name | Type | Req | Description |
|---|---|---|---|
| activated_at | string | – | Set a new ISO 8601 activation datetime. Requires Pro. |
| alias | string | yes | The link alias to update. |
| clear_activated_at | boolean | – | Clear the current scheduled activation datetime. |
| clear_expiration | boolean | – | Clear the current expiration. |
| clear_password | boolean | – | Remove the current password. |
| domain | string | – | The link domain. Defaults to miniurl.com. |
| dry_run | boolean | – | Validate and preview the update without changing the link. Agent tokens only. |
| expiration | string | – | Set a new ISO 8601 expiration datetime. Requires Pro. |
| idempotency_key | string | – | – |
| password | string | – | Set or replace the password. Requires Pro. |
| url | string | – | New HTTP or HTTPS destination URL. Requires Pro. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
verify_domain MiniURL verify_domain ~57
Refresh custom-domain DNS and SSL verification status. Agent domain changes require human approval by default.
| Name | Type | Req | Description |
|---|---|---|---|
| approval_id | string | – | – |
| approval_token | string | – | Legacy compatibility field; normally omit it. |
| domain_id | integer | yes | – |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
verify_registration_code MiniURL verify_registration_code ~68
Verify the emailed code, create the account, claim guest links, and continue with OAuth 2.1 + PKCE. Long-lived API keys are never returned over MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| code | string | yes | The 6-digit verification code. |
| string | yes | The user email address. |
| Name | Type | Req | Description |
|---|---|---|---|
| approval | object | – | – |
| data | object|array|string|number|boolean|null | – | – |
| error | – | – | – |
| meta | object | – | – |
| next_actions | array | – | – |
| request_id | string | yes | – |
| required_scope | string | – | – |
| retry_after | integer | – | – |
| retryable | boolean | – | – |
| success | boolean | yes | – |
| user_action_required | boolean | – | – |
No examples provided.
What is the MiniURL MCP server?
MiniURL is an MCP server listed in the public MCP registry as io.github.addychang/miniurl. OAuth 2.1 short-link tools for AI agents with scoped tokens, approvals, audit logs, and revocation. This page covers its hosted endpoint (https://workers.miniurl.com/mcp).
Is the MiniURL MCP server safe to use?
MiniURL scores 78 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the MiniURL MCP server expose?
MiniURL exposes 23 tools: create_guest_token, clear_authentication, shorten_url, send_registration_code, verify_registration_code, and 18 more. Their descriptions and schemas cost roughly 1,686 tokens of context every time the server is loaded.
Does the MiniURL MCP server require authentication?
No. We connected to MiniURL without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the MiniURL MCP server still maintained?
MiniURL is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.