Skip to main content
Glama

ShortURLMCP

PyPI version PyPI downloads Python 3.10+ License: MIT MCP

Un servidor del Protocolo de Contexto de Modelo (MCP) para acortar URLs utilizando la API de URL Corta a través de la API de AceDataCloud.

Cree URLs cortas y compartibles directamente desde Claude, VS Code o cualquier cliente compatible con MCP.

Características

  • Acortamiento de URL - Convierta URLs largas en enlaces cortos y compartibles

  • Acortamiento por lotes - Acorte múltiples URLs a la vez (hasta 10 por lote)

  • Servicio gratuito - Consumo de cero créditos por solicitud

  • Enlaces permanentes - Las URLs cortas nunca caducan

  • Dominio surl.id - Las URLs cortas utilizan el dominio limpio surl.id

  • Autenticación Bearer - Acceso seguro a la API con autenticación por token

Related MCP server: lnkify

Referencia de herramientas

Herramienta

Descripción

shorturl_create

Crea una URL corta a partir de una URL larga.

shorturl_batch_create

Crea URLs cortas para múltiples URLs largas en un solo lote.

shorturl_get_usage_guide

Obtiene una guía completa para usar las herramientas de ShortURL.

shorturl_get_api_info

Obtiene información sobre el servicio de la API de ShortURL.

Inicio rápido

1. Obtenga su token de API

  1. Regístrese en la Plataforma AceDataCloud

  2. Vaya a la página de documentación de la API

  3. Haga clic en "Acquire" para obtener su token de API

  4. Copie el token para usarlo a continuación

2. Utilice el servidor alojado (Recomendado)

AceDataCloud aloja un servidor MCP gestionado — no requiere instalación local.

Endpoint: https://shorturl.mcp.acedata.cloud/mcp

Todas las solicitudes requieren un token Bearer. Utilice el token de API del Paso 1.

Claude.ai

Conéctese directamente en Claude.ai con OAuth — no se necesita token de API:

  1. Vaya a Settings → Integrations → Add More en Claude.ai

  2. Introduzca la URL del servidor: https://shorturl.mcp.acedata.cloud/mcp

  3. Complete el flujo de inicio de sesión OAuth

  4. Empiece a usar las herramientas en su conversación

Claude Desktop

Añada a su configuración (~/Library/Application Support/Claude/claude_desktop_config.json en macOS):

