mcpField
T
TradeStar Insider

TradeStar Insider

リモート
github.com/TradestarV5金融データ21 週間前に更新
リポジトリ

TradeStar Insider について

TradeStar Insiderは、米国SECの提出書類データを検索・検証するMCPサーバーとクライアントライブラリです。推測値ではなく、出典書類に紐づく解析済み記録を返し、インサイダー取引などを扱います。

主な機能

  1. 01SEC提出書類に基づく主張の検証
  2. 02Form 4のインサイダー購入検索
  3. 03インサイダーの集団購入を検索
  4. 0413D、13F、8-K提出書類の確認
  5. 05連邦契約の受注情報を確認

活用シーン

  1. 01インサイダー購入の主張を検証
  2. 02インサイダーの集団購入を調査
  3. 03アクティビストの持ち分やファンド保有を検証
  4. 04最近の契約受注を確認

MCP 対応

認証不要のStreamable HTTP MCPエンドポイントと、ローカルstdioプロキシを提供します。MCPツールでForm 4、13D、13F、8-Kの提出書類を検索・検証できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.tradestarinsider.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
pypiinsider-signals-mcp1.1.0
npminsider-signals-mcp1.1.0

ツール

10
パラメーター型必須説明
endstringいいえ両端を含む期間の終了日。ISO YYYY-MM-DD。日付範囲を指定するには `start` とともに指定してください。
daysintegerいいえ今日を基準に、過去 N 日以内に提出された行のみを返します。
as_ofstringいいえ公開境界に基づくリプレイ:UTC の ISO-8601 時刻(または YYYY-MM-DD のみを指定すると、UTC の当日終了時刻として解釈)。その時刻までに公開境界を越えていた行のみを返します。過去のその時点で実際に閲覧できたフィードです。各行には `first_served_at` が含まれます(このタイムスタンプが導入される前に公開された行では null。その時点ですでに公開済みだったため、これらの行も保持されます)。
limitintegerいいえ返す行の最大数(デフォルト 25、最新順)。offset でページングします。応答の total_matched に全件数が表示されます。limit<=0 = 上限なし。
startstringいいえ両端を含む期間の開始日。ISO YYYY-MM-DD。日付範囲を指定するには `end` とともに指定してください。
offsetintegerいいえこのページの前にスキップする行数(ページネーション)。デフォルトは 0 です。
tickerstringいいえ大文字と小文字を区別しない ticker の完全一致フィルター。例:DKS。
include_unlistedbooleanいいえ非上場の発行体を含めます(ticker が空欄/NONE/N/A、および 5 文字の投資信託クラス)。デフォルト false = 取引所上場の普通株式のみ。各行には `listed_equity` のブール値が含まれます。

詳細

インサイダーの買いシグナル

米国SECへの届出に関する主張は、すべて届出書と項目ごとに照合して確認できます。 ここに記載された数値はすべて、株式数、価格、金額、割合、持ち分の規模を問わず、実際のEDGAR届出書から解析したフィールドに基づいており、sec.govにある届出書へのリンクが付いています。届出書にリンクできない記録は削除し、推測で補うことはありません。スコアも、出典のない数値もありません。これを「届出書確認済み」と呼んでいます。また、当然気になる問い――インサイダーの買いはリターンを予測するのか――について、事前登録した4つの非公開テストを実施しました。反証を4回試みましたが、データは4回とも否定的な結果を示しました。全記録はこちらにあります:https://www.tradestarinsider.com/what-we-tested。このリポジトリは、[TradeStar Insider](https://www.tradestarinsider.com) API用のMITライセンスのMCP サーバー、クライアントライブラリ、および実例です。

無料プランと有料プラン

どのプランでもデータは同じです。すべての行が届出書確認済みで、sec.govにある出典へのリンクが付いています。プランによって異なるのは、履歴、利用量、エクスポート機能です。

無料有料 — $29/月
呼び出し回数100 / 日100,000 / 月
履歴過去30日間2024-01-02までの全履歴 + エクスポート
届出書の確認(両プランとも無料)全履歴全履歴

