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を一度に短縮(1バッチあたり最大10個)

  • 無料サービス - リクエストごとのクレジット消費はゼロ

  • 永続リンク - 短縮URLは期限切れになりません

  • surl.idドメイン - 短縮URLにはクリーンな 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 Platform にサインアップ

  2. APIドキュメントページ に移動

  3. 「Acquire」 をクリックしてAPIトークンを取得

  4. トークンをコピーして以下で使用

2. ホスト型サーバーの使用(推奨)

AceDataCloudは管理されたMCPサーバーをホストしており、ローカルインストールは不要です。

エンドポイント: https://shorturl.mcp.acedata.cloud/mcp

すべてのリクエストにはBearerトークンが必要です。ステップ1で取得したAPIトークンを使用してください。

Claude.ai

Claude.ai でOAuthを使用して直接接続します(APIトークンは不要です):

  1. Claude.aiの 設定 → 統合 → 追加 に移動

  2. サーバーURLを入力: https://shorturl.mcp.acedata.cloud/mcp

  3. OAuthログインフローを完了

  4. 会話内でツールの使用を開始

Claude Desktop

設定ファイル(macOSの場合は ~/Library/Application Support/Claude/claude_desktop_config.json)に追加します:

{
  "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 Platform

ライセンス

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
      -