ysalitrynskyi/opn-mcp

ysalitrynskyi/opn-mcp

от ysalitrynskyi
MCP сервер для opn.onl — open-source сокращатель ссылок с самозапуском. AI-ассистенты (Claude, Cursor) через него сокращают ссылки, смотрят аналитику, создают QR-коды и управляют ссылками на естественном языке. Полезен для self-hosted сервиса коротких ссылок.

opn-mcp

opn-mcp MCP server

An MCP server for opn.onl — the open-source, self-hostable URL shortener. It lets AI assistants (Claude Desktop, Cursor, etc.) shorten links, read analytics, generate QR codes, and manage links in natural language.

Works against the hosted service or your own self-hosted instance.

Setup

1. Get an API key

On your opn.onl instance, go to Settings → API Keys, create a key, and copy it (it starts with opn_ and is shown once).

2. Add the server to your MCP client

Claude Desktop — edit claude_desktop_config.json (~/Library/Application Support/Claude/ on macOS, %APPDATA%\Claude\ on Windows):

{
  "mcpServers": {
    "opn": {
      "command": "npx",
      "args": ["-y", "opn-mcp"],
      "env": {
        "OPN_API_KEY": "opn_your_key_here"
      }
    }
  }
}

Restart your client. That's it — it talks to the hosted API (https://l.opn.onl) by default.

Prefer to run from source? Swap the args for the GitHub build — same config: "args": ["-y", "github:ysalitrynskyi/opn-mcp"] (it builds on install).

Инструменты были проиндексированы:
add_tags_to_link

Прикрепляет одну или несколько существующих меток к ссылке.

Параметры
  • idintegerобязательный

    Идентификатор ссылки

  • tag_idsinteger[]обязательный

    Прикрепляет теги к идентификаторам.

build_utm_url

Добавляет UTM-параметры кампании к URL. Возвращает размеченный URL (не создаёт ссылку).

Параметры
  • urlstringобязательный

    Базовый URL для тегирования

  • utm_campaignstring

    utm_campaign, например launch-2026

  • utm_contentstring

    utm_content (вариант A/B)

  • utm_mediumstring

    utm_medium, например, email

  • utm_sourcestring

    utm_source, например, рассылка

  • utm_termstring

    utm_term (ключевое слово платного поиска)

check_alias_available

Проверяет доступность кастомного алиаса/слага перед использованием для сокращения.

Параметры
  • aliasstringобязательный

    Пользовательский alias / slug для проверки.

check_url_health

Проверяет, доступен ли целевой URL (статус + время отклика) перед его сокращением.

Параметры
  • urlstringобязательный

    URL для проверки

clone_link

Дублирует существующую ссылку (те же адрес и настройки) под новым коротким кодом.

Параметры
  • idintegerобязательный

    id ссылки для клонирования

create_folder

Создаёт папку для группировки ссылок.

Параметры
  • colorstring

    Цвет папки в формате HEX, например 2f37d8 (необязательно)

  • namestringобязательный

    Имя папки

create_tag

Создаёт тег для организации ссылок.

Параметры
  • colorstring

    Шестнадцатеричный код цвета для тега, например 2f37d8 (необязательно)

  • namestringобязательный

    Имя тега.

delete_link

Удалить короткую ссылку.

Параметры
  • idintegerобязательный

    Идентификатор ссылки

export_links_csv

Экспортирует все ваши ссылки в CSV (возвращает необработанный текст CSV).

Параметры

Без параметров.

get_dashboard_stats

Получает аналитику по всем вашим ссылкам в масштабе аккаунта: итоги, лучшие ссылки и сводные данные по кликам.

Параметры

Без параметров.

get_link_routing_rules

Получить правила умной маршрутизации для ссылки (таргетинг по устройству/ОС/стране/языку и A/B-взвешивание).

Параметры
  • idintegerобязательный

    Идентификатор ссылки

get_link_stats

Получить аналитику кликов по ссылке (клики, уникальные посетители, география, города, устройства, браузеры, ОС, рефереры).

Параметры
  • daysinteger

    Окно в днях для агрегации (необязательно; по умолчанию сервер использует 30)

  • idintegerобязательный

    Идентификатор ссылки

get_qr_code

Получить QR-код для ссылки, опционально с брендированием — цветом, центральным логотипом и форматом PNG/SVG.

Параметры
  • colorstring

    Шестнадцатеричный цвет переднего плана, например 2f37d8.

  • formatenum

    Формат изображения (по умолчанию png)

  • idintegerобязательный

    Идентификатор ссылки

  • logoboolean

    Наложите логотип бренда по центру.

list_folders

Вывести список ваших папок (с количеством ссылок в каждой).

Параметры

Без параметров.

list_links

Выведи список коротких ссылок (сначала последние). Отфильтруй по папке, тегу или текстовому поиску.

Параметры
  • folder_idinteger

    Только ссылки в id этой папки

  • limitinteger

    Максимальное количество ссылок для возврата (если не указано, применяется значение по умолчанию сервера)

  • offsetinteger

    Смещение пагинации

  • searchstring

    Фильтрует по тексту в URL, заголовке, заметках или коде.

  • tag_idinteger

    Только ссылки, содержащие этот идентификатор тега.