無料枠では、過去30日間の届出書を利用できます。それより古い届出書が隠されることはありません。古い日付を指定すると、届出書が存在し、有料プランの対象であることが通知されます。届出書が存在しないと誤って伝えることはありません。verify_* ツールでは、全履歴にわたる任意の届出書を無料で確認できます。RapidAPIの有料プランは月額$29で、月間100,000回の呼び出し、2024年以降の全履歴、および/v1/mcp-keyから取得できる有料MCPエンドポイント用のキーが含まれます。

(RapidAPIでは、無料のBasicプランは1日100回、またはコンソールで月間クォータのみが設定可能な場合は月間3,000回です。)

無料で利用できる方法は2つあり、それぞれに独自の制限があります。オープンなキー不要のエンドポイント(mcp.tradestarinsider.com/mcpおよび/public/v1)では、IPアドレスごとに1日100回のデータ呼び出しを厳格に適用し、00:00 UTCにリセットします。上限を超えると、通常のメッセージを返します(MCPではツールの結果、RESTではHTTP 429)。トランスポートエラーにはなりません。MCPのハンドシェイクとverify_*チェックはいずれも想定どおりに動作します(ハンドシェイクは無料で、verifyは1回の呼び出しとしてカウントされます)。RapidAPI Basicでは、同じ1日100回の上限がキーごとに適用されます。どちらも同じ過去30日間の無料期間を提供します。

料金の詳細とキーはこちら:https://www.tradestarinsider.com/pricing

MCP サーバーをローカルで実行する

サーバーはinsider-signals-mcpとして公開されています。リモートエンドポイントへの小型のstdioプロキシです。uvxを使えば、インストールせずに実行できます。

uvx insider-signals-mcp

Claude Desktopに接続するには、claude_desktop_config.jsonに次の内容を追加します。

{
  "mcpServers": {
    "insider-signals": {
      "command": "uvx",
      "args": ["insider-signals-mcp"]
    }
  }
}

または、任意のMCPクライアントからリモートエンドポイントに直接接続できます(プロキシは不要です)。 https://mcp.tradestarinsider.com/mcp(Streamable HTTP、認証不要)。中核となるのはverifyツールです。インサイダーによる購入、アクティビストの13D持ち分、8-Kイベント、または13F保有内容を、出典となる届出書と照合して確認できます。

データの内容

SEC EDGARで提出書類を確認した5種類のデータ(およびUSAspendingの連邦契約受注)です。

  • インサイダーによるForm 4での購入(SEC取引コードP)— クラスター購入(7暦日以内に同じ企業のインサイダーが2人以上購入)と、インサイダーの既存保有数に対して大規模な購入です。
  • アクティビストによるSchedule 13Dの持ち分、13Fファンドの保有ポジションの変化、最近の連邦契約の受注です。

コードPだけでは、公開市場での購入であることを証明できません。 Pで提出された購入は、IPO/募集/私募での割り当てである可能性があります。そのため、すべての購入記録にはoffering_contextフラグ(true = 公開市場での購入ではなく、割り当て)を付与し、クラスターには単一の設定価格を示すuniform_price_clusterフラグを付与します。オプション行使、10b5-1に基づく計画的な売却、およびしきい値未満(50,000ドル未満)のノイズは除外します。返却するすべてのフィールドは実際の提出書類から解析され、sec.govへのリンクが付属します。**提出書類にリンクできない記録は、推測で補わずに除外します。スコアも、出典のない数値もありません。**これを、提出書類で検証済みと呼んでいます。

データに含まれないもの

**予測ではありません。**インサイダー購入が価格変動に先行するかどうかを、過去のデータを使って事前登録済みの非公開テストで4件検証しましたが、4件すべての結果はNULLでした。つまり、基準率と区別できるリターン上の優位性はなく、そのような優位性があるとは主張していません。各テストの質問、方法、サンプル、数値、判定を含む全記録は、検証した内容で公開しています。これは公開されている購入情報の上に構築された、クリーンで提出書類検証済みの検索・検証レイヤーです。その情報の意味はご自身で判断してください。また、リアルタイムではありません。データの取り込みは平日の1日1回のcronで行われるため、新しい提出書類が表示されるのはリアルタイムではなく、翌営業日です。

