mcpField
L
litport-mcp

litport-mcp

ローカル
github.com/litportnetクラウド・インフラ03 日前に更新

litport-mcp について

litport-mcp は、コーディングエージェントやチャットクライアントを Litport API に接続し、プロキシトークン、パッケージ、プール、地域指定を扱います。一覧ではトークンのパスワードを既定でマスクし、検証済みのプロキシ URL を生成できますが、トークンやパッケージの作成・購入はできません。

主な機能

  1. 01トークン、使用量、パッケージの確認
  2. 02トークンの場所とローテーションの変更
  3. 03パッケージの許可 IP リスト管理
  4. 04プールと地域指定オプションの一覧
  5. 05プロキシ URL の生成とドキュメント検索

活用シーン

  1. 01トークンの帯域使用量を確認
  2. 02トークンの場所変更や IP の取得
  3. 03パッケージの許可 IP アドレスを更新
  4. 04選択したプールのプロキシ URL を生成

MCP 対応

Litport API の操作を MCP クライアント向けのツールとして提供し、トークンやパッケージの確認、一部設定の変更、プロキシ URL の生成を可能にします。トークンのパスワードは一覧で既定でマスクされ、指定したトークンの個別取得時に返されます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"litportnet-litport": {
"command": "npx",
"args": [
"-y",
"@litportnet/litport-mcp"
]
}
}
}
起動コマンドnpx -y @litportnet/litport-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@litportnet/litport-mcp0.2.1

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Litport MCP サーバー

Litport API 用のModel Context Protocol サーバーです。コーディングエージェントやチャットクライアントから直接、プロキシトークン、使用状況、パッケージ、GB 単位の従量課金プール/地域ターゲティングを確認し、トークンのロケーションやローテーション間隔の変更、新しい IP の取得、パッケージの許可 IP リストの管理、すぐに使えるプロキシ接続 URL の作成を行えます。

このサーバーでは、トークンやパッケージの作成、購入、更新、解約、無効化、認証情報のリセット、アカウント残高の使用はできません。トークンのロケーションやローテーション間隔の変更、データセンター/ISP トークンの新しい IP のリクエスト、パッケージの許可 IP の追加、削除、設定は可能です。

インストールと設定

litport.net/users/settings で API キーを作成し、MCP クライアントの設定で env ブロックに LITPORT_API_KEY を指定してサーバーを追加します。

Claude Code
claude mcp add litport -e LITPORT_API_KEY=lit_your_key_here -- npx -y @litportnet/litport-mcp

または、.mcp.json に追加します。

{
  "mcpServers": {
    "litport": {
      "command": "npx",
      "args": ["-y", "@litportnet/litport-mcp"],
      "env": {
        "LITPORT_API_KEY": "lit_your_key_here"
      }
    }
  }
}
Claude Desktop

claude_desktop_config.json の mcpServers に同じブロックを追加します。

{
  "mcpServers": {
    "litport": {
      "command": "npx",
      "args": ["-y", "@litportnet/litport-mcp"],
      "env": {
        "LITPORT_API_KEY": "lit_your_key_here"
      }
    }
  }
}
Cursor

.cursor/mcp.json に同じブロックを追加するか、Cursor の「設定」→「MCP」→「新しい MCP サーバーを追加」を使用し、コマンドに npx -y @litportnet/litport-mcp を指定して、環境変数欄に LITPORT_API_KEY を設定します。

認証情報の露出 — 2 つの方法

プロキシトークンには username/password のペアが含まれています。参照操作であるにもかかわらず、list_tokens のすべてのパスワードをデフォルトでモデルのコンテキストに含める必要はありません。そのため、このサーバーでは実際のパスワードを取得する方法を 2 つ用意しています。

オプション動作
デフォルト(LITPORT_MCP_REVEAL_CREDENTIALS が未設定)list_tokens は各トークンの password をマスクして返します(null、passwordSet: true)。また、get_token_credentials または build_proxy_url を示す hint を追加します。get_token_credentials と build_proxy_url は、リクエストされた 1 つのトークンについて、常に実際のパスワードを返します。
LITPORT_MCP_REVEAL_CREDENTIALS=1list_tokens は、ほかのすべての情報とともに、すべてのパスワードをマスクせずに返します。

どちらの方法でも、情報にアクセスできなくなることはありません。デフォルトでは、特定のトークンが指定されるまで、一括リストがモデルのコンテキストに含まれないようにしているだけです。