list_tags

Выведи список тегов (с количеством ссылок для каждого).

Параметры

Без параметров.

move_links_to_folder

Перемещает одну или несколько ссылок в папку.

Параметры
  • folder_idintegerобязательный

    Идентификатор папки назначения

  • link_idsinteger[]обязательный

    Перемещает идентификаторы ссылок в папку.

preview_url_metadata

Получает метаданные Open Graph (title, description, image, site name) для URL - удобно для автоматического создания заголовка ссылки перед её сокращением.

Параметры
  • urlstringобязательный

    URL для проверки

remove_tags_from_link

Открепляет один или несколько тегов от ссылки.

Параметры
  • idintegerобязательный

    Идентификатор ссылки

  • tag_idsinteger[]обязательный

    Идентификаторы тегов для удаления

set_link_routing_rules

Заменить ВСЕ правила умной маршрутизации для ссылки. Каждое правило отправляет посетителей, соответствующих заданному устройству/ОС/стране/языку, на свой пункт назначения; пустые поля соответствия означают «любой». Отправьте пустой массив, чтобы очистить все правила.

Параметры
  • idintegerобязательный

    Идентификатор ссылки

  • rulesobject[]обязательный

    Полный набор правил (заменяет любые существующие правила)

shorten_url

Создает короткую ссылку на opn.onl. Поддерживает расписание, лимиты переходов, папки, теги и одноразовые (самоуничтожающиеся после прочтения) ссылки. Возвращает короткий URL и его код.

Параметры
  • aliasstring

    Пользовательский алиас / slug (необязательно). Сначала используйте check_alias_available, чтобы избежать коллизий.

  • burn_after_readingboolean

    Одноразовая ссылка: уничтожается после первого успешного посещения (необязательно)

  • expires_atstring

    Временная метка ISO-8601, после которой ссылка перестаёт работать (необязательно).

  • folder_idinteger

    Поместите ссылку в этот folder id (необязательно)

  • max_clicksinteger

    Отключает ссылку после указанного количества кликов (необязательно)

  • notesstring

    Приватные заметки для ссылки (необязательно)

  • passwordstring

    Защитить ссылку паролем (необязательно)

  • safe_link_interstitialboolean

    Покажите промежуточную страницу безопасности перед перенаправлением (необязательно).

  • starts_atstring

    Временная метка ISO-8601, до которой ссылка неактивна (необязательно).

  • tag_idsinteger[]

    ID тегов для прикрепления к ссылке (необязательно)

  • titlestring

    Приватный заголовок для ссылки (необязательно)

  • urlstringобязательный

    Целевой URL для сокращения.

shorten_urls_bulk

Сокращает множество URL-адресов за один вызов. Возвращает созданные ссылки и ошибки по каждому URL-адресу.

Параметры
  • folder_idinteger

    Поместите все созданные ссылки в этот folder id (необязательно)

  • urlsstring[]обязательный

    Целевые URL для сокращения (до 500)

toggle_link_pin

Закрепить или открепить ссылку (закреплённые ссылки отображаются первыми на панели). Переключает текущее состояние.

Параметры
  • idintegerобязательный

    Идентификатор ссылки

update_link

Обновляет назначение, заголовок, заметки, планирование, лимит кликов, папку или защиту ссылки. Для очистки поля используйте флаги remove_*.

Параметры
  • bio_visibleboolean

    Показывает или скрывает эту ссылку на вашей публичной странице link-in-bio.

  • burn_after_readingboolean

    Переключает одноразовое поведение (сгорание после прочтения).

  • expires_atstring

    Новая метка времени истечения в формате ISO-8601

  • folder_idinteger

    Переместите ссылку в папку с этим ID.

  • idintegerобязательный

    Идентификатор ссылки

  • max_clicksinteger

    Новое максимальное количество кликов

  • notesstring

    Пожалуйста, отправьте текст, который нужно перевести. Сейчас вы прислали только заголовок «New private notes» без содержимого.

  • passwordstring

    Новый пароль

  • remove_expirationboolean

    Очищает срок действия, чтобы ссылка никогда не истекала.

  • remove_max_clicksboolean

    Сбросить лимит кликов.

  • remove_passwordboolean

    Снимает защиту паролем.

  • remove_starts_atboolean

    Очищает отметку времени активации.

  • safe_link_interstitialboolean

    Переключает промежуточную страницу безопасности.

  • starts_atstring

    Новая метка времени активации ISO-8601

  • titlestring
  • urlstring

    Новый целевой URL.

1.2.0основная
1.1.0
1.0.0