対象範囲

  • **インサイダーによるForm 4での購入:**全期間 2024-01-02 → 2026-10-09(米国の取引日686日)。祝日以外の欠落はありません(プレジデンツデーなどの市場休場日には提出書類がないため、欠落には数えません)。最新の件数は、いつでも/v1/healthで確認できます。ここが正確な情報源であり、営業日ごとに更新されます。提供される購入はすべて、提出書類で検証済みのコードPによる購入であり、公開市場での購入だという推測は含みません。解析したSEC提出書類のフィールドまで追跡できない記録は、推測で補わずに除外します。
  • 網羅性:対象期間内のコードPによる購入の93.70%を捕捉しています(下限は87.28%)。スキップした提出書類のうち、本当に見逃した購入だったのはわずか0.75%(95% CI 0.34–1.63%)です。残りは売却、オプション行使、訂正、および設計上除外している50,000ドル未満の購入です。(この再現率の数値は、事前登録済みの非公開20取引日調査(2026-08-17 → 2026-09-14)に基づいています。詳細は検証した内容をご覧ください。)

インストール

pip install insider-signals        # or, from a clone:  pip install -e .

実行時依存関係はありません。クライアントはPython標準ライブラリのみを使用します。

クイックスタート(無料、キー不要)

無料プランでは、キーなしで公開ディスカバリー用エンドポイントにアクセスでき、IPごとのレート制限が適用されます。

from insider_signals import InsiderSignals

api = InsiderSignals()                         # public base URL, no key

print(api.health()["datasets"]["insider"])     # coverage days + date range

for s in api.today():                          # today's filing-verified buys
    print(s["ticker"], s["value_usd"], s["filing_url"])

for s in api.clusters():                       # cluster buys (2+ insiders, ≤7 days)
    print(s["ticker"], s["cluster_insiders"], s["cluster_notional"])

# Verify a specific claim against the filings we hold:
v = api.verify("ETRA", "ORBIMED ADVISORS LLC")
print(v["status"], v["count"])                 # -> confirmed 2

実行可能な例はexamples/rest_api.pyをご覧ください。

無料プランとキー認証プラン

プランメソッドアクセス
無料(キー不要)health、today、clusters、verify、verify_13d、verify_8k、verify_13f公開 /public/v1、IPごとのレート制限あり
キー認証(RapidAPI)by_ticker、by_range、filing、fund_changes、federal_awards_recent、activist_stakes_recent、amendments_recentRapidAPI経由、従量制

キー認証プランを利用するには、RapidAPIで登録し、キーを指定してクライアントを作成します。

api = InsiderSignals(base_url="https://<your-rapidapi-host>", rapidapi_key="...")
for s in api.by_ticker("GME"):
    print(s["insider"], s["shares"], s["price_per_share"], s["filing_url"])

キーを指定せずにキー認証が必要なメソッドを呼び出すと、status == 403のInsiderSignalsErrorが発生します。

実例 — 各ツールの実際のリクエストとレスポンス

以下の各レスポンスは、API キー不要の無料プランで、公開 API から実際に取得したものです。 無料のリストツール 2 つ(today、clusters)は 2026-10-21 に再取得したもので、coverage_* フィールドには無料プランの 30 日間の対象期間が表示されています。無料プランの利用者には、まさにこの内容が返されます。verify_* の例は以前の取得分(2026-09-23)です。検証はすべてのプランで全履歴が対象となるため、coverage_* フィールドには取得日時点の対象期間が反映されており、30 日間の制限は適用されていません。対象期間は毎日移動します。現在の範囲は /v1/health で確認してください。

today — 今日のインサイダーによる買い付け
GET https://api.tradestarinsider.com/public/v1/signals/today
{
  "api_version": "v1",
  "endpoint": "signals/today",
  "rule2_guarantee": "Every record traces to a parsed SEC filing field and carries its source filing_url. Records without a filing link are dropped upstream and never returned.",
  "count": 0,
  "coverage_start": "2026-09-22", "coverage_end": "2026-10-20",
  "coverage_note": "Insider (Form-4 code P) signals collected 2026-09-22..2026-10-20. An empty result means no matching filing in this window — not absence at the SEC.",
  "total_matched": 0,
  "params": { "date": "2026-10-21", "limit": 25 },
  "signals": []
}

(市場開始前や取引のない日は結果が空でも正常です。新しい提出書類が公開されると、すぐにデータが反映されます。)

clusters — クラスター買い付け(同一発行体で 7 日以内に 2 人以上のインサイダーが買い付け)
GET https://api.tradestarinsider.com/public/v1/signals/clusters
{
  "api_version": "v1",
  "endpoint": "signals/clusters",
  "count": 1,
  "coverage_start": "2026-09-22", "coverage_end": "2026-10-20",
  "coverage_note": "Insider (Form-4 code P) signals collected 2026-09-22..2026-10-20. An empty result means no matching filing in this window — not absence at the SEC.",
  "total_matched": 177,
  "params": { "limit": 1 },
  "signals": [
    {
      "filed_date": "2026-10-19",
      "ticker": "APLD",
      "issuer_name": "Applied Digital Corp.",
      "issuer_cik": "0001144879",
      "insider": "Jason Zhang",
      "relationship": { "director": false, "officer": true, "ten_pct_owner": false, "officer_title": "President" },
      "code": "P",
      "shares": 300000.0, "price_per_share": 18.86, "value_usd": 5658000.0,
      "transaction_date": "2026-10-16", "acceptance_datetime": "2026-10-19T07:06:33-04:00",
      "cluster": true, "cluster_insiders": 2, "cluster_notional": 6664686.12,
      "offering_context": false, "uniform_price_cluster": false,
      "accession": "0001900445-26-000006",
      "filing_url": "https://www.sec.gov/Archives/edgar/data/1900445/000190044526000006/0001900445-26-000006-index.htm"
    }
  ]
}
verify — インサイダーによるコード P の買い付けの申告を確認
GET https://api.tradestarinsider.com/public/v1/verify?ticker=ETRA&person=ORBIMED ADVISORS LLC
{
  "api_version": "v1",
  "endpoint": "verify",
  "coverage_start": "2026-01-20", "coverage_end": "2026-09-23",
  "coverage_note": "Checked SEC Form-4 code P purchases collected 2026-01-20..2026-09-23. Absence here means not in this window — not absence at the SEC.",
  "status": "confirmed",
  "matched": ["ticker/issuer", "person"],
  "filings": [
    {
      "ticker": "ETRA", "issuer_name": "Electra Therapeutics, Inc.",
      "insider": "ORBIMED ADVISORS LLC",
      "code": "P", "shares": 1000000.0, "price_per_share": 15.0, "value_usd": 15000000.0,
      "filed_date": "2026-09-23", "accession": "0000947871-26-000880",
      "transaction_date": "2026-09-19",
      "acceptance_datetime": "2026-09-23T18:04:11-04:00",
      "aff10b5One": 0,
      "is_amendment": false,
      "original_accession": null,
      "filing_url": "https://www.sec.gov/Archives/edgar/data/2088082/000094787126000880/0000947871-26-000880-index.htm"
    }
  ],
  "count": 2,
  "message": "Confirmed: 2 matching Form-4 code P purchase filing(s)."
}

一致する提出書類がない申告は、対象期間内なら "status": "not_found"、収集対象日より前なら "out_of_coverage" を返します。推測で回答することはありません。

購入記録のフィールド。 verify(申告による確認)とアクセッション番号による取得のどちらでも、購入が確認されたすべての提出書類に同じ 4 つの追加フィールドが含まれます。そのため、どの方法で取得した行でも、同じ形式で扱えます。

フィールド意味
transaction_date報告された取引日(Form 4 の periodOfReport)。filed_date とは異なります。提出書類に解析可能な日付が含まれていない場合は null です。
acceptance_datetimeEDGAR の受理タイムスタンプ(SEC が提出書類を受理した日時)。オフセット付きの ISO-8601 形式です。このタイムスタンプの記録開始前に収集された行では null です。
aff10b5OneForm 4 から解析された 10b5-1 取引計画のフラグ(1 = 提出者が 10b5-1 計画を申告、0 = 申告なし)。元の提出書類でフィールドを利用できない場合は null です。
is_amendment / original_accessionis_amendment は Form 4/A の場合に true です。original_accession は、修正対象の元の提出書類が収集対象期間内にある場合に、その提出書類に紐付けます(SEC Form 4/A には元の提出書類へのネイティブな参照がないため、発行体、報告所有者、期間を使って紐付けます)。それ以外の場合は null です。

解決できなかったフィールドは null となり、レコード内の partial_fields オブジェクト(フィールド → 理由)で説明されます。値の欠落が説明なしで残ることはありません。すべて解決されたレコードには、partial_fields 自体が含まれません。例:

"partial_fields": { "acceptance_datetime": "row collected before the acceptance stamp was captured" }

Form 4/A の修正。 インサイダーが以前の Form 4 を訂正する Form 4/A を提出した場合、verify は現行のレコードとして修正版を返します。置き換えられた元の提出書類が、同等の提出書類として併せて返されることはありません。申告で修正対象となった数値を指定していた場合、判定には original_accession、amendment_accession、訂正後の数値を示す superseded オブジェクトが含まれ、メッセージには数値が 4/A によって訂正された と記載されます。API キーを使う amendments_recent(GET /v1/amendments/recent)では、このような修正が新しい順に一覧表示されます。各項目には original_accession と、Form 4/A で変更された内容を示す changed_fields マップ(変更前 → 変更後)が含まれます。元の提出書類が収集対象期間外にある場合も一覧には含まれますが、original_in_corpus: false として示され、変更前後の値は null のままです。推測で補うことはありません。

verify_13d — Schedule 13D のアクティビスト持分に関する申告を確認
GET https://api.tradestarinsider.com/public/v1/verify/13d?subject_name=New Fortress Energy Inc.&filer_name=Strategic Value Partners, LLC
{
  "endpoint": "verify/13d",
  "coverage_start": "2026-06-22", "coverage_end": "2026-09-18",
  "status": "confirmed",
  "filings": [
    {
      "filed_date": "2026-09-18", "form_type": "SCHEDULE 13D",
      "subject_name": "New Fortress Energy Inc.", "subject_tickers": ["NFE", "NFEGP"],
      "filer_name": "Strategic Value Partners, LLC",
      "percent_of_class": 14.7, "aggregate_amount_owned": 19208710.0,
      "signal": "new_13d_bare", "stated_intent": "New 13D. No activist purpose stated.",
      "accession": "0001193125-26-395888",
      "filing_url": "https://www.sec.gov/Archives/edgar/data/1749723/0001193125-26-395888.txt"
    }
  ],
  "count": 1,
  "message": "Confirmed: 1 matching Schedule 13D/13D-A filing(s)."
}
verify_8k — 重要事象に関する 8-K の申告を確認
GET https://api.tradestarinsider.com/public/v1/verify/8k?cik=1650648&company_name=4D Molecular Therapeutics, Inc.
{
  "endpoint": "verify/8k",
  "coverage_start": "2025-03-06", "coverage_end": "2026-09-22",
  "status": "confirmed",
  "filings": [
    {
      "cik": "1650648", "company_name": "4D Molecular Therapeutics, Inc.",
      "accession": "0001193125-26-277563",
      "filing_date": "2026-06-22", "event_date": "2026-06-17", "form": "8-K",
      "items": [{ "code": "5.07", "label": "Submission of Matters to a Vote of Security Holders" }],
      "filing_url": "https://www.sec.gov/Archives/edgar/data/1650648/000119312526277563/"
    }
  ],
  "count": 4,
  "message": "Confirmed: 4 matching 8-K filing(s) carrying the claimed item(s)."
}
verify_13f — 機関投資家の保有に関する 13F の申告を確認
GET https://api.tradestarinsider.com/public/v1/verify/13f?filer=BERKSHIRE HATHAWAY INC&issuer_name=ALPHABET INC&quarter=2026-06-30
{
  "endpoint": "verify/13f",
  "coverage_start": "2024-06-30", "coverage_end": "2026-06-30",
  "coverage_note": "Values are AS-OF quarter-end and up to ~45 days stale.",
  "status": "held",
  "filings": [
    {
      "filer_name": "BERKSHIRE HATHAWAY INC",
      "as_of_quarter_end": "2026-06-30", "filed_date": "2026-08-14", "lag_days": 45,
      "change": "added", "issuer_name": "ALPHABET INC", "title_of_class": "CAP STK CL A",
      "value_usd": 28157599351, "prior_value_usd": 15600071913, "ssh_prnamt": 78791167,
      "accession": "0001193125-26-352200",
      "filing_url": "https://www.sec.gov/Archives/edgar/data/1067983/000119312526352200/"
    }
  ],
  "count": 2,
  "message": "Held: 2 matching 13F position(s) reported as of the covered quarter."
}

