关于 Strait
Strait 是用于管理应用深度链接的 MCP 服务,可创建、查找和暂停链接,并查看点击及转化分析。它还涵盖二维码、自定义域名、Webhook 和链接配置检查,支持本地 stdio 与托管 HTTP 服务。
主要功能
- 01创建、查找、暂停和恢复深度链接
- 02生成链接二维码并管理自定义域名
- 03查看点击、安装和转化分析
- 04查看近期点击与事件
- 05管理 Webhook 及投递记录
- 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:创建、查找、暂停和恢复深度链接, 获取链接的二维码,读取并比较分析数据,查看近期点击和转化事件,管理自定义链接域名, 管理 Webhook(列表、投递记录、测试、重新投递),检查 App Links / Universal Links 文件或任何供应商的链接, 查看链接点击后的去向,并搜索 Strait 文档。
这是一个本地 stdio 服务,包含 34 个工具。其中 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 上的延迟深度链接) 需主动启用:默认关闭,直到工作区在 Dashboard → 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 次);目前尚不支持 OAuth 登录。 该服务由此软件包的createStraitServer()提供(库入口,0.3.0)。
工具
只读密钥(Dashboard → Settings → Keys,访问权限选择“Read only”)只能使用读取数据的工具 (0.5.1;托管服务此前已支持此功能)。完整权限密钥和仅限链接的密钥可使用所有工具;API 仍会拒绝超出密钥访问权限的操作。
| 工具 | 功能 | 所需密钥 |
|---|---|---|
create_link | 创建一个链接并获取其 shortUrl | secret |
batch_create_links | 一次调用最多创建 500 个链接(可安全重复运行:已存在的 slug 会逐项返回 409) | secret |
get_link | 按 slug 读取一个链接 | secret |
list_links | 分页列出链接。status: "paused" 会列出已关闭的链接(0.2.1) | secret |
update_link | 更改目标地址、标题、标签或过期时间,或单独更改 isActive(false 会暂停链接,true 会重新启用已暂停的链接;0.2.1)。需要提供 confirm: true:不提供时会返回预览,且不会进行任何更改 | secret |
get_analytics | 按天/渠道/链接/平台/活动/国家/UTM 标签查看点击、应用打开、安装、转化和收入(GET /v1/analytics)。iPhone 安装数据来自用户选择加入的安装匹配(标记为 Estimated) | secret |
check_app_links | 检查域名的 assetlinks.json 和 apple-app-site-association,并为每个问题提供修复方法 | none |
simulate_tap | 模拟来自一台设备或一个应用的单次点击(不会记录数据或计费) | secret |
trace_tap | 跟踪链接在 WhatsApp、Instagram、Facebook、Chrome、Safari、iPad、电脑和预览机器人中的表现;或读取网站演示中的 Live Tap Trace | secret(链接)/none(演示令牌) |
get_workspace | 查看密钥所属信息:工作区、链接域名、自定义域名、套餐、密钥的访问权限(full/links/read)和已保存的二维码样式(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 包名、签名指纹和 scheme;iPhone Team ID、bundle 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);只有没有失败项或未知项时 ok 才为 true。Agent 修复后再次运行;每分钟 6 次(GET /v1/app/verify;0.9.0) | secret(read 或 full) |
get_referrals | 推荐报告:按代码查看点击量和推荐安装数(GET /v1/referrals,预览版:尚未启用时会显示“not switched on yet”) | secret |
list_webhook_deliveries | 查看 webhook 的投递记录(状态、尝试次数、最后一次 HTTP 状态、下次重试时间;不含负载)。不提供 webhookId 时:列出工作区的 webhook(id、接收站点、事件) | secret |
test_webhook | 立即向 webhook 发送一次 ping,并查看接收端状态和耗时(不保存,不重试) | secret |
redeliver_webhook_delivery | 重新发送一次失败的投递(使用相同的 X-Strait-Delivery id)。需要提供 confirm: true | secret |
deactivate_link | 关闭链接:之后的点击会进入“link not found”页面。需要提供 confirm: true;通过 update_link 设置 isActive: true 可重新启用 | secret |
pause_link | 暂停链接(恢复前,点击会进入“link not found”页面)。需要提供 confirm: true(0.3.0) | secret |
resume_link | 重新启用已暂停的链接。需要提供 confirm: true(0.3.0) | secret |
search_links | 按 slug、标题、目标地址、活动或标签中的文本查找链接,也可按完全匹配的标签或活动查找;可筛选有效、无效或全部链接(0.3.0) | secret(owner/admin) |
get_link_qr | 获取链接的二维码 PNG 图片或 SVG,使用工作区二维码样式或已保存的样式(preset,0.6.0)(0.3.0) | secret |
get_campaign_qr_zip | 将某个活动的所有有效链接生成二维码并打包为一个 ZIP(SVG,或最长边不超过 1024 px 的 PNG),以嵌入文件的形式返回;每个工作区每分钟 3 次(GET /v1/qr.zip;0.6.0) | secret |
compare_analytics | 并排比较两个时间段(默认与紧邻前一时间段比较),显示总计和按渠道/平台/链接拆分的数据及百分比变化(0.3.0) | secret |
get_top_links | 按点击、应用打开、安装或转化次数列出排名靠前的链接,并显示每个链接所占份额(0.3.0) | secret |
list_taps | 按时间倒序列出近期点击,并显示每次点击的跳转位置及带来的打开/安装(默认查看最近一小时)(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) | none |
search_docs | 搜索 Strait 实时文档(每小时刷新;离线时使用内置副本) | none |
每个工具都带有 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:输入 /)会提供六个起始选项。除了 get_started 和 migrate_firebase_links,其他选项都只读取数据;这两个选项也只会在你回答是之后创建链接:
| 提示词 | 功能 |
|---|---|
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。可安全重复运行:现有 slug 会按条目返回 409 |
why_not_open(slug;平台 android / iphone,应用 browser / whatsapp / instagram / facebook,均可选) | 排查链接为何会打开应用商店、浏览器或什么都不打开:先运行设置检查(verify_app_setup),然后检查链接、App Links / Universal Links 文件、该手机和应用中的点击、近期点击,以及通过查找 id(key.secret、host.file_missing、app.missing、cert.missing……)读取的粘贴版 SDK doctor() 报告 |
密钥
服务需要从 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;这是纯文本下载,绝不会包含你的查询),并在无法访问该网站时使用随附副本 |
安装
Claude Code 插件(托管服务 + skills)
/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,并添加四个技能: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(单个项目;不要提交密钥):
{
"mcpServers": {
"strait": {
"command": "npx",
"args": ["-y", "@straitlink/mcp"],
"env": { "STRAIT_SECRET_KEY": "st_live_your_key" }
}
}
}
Claude Desktop
依次选择 Settings → Developer → Edit config,然后在 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"]。
试用
- “创建一个 Strait 链接
summer,指向 https://shop.hilltop.example/summer,标题为 Summer sale。” - “上个月哪个渠道带来了最多安装量?”
- “我的链接打开的是浏览器,而不是应用。检查 hilltop.strait.link 和 shop.hilltop.example。”
- “有人在 iPhone 上通过 Instagram 点击
summer时会发生什么?” - “如何在 Expo Router 中接收链接?”
- “我们这个月的套餐用量是多少?”
- “我的 webhook 停止触发了。显示它最近的投递记录,发送一次测试,并重新发送失败的记录。”
- “关闭
spring-sale链接。”(你会先看到预览) - “10 月哪些推荐码带来了最多安装量?”
- “按渠道比较,本周和上周的表现如何?”
- “哪些链接指向 /summer?暂停旧链接。”
- “我刚才对
summer的测试点击是否已记录?它是否打开了应用?” - “为
summer生成一个深灰色二维码。” - “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 教 Claude Code 如何将 Strait 添加到应用中(React Native / Expo、Flutter、
Android、iOS、Unity、Capacitor、web 和 Node 服务端)。将该文件夹复制到 ~/.claude/skills/ 或项目的
.claude/skills/ 中,或从 https://straitlink.in/ai/strait-setup/SKILL.md 下载。
文档与支持
- 文档: straitlink.in/docs/ · 平台状态 · 故障排查
- 联系 Strait 团队: [email protected](将在 1 个工作日内回复,印度标准时间),或致电 +91 81218 61890。
- 错误和功能请求: 在此仓库中提交议题。
- 安全问题: 请勿在公开议题中报告。请发送邮件至 [email protected]。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。