opn-mcp について
opn-mcpは、opn.onlのリンク管理機能をMCPクライアントに提供し、自然言語でリンクや分析データを扱うユーザー向けです。ホステッドサービスとセルフホスト環境の両方に接続できます。
主な機能
- 01短縮リンクの作成と一括作成
- 02リンクの編集、複製、削除
- 03リンクとアカウントの分析表示
- 04ブランド付きQRコードの生成
- 05タグ、フォルダー、UTMパラメーターの管理
活用シーン
- 01キャンペーンURLの一括短縮
- 02流入元やデバイス別のクリック確認
- 03ブランドキャンペーン用QRコードの作成
MCP 対応
MCP サーバーは、リンク管理、分析、QRコード、URL補助のための opn.onl ツールを公開します。APIキーを使ってホステッドAPIまたは設定したセルフホスト環境に接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y opn-mcpOPN_API_KEYシークレットYour opn.onl API key (create one under Settings → API Keys).OPN_BASE_URLAPI base URL. Set this to your own instance's API for a self-hosted opn.onl.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
24掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| url | string | はい | 短縮するリンク先 URL |
| alias | string | いいえ | カスタムエイリアス/slug(任意)。競合を避けるため、先に check_alias_available を使用してください。 |
| notes | string | いいえ | リンクの非公開メモ(任意) |
| title | string | いいえ | リンクの非公開タイトル(任意) |
| tag_ids | array | いいえ | リンクに付与するタグ id(任意) |
| password | string | いいえ | リンクをパスワードで保護します(任意) |
| folder_id | integer | いいえ | リンクをこのフォルダー id に格納します(任意) |
| starts_at | string | いいえ | リンクが有効になる前の ISO-8601 タイムスタンプ(任意) |
| expires_at | string | いいえ | リンクが機能しなくなる ISO-8601 タイムスタンプ(任意) |
| max_clicks | integer | いいえ | このクリック数に達した後、リンクを無効にします(任意) |
| burn_after_reading | boolean | いいえ | ワンタイムリンク:最初のアクセスが成功した後に破棄します(任意) |
| safe_link_interstitial | boolean | いいえ | リダイレクト前に安全確認ページを表示します(任意) |
詳細
opn-mcp
opn.onl 用の MCP サーバーです。opn.onl はオープンソースで、セルフホスト可能な URL 短縮サービスです。AI アシスタント(Claude Desktop、Cursor など)を使って、自然言語でリンクの短縮、分析データの閲覧、QR コードの生成、リンクの管理ができます。
ホスト型サービスと、独自のセルフホストインスタンスのどちらでも動作します。
セットアップ
1. API キーを取得する
opn.onl のインスタンスで、Settings → API Keys を開き、キーを作成してコピーします(opn_ で始まり、一度だけ表示されます)。
2. MCP クライアントにサーバーを追加する
Claude Desktop — claude_desktop_config.json を編集します(macOS では ~/Library/Application Support/Claude/、Windows では %APPDATA%\Claude\):
{
"mcpServers": {
"opn": {
"command": "npx",
"args": ["-y", "opn-mcp"],
"env": {
"OPN_API_KEY": "opn_your_key_here"
}
}
}
}
クライアントを再起動します。これで完了です。デフォルトでは、ホストされた API(https://l.opn.onl)に接続します。
ソースから実行しますか?
argsを GitHub ビルド用に置き換えます。同じ設定を使えます:"args": ["-y", "github:ysalitrynskyi/opn-mcp"](インストール時にビルドされます)。
セルフホストインスタンス
OPN_BASE_URL を独自インスタンスの API ホストに設定します:
{
"mcpServers": {
"opn": {
"command": "npx",
"args": ["-y", "opn-mcp"],
"env": {
"OPN_API_KEY": "opn_your_key_here",
"OPN_BASE_URL": "https://l.your-domain.com"
}
}
}
}
設定
| 環境変数 | 必須 | デフォルト | 説明 |
|---|---|---|---|
OPN_API_KEY | ✅ | — | Settings → API Keys で取得した API キー(opn_…) |
OPN_BASE_URL | — | https://l.opn.onl | API のベース URL。セルフホストインスタンスを使う場合に設定します |
ツール
リンク
| ツール | 説明 |
|---|---|
shorten_url | 短縮リンクを作成します。エイリアス、タイトル、メモ、スケジュール設定(starts_at/expires_at)、max_clicks、パスワード、閲覧後に無効化、フォルダー、タグは任意です |
shorten_urls_bulk | 複数の URL を一度に短縮します。フォルダーへの追加も任意です |
list_links | リンクを一覧表示します(件数、オフセット、検索、フォルダーまたはタグによる絞り込み) |
update_link | リンク先、タイトル、メモ、スケジュール設定、クリック数の上限、フォルダー、保護設定を更新します。remove_* フラグでフィールドをクリアできます |
delete_link | リンクを削除します |
clone_link | 新しい短縮コードでリンクを複製します |
toggle_link_pin | リンクをピン留め、またはピン留め解除します |
check_alias_available | カスタムエイリアスを使う前に、使用可能かどうか確認します |
分析
| ツール | 説明 |
|---|---|
get_link_stats | リンクごとの分析データ(クリック数、ユニーク訪問者数、地域、都市、デバイス、ブラウザー、OS、参照元)を取得します。days で期間を指定できます |
get_dashboard_stats | すべてのリンクを対象としたアカウント全体の分析データを取得します |
QR コードと URL のヘルパー
| ツール | 説明 |
|---|---|
get_qr_code | リンクの QR コード画像を取得します。ブランドカラー、中央ロゴ、PNG/SVG は任意です |
check_url_health | 短縮する前に、リンク先 URL にアクセスできるか確認します |
build_utm_url | URL に UTM キャンペーンパラメーターを追加します |
preview_url_metadata | URL の Open Graph メタデータ(タイトル、説明、画像)を取得します |
タグとフォルダー
| ツール | 説明 |
|---|---|
list_tags / create_tag | タグを一覧表示、または作成します |
add_tags_to_link / remove_tags_from_link | リンクにタグを追加、またはリンクからタグを削除します |
list_folders / create_folder | フォルダーを一覧表示、または作成します |
move_links_to_folder | リンクをフォルダーに移動します |
プロンプトの例
- 「https://example.com/very/long/url を短縮して、launch-2026 という名前にして」
- 「この5つの URL を、Q3 Campaign という新しいフォルダーにまとめて短縮して」
- 「リンク42は過去30日間で何回クリックされましたか?また、どの国からですか?」
- 「リンク42のブランド付き SVG QR コードを作成して」
- 「直近10件のリンクに 'newsletter' タグを付けて、ダッシュボードの分析データを表示して」
- 「https://example.com の UTM リンクを作成して。source は newsletter、medium は email」
開発
npm install
npm run build # tsc → dist/
npm test # vitest
OPN_API_KEY=opn_… npm run dev # run from source (stdio)
リリース
3 つのレジストリはいずれも ysalitrynskyi(npm ユーザー、GitHub ユーザー、および
io.github.ysalitrynskyi MCP レジストリの名前空間)が所有しているため、公開は
このアカウントにサインインした状態で行う必要があります。
- 次の3 か所のバージョンを更新し、すべて同じ値にします。
package.json、server.json(トップレベルとpackages[0].versionの両方)、src/server.tsのSERVER_VERSION。 - 変更を反映します。
mainにコミットしてプッシュします。CI(.github/workflows/ci.yml)ではbuildとtestが実行されます。公開は行われません。 - npm に公開します(npm ユーザー
ysalitrynskyiとして)。npm login npm publish # prepublishOnly runs the build - MCP レジストリに公開します(GitHub ユーザー
ysalitrynskyiとして)。mcp-publisher validate # optional, offline check mcp-publisher login github # interactive browser OAuth mcp-publisher publish
Smithery(smithery.yaml)と Glama
(glama.json)は npm/レジストリのリリースを自動的に追跡するため、個別の手順は不要です。
ライセンス
MIT © ysalitrynskyi。opn.onl プロジェクトの一部です。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。