accueil / serveurs / Dev & Code / io.github.addychang/miniurl
io.github.addychang/miniurl
serveur MCP (Model Context Protocol) · MiniURL MCP 1.3.0
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.addychang/miniurl est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.addychang/miniurl » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 23 outils
- add_domain≈ 450 tokens
Request a custom domain to be connected to MiniURL. Agent domain changes require human approval by default.
Paramètres, retour & exemple (3)
Paramètresdomain· string · requis
An apex domain such as example.com or subdomain such as links.example.com. New domains use A + ownership TXT records and automatic HTTPS on the server.approval_id· string · optionnelapproval_token· string · optionnel
Legacy compatibility field; normally omit it.
Exemple d'appel{"name": "add_domain", "arguments": {"domain": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - bulk_create_links≈ 505 tokens
Create multiple short links in one request. Free accounts can create up to 10 at a time, Pro up to 50.
Paramètres, retour & exemple (2)
Paramètreslinks· array · requisidempotency_key· string · optionnel
Exemple d'appel{"name": "bulk_create_links", "arguments": {"links": []}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - check_alias≈ 424 tokens
Check whether a custom alias is available on a given domain before creating a link.
Paramètres, retour & exemple (2)
Paramètresalias· string · requis
The alias to check.domain· string · optionnel
The domain to check on. Defaults to miniurl.com.
Exemple d'appel{"name": "check_alias", "arguments": {"alias": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - clear_authentication≈ 373 tokens
Clear authentication retained by a legacy MCP session. Stateless clients clear authentication by omitting the Authorization header on later requests.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "clear_authentication", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - create_guest_token≈ 392 tokens
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.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "create_guest_token", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - create_tag≈ 428 tokens
Create a new tag for organising links. Maximum 20 tags per account.
Paramètres, retour & exemple (2)
Paramètresname· string · requis
Tag name, 1-30 characters.color· string · optionnel · #6b7280 | #ef4444 | #f97316 | #eab308 | #22c55e | #06b6d4 | #3b82f6 | #8b5cf6
Tag colour hex code. Defaults to #6b7280 (grey).
Exemple d'appel{"name": "create_tag", "arguments": {"name": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - delete_domain≈ 442 tokens
Delete a custom domain and its linked URLs after a dry-run confirmation. Agent domain changes require human approval by default.
Paramètres, retour & exemple (4)
Paramètresconfirm· boolean · optionnel
Set true only after reviewing the dry-run impact response.domain_id· integer · requisapproval_id· string · optionnelapproval_token· string · optionnel
Legacy compatibility field; normally omit it.
Exemple d'appel{"name": "delete_domain", "arguments": {"domain_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - delete_link≈ 534 tokens
Delete a registered short link permanently.
Paramètres, retour & exemple (6)
Paramètresalias· string · requis
The alias to delete.domain· string · optionnel
The link domain. Defaults to miniurl.com.dry_run· boolean · optionnel
Preview the deletion and affected link scope without writing. Human approval is still required for the real delete.approval_id· string · optionnel
Approval id returned by a previous USER_APPROVAL_REQUIRED response.approval_token· string · optionnel
Legacy compatibility field; normally omit it and retry with approval_id after approval.idempotency_key· string · optionnel
Exemple d'appel{"name": "delete_link", "arguments": {"alias": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - delete_tag≈ 434 tokens
Delete a tag and remove it from all associated links.
Paramètres, retour & exemple (3)
Paramètrestag_id· integer · requis
The tag ID to delete.approval_id· string · optionnel
Approval id returned by a previous USER_APPROVAL_REQUIRED response.approval_token· string · optionnel
Legacy compatibility field; normally omit it and retry with approval_id after approval.
Exemple d'appel{"name": "delete_tag", "arguments": {"tag_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - get_account_status≈ 355 tokens
Inspect the current guest/free/pro account status, remaining quota, and feature availability.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "get_account_status", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - get_link≈ 404 tokens
Get a single short link by alias for the current registered account.
Paramètres, retour & exemple (2)
Paramètresalias· string · requis
The link alias to fetch.domain· string · optionnel
The link domain. Defaults to miniurl.com.
Exemple d'appel{"name": "get_link", "arguments": {"alias": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - get_link_stats≈ 463 tokens
Get link analytics. Free accounts receive a basic total plus an upgrade hint; Pro accounts receive full breakdowns.
Paramètres, retour & exemple (3)
Paramètresalias· string · requis
The alias to inspect.domain· string · optionnel
Optional domain to scope the alias lookup. Defaults to miniurl.com.period· string · optionnel · 24H | 7D | 30D | ALL
Analytics time range. Defaults to 7D.
Exemple d'appel{"name": "get_link_stats", "arguments": {"alias": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - list_domains≈ 359 tokens
List the account’s domains, including miniurl.com, active custom domains and pending setups with their ids and DNS records.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_domains", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - list_links≈ 488 tokens
List short links for the current registered account.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnel
Optional page size. Defaults to 20.cursor· string · optionnel
Opaque cursor returned as next_cursor. Prefer cursor pagination for stable traversal.domain· string · optionnel
Optional domain filter.offset· integer · optionnel
Optional zero-based offset for pagination. Defaults to 0.search· string · optionnel
Optional search term for alias or destination URL.
Exemple d'appel{"name": "list_links", "arguments": {"limit": 1, "cursor": "texte", "domain": "texte", "offset": 1, "search": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - list_tags≈ 352 tokens
List all tags for the current registered account. Tags help organise links into campaigns or categories.
Paramètres, retour & exemple (0)
Exemple d'appel{"name": "list_tags", "arguments": {}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - send_registration_code≈ 383 tokens
Send a 6-digit registration code to the user email, using the current guest session.
Paramètres, retour & exemple (1)
Paramètresemail· string · requis
The user email address.
Exemple d'appel{"name": "send_registration_code", "arguments": {"email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - shorten_url≈ 740 tokens
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.
Paramètres, retour & exemple (8)
Paramètresurl· string · requis
The HTTP or HTTPS destination URL to shorten.alias· string · optionnel
Optional custom alias. Call check_alias before creating it. Requires a registered account; miniurl.com aliases must be at least 4 characters.domain· string · optionnel
Optional domain. Requires a registered account with an active custom domain.dry_run· boolean · optionnel
Validate the destination and show the planned link without creating it. Agent tokens only.password· string · optionnel
Optional password. Requires Pro.expiration· string · optionnel
Optional ISO 8601 expiration datetime. Requires Pro.activated_at· string · optionnel
Optional ISO 8601 activation datetime. Requires Pro.idempotency_key· string · optionnel
Optional idempotency key. Reusing it with the same payload safely replays the original result.
Exemple d'appel{"name": "shorten_url", "arguments": {"url": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - start_pro_upgrade≈ 485 tokens
Create a shortened checkout link for upgrading the current registered account to Pro.
Paramètres, retour & exemple (4)
Paramètresinterval· string · optionnel · monthly | yearly
Billing interval. Defaults to monthly.approval_id· string · optionnel
Approval id returned by a previous USER_APPROVAL_REQUIRED response.approval_token· string · optionnel
Legacy compatibility field; normally omit it and retry with approval_id after approval.idempotency_key· string · optionnel
Exemple d'appel{"name": "start_pro_upgrade", "arguments": {"interval": "monthly", "approval_id": "texte", "approval_token": "texte", "idempotency_key": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - tag_link≈ 426 tokens
Add a tag to a short link for campaign or category organisation.
Paramètres, retour & exemple (3)
Paramètresalias· string · requis
The link alias to tag.domain· string · optionnel
The link domain. Defaults to miniurl.com.tag_id· integer · requis
The tag ID to assign.
Exemple d'appel{"name": "tag_link", "arguments": {"alias": "texte", "tag_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - untag_link≈ 417 tokens
Remove a tag from a short link.
Paramètres, retour & exemple (3)
Paramètresalias· string · requis
The link alias.domain· string · optionnel
The link domain. Defaults to miniurl.com.tag_id· integer · requis
The tag ID to remove.
Exemple d'appel{"name": "untag_link", "arguments": {"alias": "texte", "tag_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - update_link≈ 650 tokens
Update a registered short link. Some fields require Pro.
Paramètres, retour & exemple (11)
Paramètresurl· string · optionnel
New HTTP or HTTPS destination URL. Requires Pro.alias· string · requis
The link alias to update.domain· string · optionnel
The link domain. Defaults to miniurl.com.dry_run· boolean · optionnel
Validate and preview the update without changing the link. Agent tokens only.password· string · optionnel
Set or replace the password. Requires Pro.expiration· string · optionnel
Set a new ISO 8601 expiration datetime. Requires Pro.activated_at· string · optionnel
Set a new ISO 8601 activation datetime. Requires Pro.clear_password· boolean · optionnel
Remove the current password.idempotency_key· string · optionnelclear_expiration· boolean · optionnel
Clear the current expiration.clear_activated_at· boolean · optionnel
Clear the current scheduled activation datetime.
Exemple d'appel{"name": "update_link", "arguments": {"alias": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - verify_domain≈ 465 tokens
Refresh custom-domain DNS and SSL verification status. Agent domain changes require human approval by default.
Paramètres, retour & exemple (4)
Paramètresdomain_id· integer · requisapproval_id· string · optionnelapproval_token· string · optionnel
Legacy compatibility field; normally omit it.migrate_to_server· boolean · optionnel
Start migration of a legacy Cloudflare hostname to direct server DNS. Existing links remain available while A/TXT records and server HTTPS are being configured.
Exemple d'appel{"name": "verify_domain", "arguments": {"domain_id": 1}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}} - verify_registration_code≈ 427 tokens
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.
Paramètres, retour & exemple (2)
Paramètrescode· string · requis
The 6-digit verification code.email· string · requis
The user email address.
Exemple d'appel{"name": "verify_registration_code", "arguments": {"code": "texte", "email": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}], "structuredContent": {"data": {}, "meta": {}, "error": "texte", "success": true, "approval": {}, "retryable": true, "request_id": "texte", "retry_after": 1, "next_actions": [], "required_scope": "texte", "user_action_required": true}}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».