ツール

ツールAPI を呼び出すか書き込みを行うか説明
list_tokensはいプロキシトークンの一覧を取得します。カーソルによるページネーションと任意の packageId フィルターに対応しており、デフォルトではパスワードをマスキングします。
get_token_credentialsはいID でトークンを 1 つ取得します。実際のパスワードも含まれます。
get_token_usageはいトークンの帯域幅使用量を取得します。ドメイン別、および/または時間単位の料金を指定できます。
get_token_locationはいトークンの現在のロケーション/キャリアのターゲットと、今すぐ変更できるかどうかを取得します。
list_location_optionsはいトークンの移動先として指定できる地域/都市(データセンター/ISP)または都市/キャリア(モバイル)の値を一覧表示します。
set_token_locationはいはいトークンのロケーション(モバイルの場合はキャリアも)を変更します。
set_rotationはいはいトークンのローテーション間隔を変更します。
get_new_ipはいはいデータセンター/ISP トークンの新しい IP を取得します。静的トークンでは週ごとの利用枠を使い、ローテーションするトークンでは呼び出し間に短い待機時間があります。静的トークンでは、無条件に再試行しても安全ではありません。
list_packagesはいプロキシパッケージの一覧を取得します。製品、ステータス、アドオン、制限、日付、トークン ID が含まれます。
get_packageはい公開数値 ID でパッケージを 1 つ取得します。
get_allowed_ipsはいパッケージの許可 IP リストと上限を取得します。
set_allowed_ipsはいはいパッケージの許可 IP リスト全体を一度に設定します。
add_allowed_ipはいはいパッケージの許可 IP リストに IP を 1 つ追加します。
remove_allowed_ipはいはいパッケージの許可 IP リストから IP を 1 つ削除します。
list_poolsはい従量課金制の GB プールと、それぞれが接続するハブを一覧表示します。
list_targeting_optionsはい1 つ以上のプールで利用できる国、地域、都市を一覧表示します。
get_balanceはいアカウントの従量課金制 GB 残高とプランを取得します。
explain_proxy_errorいいえ(ローカル)X-Proxy-Error-Code または SOCKS5 の応答を調べ、何が起きたか、再試行すべきか、何をすべきかを確認します。
build_proxy_urlはいプール/地域/セッションのターゲティング、またはパスワード不要の許可 IP エンドポイントを指定して、トークン用のすぐに使えるプロキシ接続 URL を作成します。
search_docsはい(公開)Litport のドキュメントインデックスを検索し、クエリに一致するページを探します。
get_docはい(公開)Litport のドキュメントページを Markdown として取得します。

読み取りツールには readOnlyHint: true、destructiveHint: false、idempotentHint: true が注釈されています。 各書き込みツールの説明には、それぞれが何かを変更するか、繰り返し実行しても安全かどうかが記載されています。例外は get_new_ip(idempotentHint: false)です。以下を参照してください。

トークンのロケーション、ローテーション、新しい IP

set_token_location が送信するのは、指定したキーのみです。データセンター/ISP トークンの場合は region/city、モバイルトークンの場合は city/carrier を指定するため、どちらか一方の形式で指定してください。繰り返し実行しても安全です。すでに保存されているターゲットを再送信した場合、何も変更されません。標準の米国共有モバイルトークンでは、これを実行できるのは 48 時間に 1 回です。409 CHANGE_LIMIT が返された場合、エラーには nextChangeAt と Retry-After ヘッダーが含まれ、どちらもツールが表示するため、モデルはやみくもに再試行せず、次に実行できる時刻を把握できます。

set_rotation は、トークンのローテーション間隔を、そのトークン自身の rotation.options の値のいずれかに変更します。rotation.changeable が false の場合(たとえば、間隔が現在の電話番号に常に従うマルチロケーションモバイルトークンの場合)、NOT_SUPPORTED を返します。

get_new_ip は、データセンター/ISP トークンに新しい IP を要求します。静的トークンでは週ごとの利用枠を消費するため、やみくもに再試行するのは安全ではありません。まず get_token_location を呼び出して canChangeNow/nextChangeAt を確認してください。同じ週に 2 回目の呼び出しをすると、2 つ目の新しい IP が返されるのではなく、CHANGE_LIMIT で失敗します。呼び出し結果が失われた場合や曖昧な場合は、再度呼び出すのではなく get_token_location で読み直してください。

ローテーショントークンでは、いつでも実行できます。新しい IP は常に現在の IP と異なり、トークンの自動タイマーはリセットされます。2 回の呼び出しの間隔は、そのタイプで最短のローテーション間隔(トークンの rotation.options で最小の値)以上にする必要があります。この待機時間内に呼び出すと、CHANGE_LIMIT、nextChangeAt、Retry-After が返されます。LOCATION_UNAVAILABLE は、現時点で条件を満たす別の IP がないことを意味します。何も変更されませんが、呼び出しによって待機時間は発生します。結果が失われた後は、get_token_location で変更を確認できません。その canChangeNow/nextChangeAt は、この待機時間ではなくロケーションに関するものです。Retry-After の後に再度呼び出しても問題ありません。その場合は別の新しい IP が返されます。結果が失われた直後に CHANGE_LIMIT が返っても、変更が行われたことの証明にはなりません。

パッケージの許可 IP の書き込み

MCP サーバーは、正確なパブリック IPv4 アドレスを対象とする set_allowed_ips(リスト全体を一度に設定)、add_allowed_ip、remove_allowed_ip を提供します。IPv6 はサポートされていません。サポートにお問い合わせください。アドレスは IP 自体で識別されます。アドレス ID やリビジョンの事前条件はありません。最後にコミットされた成功した呼び出しが優先されます。すでに有効なアドレスを追加した場合や、すでに存在しないアドレスを削除した場合は、何も変更されません。remove_allowed_ip は、IP からのパスワード不要アクセスを削除するため、破壊的操作としてマークされています。省略したアドレスが削除されるため、set_allowed_ips も同様です。パッケージには IPv4 アドレスが 1 つ含まれます。アドオンを利用すると最大 50 個までサポートされます。50 個に達した場合はサポートにお問い合わせください。パスワード不要エンドポイント自体はここではなく、各トークンの ipAuth(list_tokens/get_token_credentials)にあります。

build_proxy_url と 2 種類のトークン

従量課金制トークンでは、リクエストごとに選択します。build_proxy_url はプール、地域、セッションの各セグメントをユーザー名に追加し、選択したプロトコルに対応するポートを選びます。保存済みのプールがあるトークンでは pool 引数は不要で、競合する値を指定すると拒否されます。保存済みのプールがないトークンでは、価格がプールによって決まるため pool が必須です。

無制限トークンにはエンドポイントが 1 つだけ割り当てられているため、プール、地域、セッションの各引数は不要です。これらを渡すと、プロキシに拒否されるユーザー名を黙って生成するのではなく、どの引数が原因かを示して拒否します。また、このトークンではプールのリクエスト自体を行いません。ハブがすでにサービスを提供していない場合、ツールは壊れた URL を返すのではなく、そのことを通知します。無制限トークンに passwordless: true を渡すと、代わりに ipAuth エンドポイントから認証情報不要の URL が作成されます。ipAuth がまだ null の場合は、まず add_allowed_ip を参照してください。

パラメーターは、値を返す前に公開されているルールに照らして検証されます。そのため、形式が不正な国スラッグや範囲外のセッション有効期間は、リクエストを消費することなく報告されます。

環境変数

変数必須説明
LITPORT_API_KEYはいLitport API キー(lit_…/ltp_…)です。
LITPORT_API_URLいいえAPI のベース URL を上書きします。デフォルトは https://litport.net です。
LITPORT_MCP_REVEAL_CREDENTIALSいいえ1 に設定すると、list_tokens が実際のパスワードを返します。

開発

npm install
npm test               # node --test test/
npm run generate-contracts   # regenerate src/contracts.generated.js from the web app

src/contracts.generated.js は Web アプリケーションの正式なコントラクトモジュールから生成されるため、手動で編集することはありません。

ライセンス

MIT

コントラクト

src/contracts.generated.js には、Litport Web アプリケーションのプロキシエラーリファレンスと GB 単位の従量課金パラメーター規則が含まれているため、explain_proxy_error と build_proxy_url はネットワーク呼び出しなしで応答できます。このファイルは生成されるものであり、手動で編集することはありません。2 つの内容に不一致がある場合は、アプリケーションのパリティチェックでエラーになります。ソースコントラクトがある Litport アプリケーションリポジトリ内のコピーから、npm run generate-contracts を実行して再生成してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。