{
  "mcpServers": {
    "shorturl": {
      "type": "streamable-http",
      "url": "https://shorturl.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cursor / Windsurf

Añada a su configuración de MCP (.cursor/mcp.json o .windsurf/mcp.json):

{
  "mcpServers": {
    "shorturl": {
      "type": "streamable-http",
      "url": "https://shorturl.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

VS Code (Copilot)

Añada a su configuración de MCP de VS Code (.vscode/mcp.json):

{
  "servers": {
    "shorturl": {
      "type": "streamable-http",
      "url": "https://shorturl.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

O instale la extensión Ace Data Cloud MCP para VS Code, que agrupa los 15 servidores MCP con una configuración de un solo clic.

IDEs de JetBrains

  1. Vaya a Settings → Tools → AI Assistant → Model Context Protocol (MCP)

  2. Haga clic en Add → HTTP

  3. Pegue:

{
  "mcpServers": {
    "shorturl": {
      "url": "https://shorturl.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Claude Code

Claude Code admite servidores MCP de forma nativa:

claude mcp add shorturl --transport http https://shorturl.mcp.acedata.cloud/mcp \
  -h "Authorization: Bearer YOUR_API_TOKEN"

O añada al archivo .mcp.json de su proyecto:

{
  "mcpServers": {
    "shorturl": {
      "type": "streamable-http",
      "url": "https://shorturl.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Cline

Añada a la configuración de MCP de Cline (.cline/mcp_settings.json):

{
  "mcpServers": {
    "shorturl": {
      "type": "streamable-http",
      "url": "https://shorturl.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Amazon Q Developer

Añada a su configuración de MCP:

{
  "mcpServers": {
    "shorturl": {
      "type": "streamable-http",
      "url": "https://shorturl.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Roo Code

Añada a la configuración de MCP de Roo Code:

{
  "mcpServers": {
    "shorturl": {
      "type": "streamable-http",
      "url": "https://shorturl.mcp.acedata.cloud/mcp",
      "headers": {
        "Authorization": "Bearer YOUR_API_TOKEN"
      }
    }
  }
}

Continue.dev

Añada a .continue/config.yaml:

mcpServers:
  - name: shorturl
    type: streamable-http
    url: https://shorturl.mcp.acedata.cloud/mcp
    headers:
      Authorization: "Bearer YOUR_API_TOKEN"

Zed

Añada a la configuración de Zed (~/.config/zed/settings.json):

{
  "language_models": {
    "mcp_servers": {
      "shorturl": {
        "url": "https://shorturl.mcp.acedata.cloud/mcp",
        "headers": {
          "Authorization": "Bearer YOUR_API_TOKEN"
        }
      }
    }
  }
}

Prueba con cURL

# Health check (no auth required)
curl https://shorturl.mcp.acedata.cloud/health

# MCP initialize
curl -X POST https://shorturl.mcp.acedata.cloud/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"test","version":"1.0"}}}'

3. O ejecute localmente (Alternativa)

Si prefiere ejecutar el servidor en su propia máquina:

# Install from PyPI
pip install mcp-shorturl
# or
uvx mcp-shorturl

# Set your API token
export ACEDATACLOUD_API_TOKEN="your_token_here"

# Run (stdio mode for Claude Desktop / local clients)
mcp-shorturl

# Run (HTTP mode for remote access)
mcp-shorturl --transport http --port 8000

Claude Desktop (Local)

{
  "mcpServers": {
    "shorturl": {
      "command": "uvx",
      "args": ["mcp-shorturl"],
      "env": {
        "ACEDATACLOUD_API_TOKEN": "your_token_here"
      }
    }
  }
}

Docker (Autoalojamiento)

docker pull ghcr.io/acedatacloud/mcp-shorturl:latest
docker run -p 8000:8000 ghcr.io/acedatacloud/mcp-shorturl:latest

Los clientes se conectan con su propio token Bearer — el servidor extrae el token del encabezado Authorization de cada solicitud.

Herramientas disponibles

Herramientas de acortamiento de URL

Herramienta

Descripción

shorturl_create

Acortar una sola URL

shorturl_batch_create

Acortar múltiples URLs a la vez (máx. 10)

Herramientas de información

Herramienta

Descripción

shorturl_get_usage_guide

Obtener guía de uso completa

shorturl_get_api_info

Obtener detalles de la API y códigos de error

Ejemplos de uso

Acortar una sola URL

User: Shorten this URL: https://platform.acedata.cloud/documents/a2303356-6672-4eb8-9778-75f55c998fe9

Claude: I'll shorten that URL for you.
[Calls shorturl_create with url="https://platform.acedata.cloud/documents/a2303356-6672-4eb8-9778-75f55c998fe9"]

Result: https://surl.id/1uHCs01xa5

Acortar múltiples URLs por lotes

User: Shorten these URLs for my social media posts:
- https://example.com/blog/very-long-article-title-about-ai
- https://example.com/products/new-release-2024

Claude: I'll shorten both URLs at once.
[Calls shorturl_batch_create with urls=[...]]

Crear enlaces para documentación

User: I need clean short links for these reference URLs in my doc.

Claude: I'll create short links for all your references.
[Calls shorturl_batch_create with the list of URLs]

Estructura de respuesta

Respuesta exitosa

{
  "success": true,
  "data": {
    "url": "https://surl.id/1uHCs01xa5"
  }
}

Respuesta de error

{
  "success": false,
  "error": {
    "code": "api_error",
    "message": "fetch failed"
  },
  "trace_id": "2cf86e86-22a4-46e1-ac2f-032c0f2a4e89"
}

Configuración

Variables de entorno

Variable

Descripción

Predeterminado

ACEDATACLOUD_API_TOKEN

Token de API de AceDataCloud

Requerido

ACEDATACLOUD_API_BASE_URL

URL base de la API

https://api.acedata.cloud

ACEDATACLOUD_OAUTH_CLIENT_ID

ID de cliente OAuth (modo alojado)

—

ACEDATACLOUD_PLATFORM_BASE_URL

URL base de la plataforma

https://platform.acedata.cloud

SHORTURL_REQUEST_TIMEOUT

Tiempo de espera de solicitud en segundos

30

LOG_LEVEL

Nivel de registro

INFO

Opciones de línea de comandos

mcp-shorturl --help

Options:
  --version          Show version
  --transport        Transport mode: stdio (default) or http
  --port             Port for HTTP transport (default: 8000)

Desarrollo

Configurar entorno de desarrollo

# Clone repository
git clone https://github.com/AceDataCloud/ShortURLMCP.git
cd ShortURLMCP

# Create virtual environment
python -m venv .venv
source .venv/bin/activate  # or `.venv\Scripts\activate` on Windows

# Install with dev dependencies
pip install -e ".[dev,test]"

Ejecutar pruebas

# Run unit tests
pytest

# Run with coverage
pytest --cov=core --cov=tools

# Run integration tests (requires API token)
pytest tests/test_integration.py -m integration

Calidad del código

# Format code
ruff format .

# Lint code
ruff check .

# Type check
mypy core tools

Construir y publicar

# Install build dependencies
pip install -e ".[release]"

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

Estructura del proyecto

ShortURLMCP/
├── core/                   # Core modules
│   ├── __init__.py
│   ├── client.py          # HTTP client for ShortURL API
│   ├── config.py          # Configuration management
│   ├── exceptions.py      # Custom exceptions
│   └── server.py          # MCP server initialization
├── tools/                  # MCP tool definitions
│   ├── __init__.py
│   ├── shorturl_tools.py  # URL shortening tools
│   └── info_tools.py      # Information tools
├── prompts/                # MCP prompt templates
│   └── __init__.py
├── tests/                  # Test suite
│   ├── conftest.py
│   ├── test_client.py
│   ├── test_config.py
│   └── test_integration.py
├── deploy/                 # Deployment configs
│   ├── run.sh
│   └── production/
│       ├── deployment.yaml
│       ├── ingress.yaml
│       └── service.yaml
├── .env.example           # Environment template
├── .gitignore
├── .ruff.toml             # Ruff linter configuration
├── CHANGELOG.md
├── Dockerfile             # Docker image for HTTP mode
├── docker-compose.yaml    # Docker Compose config
├── LICENSE
├── main.py                # Entry point
├── pyproject.toml         # Project configuration
└── README.md

Referencia de la API

Este servidor envuelve la API de URL Corta de AceDataCloud:

  • Endpoint: POST /shorturl

  • Entrada: { "content": "https://long-url.example.com/..." }

  • Salida: { "success": true, "data": { "url": "https://surl.id/..." } }

  • Precios: Gratis (0 créditos)

  • Autenticación: Token Bearer

Documentación completa de la API: Plataforma AceDataCloud

Licencia

Licencia MIT - consulte LICENSE para más detalles.

Available Tools

4 tools
shorturl_batch_createAInspect

Create short URLs for multiple long URLs in a single batch.

Shortens multiple URLs at once, returning a mapping of original URLs
to their shortened versions. Useful for bulk URL shortening tasks.

Args:
    urls: A list of long URLs to shorten (max 10 per batch).

Returns:
    JSON response containing the mapping of original to shortened URLs.

Example:
    shorturl_batch_create(urls=["https://example.com/long-url-1", "https://example.com/long-url-2"])

Inputs: urls (required). Returns: result

shorturl_createAInspect

Create a short URL from a long URL.

Converts a long URL into a short, easy-to-share URL using the ShortURL API.
The short URL redirects to the original long URL when visited.

This is useful for:
- Sharing links on social media with character limits
- Creating clean, memorable links for marketing
- Tracking link clicks and engagement
- Making long URLs more manageable in documents and messages

Args:
    url: The long URL to shorten. Must be a valid HTTP or HTTPS URL.

Returns:
    JSON response containing the shortened URL.

Example:
    shorturl_create(url="https://platform.acedata.cloud/documents/a2303356-6672-4eb8-9778-75f55c998fe9")

Inputs: url (required). Returns: result

shorturl_get_api_infoAInspect

Get information about the ShortURL API service.

Returns details about the API endpoint, pricing, and service capabilities.

Returns:
    API information and service details.

Inputs: no named parameters. Returns: result

shorturl_get_usage_guideAInspect

Get a comprehensive guide for using the ShortURL tools.

Provides detailed information on how to use the ShortURL tools
effectively, including parameters, examples, and best practices.

Returns:
    Complete usage guide for ShortURL tools.

Inputs: no named parameters. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.1/5.0

    Scored across 4 tools

    Disambiguation5/5

    Each tool has a clear, distinct purpose: single create, batch create, API info, and usage guide. No overlap in functionality.

    Naming Consistency5/5

    All tool names follow a consistent 'shorturl_' prefix with verb_noun pattern (e.g., batch_create, get_api_info). Perfectly uniform.

    Tool Count5/5

    With 4 tools, the server is well-scoped for a URL shortening service. It covers the core operations (create, batch create) and supporting info tools.

    Completeness4/5

    Covers all essential creation and information needs. Minor gap: no delete or update functionality, but agents can manage by creating new short URLs.

    Maintenance

    ActivityActive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      B
      quality
      D
      maintenance
      Provides a simple tool to shorten URLs using the CleanURI API, designed to run as a FastMCP server that can be integrated with agent or tool-based systems.
      1
      4
      Apache 2.0
    • A
      license
      Not graded
      quality
      D
      maintenance
      MCP server that enables AI agents to manage Lnkify links, domains, API keys, and analytics. Allows creation and resolution of short links through natural language.
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Official MCP server for INBIO's URL shortener with click analytics and customizable QR codes. Enables link shortening, QR code generation, and link management with optional authentication for advanced features.
      MIT
    • F
      license
      Not graded
      quality
      D
      maintenance
      Free URL shortener with a hosted MCP server. Create, update, and bulk-create short links with custom aliases and QR codes, and read click analytics (countries, cities, devices, browsers, referrers, UTM) from Claude, Cursor, or any MCP client. Unlimited links on the free plan; read-only and write scopes are assigned per API key.
      1
      -