Выберите клиент, чтобы установить ysalitrynskyi/opn-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "ysalitrynskyi-opn-mcp-i4s76w612u": {
      "command": "npx",
      "args": [
        "-y",
        "opn-mcp"
      ],
      "env": {
        "OPN_API_KEY": "opn_your_key_here"
      }
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "ysalitrynskyi-opn-mcp-i4s76w612u": {
      "command": "npx",
      "args": [
        "-y",
        "opn-mcp"
      ],
      "env": {
        "OPN_API_KEY": "opn_your_key_here"
      }
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "ysalitrynskyi-opn-mcp-i4s76w612u": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "opn-mcp"
      ],
      "env": {
        "OPN_API_KEY": "opn_your_key_here"
      }
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"ysalitrynskyi-opn-mcp-i4s76w612u\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"opn-mcp\"],\"env\":{\"OPN_API_KEY\":\"opn_your_key_here\"}}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "ysalitrynskyi-opn-mcp-i4s76w612u": {
      "command": "npx",
      "args": [
        "-y",
        "opn-mcp"
      ],
      "env": {
        "OPN_API_KEY": "opn_your_key_here"
      }
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add ysalitrynskyi-opn-mcp-i4s76w612u --env OPN_API_KEY=opn_your_key_here -- npx -y opn-mcp

Либо через JSON-конфиг:

claude mcp add-json ysalitrynskyi-opn-mcp-i4s76w612u "{\"command\":\"npx\",\"args\":[\"-y\",\"opn-mcp\"],\"env\":{\"OPN_API_KEY\":\"opn_your_key_here\"}}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add ysalitrynskyi-opn-mcp-i4s76w612u --env OPN_API_KEY=opn_your_key_here -- npx -y opn-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.ysalitrynskyi-opn-mcp-i4s76w612u]
command = "npx"
args = ["-y", "opn-mcp"]

[mcp_servers.ysalitrynskyi-opn-mcp-i4s76w612u.env]
OPN_API_KEY = "opn_your_key_here"
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите ysalitrynskyi/opn-mcp, а в поле команды запуска — строку ниже:
npx -y opn-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "ysalitrynskyi-opn-mcp-i4s76w612u": {
      "command": "npx",
      "args": [
        "-y",
        "opn-mcp"
      ],
      "env": {
        "OPN_API_KEY": "opn_your_key_here"
      }
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "ysalitrynskyi-opn-mcp-i4s76w612u": {
      "command": "npx",
      "args": [
        "-y",
        "opn-mcp"
      ],
      "env": {
        "OPN_API_KEY": "opn_your_key_here"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например ysalitrynskyi-opn-mcp-i4s76w612u.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: ysalitrynskyi-opn-mcp-i4s76w612u
    command: npx
    args:
      - "-y"
      - "opn-mcp"
    env:
      OPN_API_KEY: opn_your_key_here
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "ysalitrynskyi-opn-mcp-i4s76w612u": {
      "command": "npx",
      "args": [
        "-y",
        "opn-mcp"
      ],
      "env": {
        "OPN_API_KEY": "opn_your_key_here"
      }
    }
  }
}

Похожие MCP-сервера

qr-maker-io/mcp-server

qr-maker-io/mcp-server

от qr-maker-io

MCP сервер QR Maker: генерация стилизованных QR-кодов, создание отслеживаемых коротких ссылок с аналитикой и публикация HTML-лендингов. Управление через AI-ассистента — удобно для маркетологов и разработчиков.

TypeScript⭐ 1
benswel/qr-agent-core

benswel/qr-agent-core

от benswel

MCP-сервер для управления динамическими QR-кодами через API и AI-агентов. QR-as-a-Service с аналитикой, вебхуками, UTM-метками и 37 инструментами для Claude, Cursor. Подходит маркетологам и разрабо...

TypeScript⭐ 3
grovs-io/mcp

grovs-io/mcp

от grovs-io

MCP сервер для работы с deep links, аналитикой и конфигурацией приложений на Grovs — privacy-first платформе. Через естественный язык создавайте ссылки, смотрите установки и доход, настраивайте кампании. Альтернатива Branch.io и AppsFlyer.

TypeScript⭐ 2
Turbo-Puffin/measure-mcp-server

Turbo-Puffin/measure-mcp-server

от turbo-puffin

MCP сервер для приватной веб-аналитики Measure.events: AI-ассистенты (Claude, Cursor) напрямую запрашивают трафик, топ-страницы, рефереры и события. Полезен разработчикам — метрики без браузера, через естественные запросы на русском.

JavaScript⭐ 2
OrbiAds/Orbiads-GAM-MCP

OrbiAds/Orbiads-GAM-MCP

от orbiads

OrbiAds — это MCP сервер, который дает AI-ассистентам прямой доступ к Google Ad Manager. Управляйте кампаниями, отчетами и креативами через естественный язык — без API-токенов и скриптов. Идеально для AdOps, издателей и агентств.

Python⭐ 3
saurabhsharma2u/search-console-mcp

saurabhsharma2u/search-console-mcp

от saurabhsharma2u

MCP сервер объединяет Google Search Console, Bing и GA4 для SEO-аналитики. SEO-специалисты задают вопросы на естественном языке и получают инсайты: каннибализацию, аномалии трафика, приоритетные то...

TypeScript⭐ 306
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин