Skip to main content
Glama

ShortURLMCP

PyPI version PyPI downloads Python 3.10+ License: MIT MCP

AceDataCloud API를 통해 Short URL API를 사용하는 Model Context Protocol (MCP) 서버입니다.

Claude, VS Code 또는 모든 MCP 호환 클라이언트에서 직접 짧고 공유 가능한 URL을 생성하세요.

기능

  • URL 단축 - 긴 URL을 짧고 공유 가능한 링크로 변환

  • 일괄 단축 - 여러 URL을 한 번에 단축 (배치당 최대 10개)

  • 무료 서비스 - 요청당 크레딧 소모 없음

  • 영구 링크 - 단축된 URL은 만료되지 않음

  • surl.id 도메인 - 깔끔한 surl.id 도메인 사용

  • Bearer 인증 - 토큰 인증을 통한 안전한 API 액세스

Related MCP server: lnkify

도구 참조

도구

설명

shorturl_create

긴 URL에서 짧은 URL을 생성합니다.

shorturl_batch_create

여러 긴 URL에 대해 한 번에 짧은 URL을 생성합니다.

shorturl_get_usage_guide

ShortURL 도구 사용에 대한 포괄적인 가이드를 가져옵니다.

shorturl_get_api_info

ShortURL API 서비스에 대한 정보를 가져옵니다.

빠른 시작

1. API 토큰 받기

  1. AceDataCloud 플랫폼에 가입하세요.

  2. API 문서 페이지로 이동하세요.

  3. **"Acquire"**를 클릭하여 API 토큰을 받으세요.

  4. 아래에서 사용할 토큰을 복사하세요.

2. 호스팅된 서버 사용 (권장)

AceDataCloud는 관리형 MCP 서버를 호스팅하므로 로컬 설치가 필요하지 않습니다.

엔드포인트: https://shorturl.mcp.acedata.cloud/mcp

모든 요청에는 Bearer 토큰이 필요합니다. 1단계에서 받은 API 토큰을 사용하세요.

Claude.ai

OAuth를 사용하여 Claude.ai에 직접 연결하세요 (API 토큰 불필요):

  1. Claude.ai 설정 → 통합 → 더 추가하기로 이동하세요.

  2. 서버 URL 입력: https://shorturl.mcp.acedata.cloud/mcp

  3. OAuth 로그인 절차를 완료하세요.

  4. 대화에서 도구 사용을 시작하세요.

Claude Desktop

설정 파일(~/Library/Application Support/Claude/claude_desktop_config.json, macOS 기준)에 추가하세요:

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

Cursor / Windsurf

MCP 설정(.cursor/mcp.json 또는 .windsurf/mcp.json)에 추가하세요:

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

VS Code (Copilot)

VS Code MCP 설정(.vscode/mcp.json)에 추가하세요:

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

또는 VS Code용 Ace Data Cloud MCP 확장 프로그램을 설치하세요. 이 확장 프로그램은 15개의 모든 MCP 서버를 번들로 제공하며 클릭 한 번으로 설정할 수 있습니다.

JetBrains IDEs

  1. **설정 → 도구 → AI Assistant → Model Context Protocol (MCP)**로 이동하세요.

  2. 추가 → HTTP를 클릭하세요.

  3. 다음을 붙여넣으세요:

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

Claude Code

Claude Code는 MCP 서버를 기본적으로 지원합니다:

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

또는 프로젝트의 .mcp.json에 추가하세요:

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

Cline

Cline의 MCP 설정(.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

MCP 설정에 추가하세요:

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

Roo Code

Roo Code MCP 설정에 추가하세요:

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

Continue.dev

.continue/config.yaml에 추가하세요:

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

Zed

Zed 설정(~/.config/zed/settings.json)에 추가하세요:

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

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. 또는 로컬에서 실행 (대안)

자신의 컴퓨터에서 서버를 실행하려면:

# 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 (로컬)

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

Docker (셀프 호스팅)

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

클라이언트는 자체 Bearer 토큰으로 연결하며, 서버는 각 요청의 Authorization 헤더에서 토큰을 추출합니다.

사용 가능한 도구

URL 단축 도구

도구

설명

shorturl_create

단일 URL 단축

shorturl_batch_create

여러 URL을 한 번에 단축 (최대 10개)

정보 도구

도구

설명

shorturl_get_usage_guide

포괄적인 사용 가이드 가져오기

shorturl_get_api_info

API 세부 정보 및 오류 코드 가져오기

사용 예시

단일 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

여러 URL 일괄 단축

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=[...]]

문서용 링크 생성

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]

응답 구조

성공 응답

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

오류 응답

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

구성

환경 변수

변수

설명

기본값

ACEDATACLOUD_API_TOKEN

AceDataCloud의 API 토큰

필수

ACEDATACLOUD_API_BASE_URL

API 기본 URL

https://api.acedata.cloud

ACEDATACLOUD_OAUTH_CLIENT_ID

OAuth 클라이언트 ID (호스팅 모드)

—

ACEDATACLOUD_PLATFORM_BASE_URL

플랫폼 기본 URL

https://platform.acedata.cloud

SHORTURL_REQUEST_TIMEOUT

요청 시간 제한 (초)

30

LOG_LEVEL

로깅 레벨

INFO

명령줄 옵션

mcp-shorturl --help

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

개발

개발 환경 설정

# 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]"

테스트 실행

# 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

코드 품질

# Format code
ruff format .

# Lint code
ruff check .

# Type check
mypy core tools

빌드 및 배포

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

# Build package
python -m build

# Upload to PyPI
twine upload dist/*

프로젝트 구조

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

API 참조

이 서버는 AceDataCloud Short URL API를 래핑합니다:

  • 엔드포인트: POST /shorturl

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

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

  • 가격: 무료 (0 크레딧)

  • 인증: Bearer 토큰

전체 API 문서: AceDataCloud 플랫폼

라이선스

MIT 라이선스 - 자세한 내용은 LICENSE를 참조하세요.

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
      -