Strait について
Strait はアプリのディープリンクを管理する MCP サーバーで、リンクの作成、検索、一時停止や、タップ・コンバージョン分析に対応します。QR コード、カスタムドメイン、Webhook、リンク設定の確認も扱い、ローカル stdio とホスト型 HTTP を利用できます。
主な機能
- 01ディープリンクの作成・検索・一時停止・再開
- 02リンク QR コードの生成とカスタムドメイン管理
- 03タップ、インストール、コンバージョン分析
- 04最近のタップとイベントの確認
- 05Webhook と配信記録の管理
- 06アプリリンク設定の確認とドキュメント検索
活用シーン
- 01キャンペーン用ディープリンクの一括作成
- 02期間ごとのリンク実績の比較
- 03リンクが開かない原因の調査
- 04失敗した Webhook 配信の確認と再試行
MCP 対応
ローカル stdio サーバーと、ホスト型の Streamable HTTP サーバーを提供します。多くのツールには Strait secret key が必要ですが、一部のリンク確認やドキュメント検索はキーなしで利用でき、書き込み操作の多くは明示的な確認を求めます。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://strait.link/mcpclaude mcp add --transport http in-straitlink https://strait.link/mcp{"mcpServers":{"in-straitlink":{"type":"http","url":"https://strait.link/mcp"}}}Cursor で開く{"servers":{"in-straitlink":{"type":"http","url":"https://strait.link/mcp"}}}VS Code で開く{"mcpServers":{"in-straitlink":{"type":"http","url":"https://strait.link/mcp"}}}{"mcpServers":{"in-straitlink":{"serverUrl":"https://strait.link/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
https://strait.link/mcp認証が必要ツール
詳細
Strait MCP サーバー
画面へ直行。タップを記録。
Strait リンクをタップすると、アプリ内の正確な画面へ直接移動し(Straight)、すべてのタップが記録されます(Stamped)。
ドキュメント · プラットフォームのステータス · Strait チームに問い合わせる
@straitlink/mcp(プレビュー)
claude mcp add strait --env STRAIT_SECRET_KEY=st_live_your_key -- npx -y @straitlink/mcp
Claude Code、Cursor、Claude Desktop などの AI ツールから Strait を利用して、ディープリンクの作成、検索、一時停止、再開、QR コードの取得、アナリティクスの閲覧と比較、最近のタップやコンバージョンイベントの確認、カスタムリンクドメインの管理、Webhook の操作(一覧表示、配信、テスト、再配信)、App Links/Universal Links ファイルや任意のベンダーのリンクの確認、リンクのタップ先の確認、Strait ドキュメントの検索ができます。
これは 34 個のツールを備えたローカル stdio サーバーです。そのうち 11 個は書き込みを行います(create_link、batch_create_links、update_link、pause_link、resume_link、deactivate_link、record_event、add_domain、remove_domain、test_webhook、redeliver_webhook_delivery)。残りの 23 個は読み取り専用です。check_app_links、check_link、search_docs、デモ用のtrace_tapはキーなしで動作します。それ以外のツールにはすべてシークレットキーが必要です。他のディープリンクベンダーもリンクを作成できる MCP サーバーを提供しているため、この README では「初」や「唯一」とは主張せず、このサーバーが現在提供する機能について説明します。
iPhone リンク:提供中 · インストール照合:オプトイン。 iPhone リンク(Universal Links)は提供中です。iPhone のインストール照合(iOS での遅延ディープリンク)はオプトインで、ワークスペースがダッシュボード → Settings → iPhone installs で方式(デバイス照合、貼り付けによる引き継ぎ、両方、またはいずれもなし)を選択するまで無効です。SDK はこの設定を実行時に読み込みます。新しいワークスペースではデバイス照合は無効で、iPhone の照合結果は実測されるまで「推定」と表示されます。Android では Play Install Referrer を使用します。
ホスト型サーバー。 同じツールを
https://strait.link/mcpで利用できます(Streamable HTTP、2026 年 10 月 24 日以降):claude mcp add --transport http strait https://strait.link/mcp --header "Authorization: Bearer st_live_your_key".Authorizationヘッダーでシークレットキーを指定します(キーごとに 60 リクエストまでバースト可能で、その後は 1 秒あたり 1 リクエスト)。OAuth サインインにはまだ対応していません。エンジンはこのパッケージのcreateStraitServer()(ライブラリエントリ、0.3.0)を使って提供します。
ツール
読み取り専用のシークレットキー(ダッシュボード → Settings → Keys、アクセス権「Read only」)では、読み取り専用ツールのみ利用できます(0.5.1。ホスト型サーバーではすでに対応済みです)。フルアクセスキーとリンク専用キーではすべてのツールを利用できます。API は、キーに許可されたアクセス範囲を超える操作を引き続き拒否します。
| ツール | 機能 | 必要なキー |
|---|---|---|
create_link | リンクを1つ作成し、その shortUrl を取得します | secret |
batch_create_links | 1回の呼び出しで最大500件のリンクを作成します(再実行しても安全です。既存のスラッグは項目ごとに409エラーになります) | secret |
get_link | スラッグでリンクを1つ読み取ります | secret |
list_links | リンクを1ページずつ一覧表示します。status: "paused" を指定すると、オフにしたリンクが一覧表示されます(0.2.1) | secret |
update_link | リンク先、タイトル、タグ、有効期限を変更するか、isActive のみを変更します(falseにすると一時停止し、trueにすると一時停止中のリンクを再開します。0.2.1)。confirm: true を指定する必要があります。指定しない場合はプレビューが表示され、変更は適用されません | secret |
get_analytics | 日別/チャネル別/リンク別/プラットフォーム別/キャンペーン別/国別/UTMタグ別のタップ、アプリの起動、インストール、コンバージョン、収益を取得します(GET /v1/analytics)。iPhoneのインストール数は、オプトインによるインストール照合から取得されます(「推定」と表示) | secret |
check_app_links | ドメインの assetlinks.json と apple-app-site-association を確認し、問題ごとに修正方法を提示します | なし |
simulate_tap | 1台のデバイスまたはアプリからのタップを1件ドライランします(記録も課金もされません) | secret |
trace_tap | WhatsApp、Instagram、Facebook、Chrome、Safari、iPad、コンピューター、プレビュー用ボットを通じてリンクの動作を追跡します。または、ウェブサイトのデモからLive Tap Traceを読み取ります | secret(リンク)/なし(デモトークン) |
get_workspace | キーの情報を取得します。ワークスペース、リンクドメイン、カスタムドメイン、プラン、キーのアクセス権(full/links/read)、保存済みのQRスタイル(qrStyles、0.6.0)が含まれます(GET /v1/workspace。0.5.0。このルートに対応したエンジンが必要です) | secret |
get_usage | 今月のタップ数と新規リンク数をプランと照合し、level(ok/warn/over)と new_links_paused を取得します(GET /v1/usage) | secret |
get_app_setup | Straitに登録されているアプリ設定を取得します。Androidのパッケージ、署名フィンガープリント、スキーム、iPhoneのTeam ID、バンドルID、App ID、各リンクドメインの assetlinks.json / apple-app-site-association と配信状況、プラットフォームごとに最後に送信されたSDKバージョンが含まれます(GET /v1/app。0.9.0) | secret(readまたはfull) |
verify_app_setup | 設定の各項目をpass/warn/fail/unknown/skipで確認し、修正方法を提示します(アプリの詳細、各リンクドメインでの両ファイルのライブ取得、SDKの接続と最新性、リンクの起動、Webhook)。失敗またはunknownがなければ ok になります。エージェントが修正して再実行します。1分あたり6回までです(GET /v1/app/verify。0.9.0) | secret(readまたはfull) |
get_referrals | 紹介レポートを取得します。コードごとのタップ数と紹介経由のインストール数が含まれます(GET /v1/referrals。プレビュー機能のため、有効になるまでは「まだ有効になっていません」と表示されます) | secret |
list_webhook_deliveries | Webhookの配信状況(ステータス、試行回数、最後のHTTPステータス、次回の再試行。ペイロードは含まれません)を一覧表示します。webhookId を指定しない場合は、ワークスペースのWebhook(ID、受信先サイト、イベント)を表示します | secret |
test_webhook | Webhookに ping を1件送信し、受信側のステータスと所要時間を確認します(保存も再試行もされません) | secret |
redeliver_webhook_delivery | 失敗した配信を再送信します(同じ X-Strait-Delivery IDを使用)。confirm: true を指定する必要があります | secret |
deactivate_link | リンクをオフにします。以後のタップには「リンクが見つかりません」ページが表示されます。confirm: true を指定する必要があります。update_link の isActive: true で再度オンにできます | secret |
pause_link | リンクを一時停止します(再開するまで、タップすると「リンクが見つかりません」ページが表示されます)。confirm: true を指定する必要があります(0.3.0) | secret |
resume_link | 一時停止中のリンクを再開します。confirm: true を指定する必要があります(0.3.0) | secret |
search_links | スラッグ、タイトル、リンク先、キャンペーン、タグ内のテキスト、または完全一致するタグやキャンペーンでリンクを検索します。有効、無効、すべてのリンクを指定できます(0.3.0) | secret(owner/admin) |
get_link_qr | ワークスペースのQRスタイルまたは保存済みスタイル(preset、0.6.0)で、リンクのQRコードをPNG画像またはSVGとして取得します(0.3.0) | secret |
get_campaign_qr_zip | キャンペーンの有効なリンクすべてのQRコードを1つのZIPにまとめて取得します(SVG、または最大1024 pxのPNG)。ファイルは埋め込み形式で返されます。ワークスペースごとに1分あたり3回までです(GET /v1/qr.zip。0.6.0) | secret |
compare_analytics | 2つの期間を並べて比較します(デフォルトでは直前の期間)。合計とチャネル別/プラットフォーム別/リンク別の数値を、変化率とともに表示します(0.3.0) | secret |
get_top_links | タップ、アプリの起動、インストール、コンバージョン別に上位リンクを表示し、それぞれの割合も取得します(0.3.0) | secret |
list_taps | 最近のタップを新しい順に一覧表示します。各タップの送信先と、そのタップから発生したアプリの起動やインストールも確認できます(デフォルトでは直近1時間)(0.3.0) | secret(owner/admin) |
list_events | 最近のコンバージョンイベントと収益イベントを新しい順に一覧表示します(デフォルトでは直近7日間)(0.3.0) | secret(owner/admin) |
record_event | サーバー側のコンバージョンを記録します(POST /v1/event)。confirm: true を指定する必要があります(0.3.0) | secret |
list_domains | カスタムリンクドメインと、そのステータスおよび追加が必要なDNSレコードを一覧表示します(0.3.0) | secret |
add_domain | カスタムリンクドメインを追加し、DNSレコードを取得します(ScaleおよびEnterprise)。confirm: true を指定する必要があります(0.3.0) | secret |
remove_domain | カスタムリンクドメインを削除します。confirm: true を指定する必要があります(0.3.0) | secret |
list_webhooks | ワークスペースのWebhookを一覧表示します。ID、受信先サイト(ホスト名のみ)、イベント、有効/無効が含まれます(0.3.0) | secret |
check_link | 任意のベンダーのディープリンク(Firebase page.link、Branch、Strait)を確認し、リンク先と修正方法を提示します(0.3.0) | なし |
search_docs | Straitの最新ドキュメントを検索します(1時間ごとに更新。バンドルされたコピーはオフラインで利用できます) | なし |
すべてのツールには MCP アノテーション(readOnlyHint、destructiveHint、…)が付いており、0.2 および 0.3 のツールの説明は「読み取り専用。」または「書き込み。」で始まります。update_link、pause_link、deactivate_link、remove_domain は破壊的な操作です。create_link、batch_create_links、test_webhook を除くすべての書き込み操作では、まずプレビューが表示され、confirm: true の場合にのみ実行されます。create_link と | ||
batch_create_links は新しいリンクを作成しますが、既存のリンクを変更することはありません。削除ツールはありません。無効化したリンクの履歴は保持されます。 |
プロンプト
MCP プロンプトを表示するクライアント(Claude Code:/ を入力)では、6 つのスターターを利用できます。get_started と migrate_firebase_links 以外はすべて読み取り専用です。この 2 つも、「はい」と回答した後にのみリンクを作成します。
| プロンプト | 機能 |
|---|---|
get_started(platform、任意:react-native、expo、flutter、android、ios、unity、capacitor、web) | ゼロからリンクを使える状態にします。get_workspace でキーを確認し、「はい」と回答した後に create_link で最初のリンクを作成し、プラットフォームを検出(または指定したものを使用)して、その SDK のドキュメントページから正確なインストールおよびセットアップコードを貼り付け、check_app_links を実行し、テストモードでの確認(デバッグビルドでの checkDeferred()、続いて list_taps)を案内します |
weekly_review | 今週と先週の比較(合計とチャネル)、インストール数の多いリンク、および 30 % を超えて減少した項目を表示します |
debug_link(slug) | リンクがブラウザーで開く理由を説明します。まずセットアップチェック(verify_app_setup)を行い、次に App Links/Universal Links ファイル、チャネルごとのトレースと最近のタップを確認し、修正方法を示します |
setup_check | 修正方法を含むすべてのセットアップチェック(verify_app_setup)、使用状況、DNS 設定待ちのカスタムドメイン、配信に失敗した Webhook、App Links ファイルを確認します |
migrate_firebase_links(old_domain、任意) | Firebase Dynamic Links(長いリンク、エクスポート行、または check_link で確認した短縮リンク)を Strait のフィールドに対応付け、計画を表示し、「はい」と回答した後にのみ batch_create_links を実行します。再実行しても安全です。既存のスラッグは項目ごとに 409 として返されます |
why_not_open(slug、platform は android/iphone、app は browser/whatsapp/instagram/facebook、いずれも任意) | リンクがストア、ブラウザー、または何も開かなかった理由を説明します。まずセットアップチェック(verify_app_setup)、リンク、App Links/Universal Links ファイル、その電話とアプリでのタップ、最近のタップを確認し、貼り付けられた SDK の doctor() レポートを finding id(key.secret、host.file_missing、app.missing、cert.missing、…)で読み取ります |
キー
サーバーには、Dashboard → Settings → Keys から取得する シークレットキー(st_live_…)が必要です。シークレットキーを使うとリンクを変更できるため、次の点に注意してください。
- AI ツール用に別のキーを作成し、単独で失効できるようにします。
- MCP クライアントの設定または環境変数に保存し、アプリやウェブサイトのコードには含めないでください。
- 公開可能キー(
st_pub_live_…)はここでは使用できません。アプリ内の SDK 用です。 - サーバーはキーを
Authorization: BearerヘッダーとしてSTRAIT_API_URLにのみ送信し、ログには記録しません。また、ツールの出力やエラーに含まれるシークレットキー形式の文字列はst_…[redacted]に置き換えます。
キーがなくても、check_app_links、search_docs、デモ用の trace_tap は引き続き使用できます。
| 変数 | 意味 |
|---|---|
STRAIT_SECRET_KEY | シークレットキー(st_live_…) |
STRAIT_API_URL | Engine の URL。既定値は https://strait.link です。ローカルの Engine には http://localhost:3000 を使用します |
STRAIT_DOCS_OFFLINE | 1:search_docs はこのバージョンに同梱されたドキュメントのみを使用します。既定では、ライブドキュメント(straitlink.in/llms-full.txt および llms-recipes.txt。クエリを含まないプレーンなダウンロード)を 1 時間に 1 回読み込み、サイトに接続できない場合は同梱のコピーを使用します |
インストール
Claude Code プラグイン(ホスト型サーバー+スキル)
/plugin install strait --marketplace strait-link/strait-mcp
(古いバージョンの Claude Code では、/plugin marketplace add strait-link/strait-mcp を実行してから、/plugin install strait@strait-link を実行します。)有効にするとシークレットキーの入力を求められ、システムの認証情報ストアに保存されます。ホスト型サーバー https://strait.link/mcp に接続し、4 つのスキルを追加します。strait-setup(アプリに Strait を設定)、strait-troubleshoot、strait-events(アプリ内のイベントを追跡)、strait-migration(Firebase Dynamic Links または Branch からの移行)です。プライバシーについては、https://straitlink.in/legal/privacy/ をご覧ください。
Claude Code
claude mcp add strait --env STRAIT_SECRET_KEY=st_live_your_key -- npx -y @straitlink/mcp
Cursor
~/.cursor/mcp.json(すべてのプロジェクト)または .cursor/mcp.json(1 つのプロジェクト。キーをコミットしないでください):
{
"mcpServers": {
"strait": {
"command": "npx",
"args": ["-y", "@straitlink/mcp"],
"env": { "STRAIT_SECRET_KEY": "st_live_your_key" }
}
}
}
Claude Desktop
設定 → 開発者 → 設定ファイルを編集、の順に進み、mcpServers の下に同じ "strait" エントリを追加して再起動します。
チェックアウトから実行
cd mcp-server && npm ci && npm run build
claude mcp add strait --env STRAIT_SECRET_KEY=st_live_your_key -- node "$PWD/dist/stdio.js"
Cursor または Claude Desktop では、"command": "node", "args": ["/absolute/path/to/mcp-server/dist/stdio.js"] を使用します。
試してみる
- 「タイトルを『夏のセール』にして、https://shop.hilltop.example/summer への Strait リンク
summerを作成してください。」 - 「先月、最も多くのインストールにつながったチャネルはどれですか?」
- 「リンクを開くとアプリではなくブラウザーが開きます。hilltop.strait.link と shop.hilltop.example を確認してください。」
- 「iPhone の Instagram 内で誰かが
summerをタップすると、どうなりますか?」 - 「Expo Router でリンクを受け取るにはどうすればよいですか?」
- 「今月のプランをどれくらい使用しましたか?」
- 「Webhook が動作しなくなりました。直近の配信を表示し、テストを送信して、失敗したものを再送してください。」
- 「
spring-saleリンクを無効にしてください。」(最初にプレビューが表示されます) - 「10 月に最も多くのインストールにつながった紹介コードはどれですか?」
- 「チャネル別に、今週の実績を先週と比較するとどうでしたか?」
- 「/summer を指すリンクはどれですか?古いものを一時停止してください。」
- 「たった今
summerでテストタップしたものは記録されましたか?アプリは開きましたか?」 - 「
summerの QR コードをダークグレーで作成してください。」 - 「links.hilltop.example の設定は完了していますか?不足している DNS レコードはどれですか?」
- 「移行する前に https://hilltop.page.link/abc を確認してください。」
Hilltop Shoes(hilltop.strait.link、*.hilltop.example)は、例で使用している架空のショップです。
コントリビューション
このパッケージのビルド、テスト、リリースについては、docs/MAINTAINERS.md をご覧ください。
ライセンス
MIT。LICENSE をご覧ください。
Claude Code のスキル
skills/strait-setup/SKILL.md では、アプリ(React Native / Expo、Flutter、Android、iOS、Unity、Capacitor、Web、Node サーバー)に Strait を追加する方法を Claude Code に教えます。このフォルダーを ~/.claude/skills/ またはプロジェクトの .claude/skills/ にコピーするか、https://straitlink.in/ai/strait-setup/SKILL.md からダウンロードしてください。
ドキュメントとサポート
- ドキュメント: straitlink.in/docs/ · プラットフォームのステータス · トラブルシューティング
- Strait チームへのお問い合わせ: [email protected](営業時間内に 1 営業日以内に返信、IST)または +91 81218 61890 までお電話ください。
- バグと機能リクエスト: このリポジトリでイシューを作成してください。
- セキュリティ: 公開イシューには絶対に投稿しないでください。[email protected] までご連絡ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。