レスポンス形式

すべてのデータルートは同じエンベロープを返します。行は signals の下に格納され、クライアントのリストを返すメソッドはそのリストを直接返します。verify* メソッドはエンベロープ全体を返します(status と matched/filings フィールドを確認してください)。

リストの制御

すべてのリストルート(today、clusters、ticker、range、amendments/recent)では、同じ 任意のクエリパラメーターを使用できます。レスポンスには、設定したパラメーターが params の下に反映され、 常に total_matched が報告されるため、ひそかな上限に達することなくページ分割できます。

param意味
limit返される行の最大数(デフォルトは25件、新しい順)。limit<=0 で上限がなくなります。
offsetこのページの前にスキップする行数(ページネーション)。
days過去N日以内に提出された行のみを対象にします(今日を基準とします)。
ticker大文字と小文字を区別しない、ティッカーの完全一致フィルターです。
as_of公開境界時点での再現。 UTC の ISO-8601 時刻(または日末の UTC として扱われる YYYY-MM-DD のみの日付)を指定します。その時点以前に公開境界を越えていた行のみを返します。つまり、過去のその時点でクライアントが見ていたものとまったく同じフィードです。

すべてのリスト行には first_served_at が含まれます。これは、その行が初めて公開境界を越えた時点(公開された状態にするアトミックな書き込み)の UTC ISO-8601 時刻です。取り込みバッチごとに一度だけ記録され、書き換えられることはないため、as_of による再現や公開遅延の測定に使える安定した基準となります。このフィールドが存在する前に生成された行では null となり、その旨は partial_fields に記載されます(こうした行は、フィールドが存在する前からすでに公開されていたため、as_of クエリでも含まれます)。as_of は days と組み合わせて使います。days は提出日の範囲を指定し、as_of は提供した時点の範囲を指定します。

MCP サーバー(AI アシスタント向け)

AI クライアント(Claude やその他の MCP クライアント)に、これらのシグナルを直接問い合わせられます。オープンで無料、IP ごとのレート制限があり、API キーも OAuth も不要です。

claude mcp add --transport http insider-signals https://mcp.tradestarinsider.com/mcp

その後、*「今日のインサイダー買いシグナルを見せて」や「今週、インサイダーによる集団買いはあった?提出書類へのリンクも付けて。」*と尋ねてください。ツール一覧と、プログラムで使用する SDK の例については、examples/mcp_client.md をご覧ください。

料金プラン

決済には RapidAPI を使用します。プランは Basic(無料)と、月額29ドルで月100,000回の呼び出しと2024年以降の全履歴を利用できるプランの2種類です。登録後、/v1/mcp-key を呼び出すと、キーと2種類のキー付き URL を取得できます。このキーを使うと、有料 MCP エンドポイントも利用できます。

上限は厳格で、超過料金はありません。上限を超えたリクエストは、期間がリセットされるまで 429 を返します。無料のディスカバリー機能と MCP サーバーはオープンで、IP ごとのレート制限があります。従量制の API 課金は RapidAPI 経由です。

免責事項

これは情報提供であり、投資助言ではありません。すべての数値は公開されている SEC の提出書類から抽出され、sec.gov の原資料にリンクしています。インサイダーによる買い付けが何かを保証するものではありません。インサイダーが間違うこともよくありますが、コード P の購入では実際に資金が投じられています。

ライセンス

MIT。変更履歴:CHANGELOG.md。

コメント

MCP は初めてですか?

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

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