From c4d5a03da56975a454dde4760cd0215e316ad6e6 Mon Sep 17 00:00:00 2001
From: Jason Lee
Date: Fri, 5 Jun 2026 09:44:50 +0800
Subject: [PATCH 1/5] docs: update MCP host to mcp.longbridge.com /
mcp.longbridge.cn
Replace https://openapi.longbridge.com/mcp with https://mcp.longbridge.com
and https://openapi.longbridge.cn/mcp with https://mcp.longbridge.cn across
docs (en/zh-CN/zh-HK), homepage components, README, and skill references.
Also update the build-time MCP tools.json endpoint in config.mts.
Co-Authored-By: Claude Opus 4.8 (1M context)
---
README.md | 2 +-
docs/.vitepress/config.mts | 2 +-
.../theme/components/NewHomePage/ProductMCP.vue | 10 +++++-----
docs/.vitepress/theme/components/NewHomePage/index.vue | 4 ++--
docs/en/docs/mcp.md | 10 +++++-----
docs/en/skill/install/index.md | 6 +++---
docs/zh-CN/docs/mcp.md | 10 +++++-----
docs/zh-CN/skill/install/index.md | 6 +++---
docs/zh-HK/docs/mcp.md | 10 +++++-----
docs/zh-HK/skill/install/index.md | 6 +++---
skills/longbridge/references/mcp.md | 6 +++---
skills/longbridge/references/setup.md | 2 +-
12 files changed, 37 insertions(+), 37 deletions(-)
diff --git a/README.md b/README.md
index 332f62ef..728ffb95 100644
--- a/README.md
+++ b/README.md
@@ -75,7 +75,7 @@ pip install longbridge
{
"mcpServers": {
"longbridge": {
- "url": "https://openapi.longbridge.com/mcp"
+ "url": "https://mcp.longbridge.com"
}
}
}
diff --git a/docs/.vitepress/config.mts b/docs/.vitepress/config.mts
index 693d36ca..0f52e23d 100644
--- a/docs/.vitepress/config.mts
+++ b/docs/.vitepress/config.mts
@@ -15,7 +15,7 @@ import yaml from 'js-yaml'
const __dirname = dirname(fileURLToPath(import.meta.url))
const docsRoot = resolve(__dirname, '..')
-const MCP_TOOLS_URL = 'https://openapi.longbridge.com/mcp/tools.json'
+const MCP_TOOLS_URL = 'https://mcp.longbridge.com/mcp/tools.json'
const MCP_TOOLS_DATA_PATH = resolve(__dirname, 'data/mcp-tools.json')
const regionCfg = getRegionConfig()
const regionSrcExclude = computeSrcExclude(docsRoot)
diff --git a/docs/.vitepress/theme/components/NewHomePage/ProductMCP.vue b/docs/.vitepress/theme/components/NewHomePage/ProductMCP.vue
index eba0f8e1..8f4e56fa 100644
--- a/docs/.vitepress/theme/components/NewHomePage/ProductMCP.vue
+++ b/docs/.vitepress/theme/components/NewHomePage/ProductMCP.vue
@@ -50,7 +50,7 @@ const clients = [
name: 'Claude Code',
logo: 'https://assets.lbctrl.com/uploads/6932dfac-0f9c-4577-bdd8-fc3d22d4223a/claude.svg',
type: 'shell' as const,
- cmd: 'claude mcp add --transport http longbridge https://openapi.longbridge.com/mcp',
+ cmd: 'claude mcp add --transport http longbridge https://mcp.longbridge.com',
},
{
id: 'codex',
@@ -58,7 +58,7 @@ const clients = [
logo: 'https://assets.lbctrl.com/uploads/88eb58fe-b3bb-4875-90c7-c97e6d8fcc9e/openai.svg',
type: 'ui' as const,
steps: ['Settings', 'MCP Servers', 'Add Server'],
- fields: { Name: 'longbridge', Type: 'Streamable HTTP', URL: 'https://openapi.longbridge.com/mcp' },
+ fields: { Name: 'longbridge', Type: 'Streamable HTTP', URL: 'https://mcp.longbridge.com' },
},
{
id: 'cursor',
@@ -66,14 +66,14 @@ const clients = [
logo: 'https://assets.lbctrl.com/uploads/f694478e-201b-4e74-a7b6-023639a27805/cursor.svg',
type: 'ui' as const,
steps: ['Settings', 'MCP Servers', 'Add Remote MCP Server'],
- fields: { URL: 'https://openapi.longbridge.com/mcp' },
+ fields: { URL: 'https://mcp.longbridge.com' },
},
{
id: 'zed',
name: 'Zed',
logo: 'https://assets.lbctrl.com/uploads/3418077a-9766-4514-bc8e-eef076309689/zed.svg',
type: 'json' as const,
- json: { mcpServers: { longbridge: { url: 'https://openapi.longbridge.com/mcp' } } },
+ json: { mcpServers: { longbridge: { url: 'https://mcp.longbridge.com' } } },
},
{
id: 'cherry',
@@ -81,7 +81,7 @@ const clients = [
logo: 'https://assets.lbctrl.com/uploads/df8f9467-91a5-4bdb-8dde-5127441f0b04/cherrystudio.svg',
type: 'ui' as const,
steps: ['Settings', 'MCP Servers', 'Add'],
- fields: { URL: 'https://openapi.longbridge.com/mcp' },
+ fields: { URL: 'https://mcp.longbridge.com' },
},
]
diff --git a/docs/.vitepress/theme/components/NewHomePage/index.vue b/docs/.vitepress/theme/components/NewHomePage/index.vue
index f8515458..78e1c5f0 100644
--- a/docs/.vitepress/theme/components/NewHomePage/index.vue
+++ b/docs/.vitepress/theme/components/NewHomePage/index.vue
@@ -1773,7 +1773,7 @@ const GETSTARTED = [
@@ -2154,8 +2226,8 @@ function triggerRipple(event: MouseEvent, el: HTMLElement) {
gap: 12px;
}
.skill-hero-install-label {
- font-size: 12px;
- color: var(--lb-fg-3);
+ font-size: 13px;
+ color: var(--lb-fg-2);
font-weight: 500;
}
.skill-hero-install-cmd {
@@ -2178,6 +2250,73 @@ function triggerRipple(event: MouseEvent, el: HTMLElement) {
flex: 1;
text-align: left;
}
+.skill-hero-connect-card {
+ display: flex;
+ flex-direction: column;
+ gap: 12px;
+ background: var(--lb-bg-2);
+ border: 1px solid var(--app-card-stroke);
+ border-radius: 10px;
+ padding: 16px;
+ max-width: 480px;
+ width: 100%;
+}
+.skill-hero-connect-step {
+ display: flex;
+ align-items: flex-start;
+ gap: 10px;
+ font-size: 13px;
+ color: var(--lb-fg-2);
+ text-align: left;
+ line-height: 1.5;
+}
+.skill-hero-connect-step-num {
+ flex: none;
+ width: 18px;
+ height: 18px;
+ border-radius: 50%;
+ background: color-mix(in srgb, var(--lb-brand) 14%, transparent);
+ color: var(--lb-brand);
+ font-size: 11px;
+ font-weight: 700;
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ margin-top: 1px;
+}
+.skill-hero-connect-card .btn {
+ margin-top: 4px;
+ align-self: center;
+}
+.skill-hero-seg {
+ display: inline-flex;
+ align-items: center;
+ gap: 2px;
+ padding: 3px;
+ border-radius: 999px;
+ background: var(--lb-bg-2);
+ border: 1px solid var(--app-card-stroke);
+}
+.skill-hero-seg-btn {
+ padding: 6px 18px;
+ border-radius: 999px;
+ font-size: 13px;
+ font-weight: 600;
+ color: var(--lb-fg-3);
+ background: transparent;
+ border: none;
+ cursor: pointer;
+ transition:
+ color 0.15s,
+ background 0.15s;
+}
+.skill-hero-seg-btn:hover {
+ color: var(--lb-fg-1);
+}
+.skill-hero-seg-btn.is-active {
+ color: #fff;
+ background: var(--lb-brand);
+}
.skill-hero-install-link {
font-size: 13px;
color: var(--lb-brand);
@@ -2937,6 +3076,14 @@ function triggerRipple(event: MouseEvent, el: HTMLElement) {
background: var(--lb-brand);
color: #fff;
}
+.btn-dark {
+ background: #111;
+ color: #fff;
+}
+.dark .btn-dark {
+ background: #fff;
+ color: #111;
+}
/* ─── Skills Catalog ──────────────────────────────────────────────────────── */
.sc-header {
From f0adabe780466ae12e767de7cb65b3ff7a94ca6a Mon Sep 17 00:00:00 2001
From: Jason Lee
Date: Fri, 5 Jun 2026 15:22:19 +0800
Subject: [PATCH 4/5] docs: Add auth-code redemption path to Skill install
guide
The /connect Agent Auth Code flow lets users hand a one-time code to
their AI. Update the install guide (en/zh-CN/zh-HK) so AI agents holding
a code redeem it via `longbridge auth login --auth-code` directly,
instead of falling back to the device flow that requires a hanging
process and browser approval.
Co-Authored-By: Claude Opus 4.8 (1M context)
---
docs/en/skill/install/index.md | 8 +++++++-
docs/zh-CN/skill/install/index.md | 8 +++++++-
docs/zh-HK/skill/install/index.md | 8 +++++++-
3 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/docs/en/skill/install/index.md b/docs/en/skill/install/index.md
index 0a7b56ea..0281d1a5 100644
--- a/docs/en/skill/install/index.md
+++ b/docs/en/skill/install/index.md
@@ -7,7 +7,7 @@ description: Install Longbridge Skill for OpenClaw, Claude Code, Cursor, Codex,
@@ -71,6 +71,12 @@ iwr https://open.longbridge.com/longbridge/longbridge-terminal/install.ps1 | iex
longbridge auth login
```
+Already have a one-time authorization code from [open.longbridge.com/connect](https://open.longbridge.com/connect)? Redeem it directly — no browser needed:
+
+```bash
+longbridge auth login --auth-code 1234567890
+```
+
That's it. The AI can now call `longbridge` commands on your behalf.
**Claude Code users:** The first time Claude runs a `longbridge` command, it will ask for permission. To allow all Longbridge commands without repeated prompts, add this to `.claude/settings.json` in your project (create the file if it doesn't exist):
diff --git a/docs/zh-CN/skill/install/index.md b/docs/zh-CN/skill/install/index.md
index af1fe588..f473e724 100644
--- a/docs/zh-CN/skill/install/index.md
+++ b/docs/zh-CN/skill/install/index.md
@@ -7,7 +7,7 @@ description: 在 OpenClaw、Claude Code、Cursor、Codex 等 AI 工具中安装
@@ -69,6 +69,12 @@ iwr https://open.longbridge.com/longbridge/longbridge-terminal/install.ps1 | iex
longbridge auth login
```
+已有来自 [open.longbridge.com/connect](https://open.longbridge.com/connect) 的一次性授权码?直接兑换,无需浏览器:
+
+```bash
+longbridge auth login --auth-code 1234567890
+```
+
完成后,AI 即可代你调用 `longbridge` 命令。
**Claude Code 用户:** Claude 首次运行 `longbridge` 命令时会弹出权限确认提示。若要避免每次都被询问,可在项目的 `.claude/settings.json` 中添加以下配置(文件不存在时新建):
diff --git a/docs/zh-HK/skill/install/index.md b/docs/zh-HK/skill/install/index.md
index cf092cc5..f270cb76 100644
--- a/docs/zh-HK/skill/install/index.md
+++ b/docs/zh-HK/skill/install/index.md
@@ -7,7 +7,7 @@ description: 在 OpenClaw、Claude Code、Cursor、Codex 等 AI 工具中安裝
@@ -69,6 +69,12 @@ iwr https://open.longbridge.com/longbridge/longbridge-terminal/install.ps1 | iex
longbridge auth login
```
+已有來自 [open.longbridge.com/connect](https://open.longbridge.com/connect) 的一次性授權碼?直接兌換,無需瀏覽器:
+
+```bash
+longbridge auth login --auth-code 1234567890
+```
+
完成後,AI 即可代你調用 `longbridge` 命令。
**Claude Code 用戶:** Claude 首次執行 `longbridge` 指令時會彈出權限確認提示。若要避免每次都被詢問,可在專案的 `.claude/settings.json` 中新增以下配置(文件不存在時新建):
From e18fe16847ca58be3fa80d9196e6938513e3d730 Mon Sep 17 00:00:00 2001
From: Jason Lee
Date: Fri, 5 Jun 2026 15:26:38 +0800
Subject: [PATCH 5/5] feat: include agent-auth page in CN region build; make
Connect AI the default tab
- region.config.ts: whitelist **/docs/agent-auth.md so /docs/agent-auth
is accessible on open.longbridge.cn
- Skill page: Connect AI is now the first and default segmented tab
Co-Authored-By: Claude Opus 4.8 (1M context)
---
docs/.vitepress/theme/components/Skill.vue | 12 ++++++------
region.config.ts | 3 +++
2 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/docs/.vitepress/theme/components/Skill.vue b/docs/.vitepress/theme/components/Skill.vue
index c693aa40..22249f15 100644
--- a/docs/.vitepress/theme/components/Skill.vue
+++ b/docs/.vitepress/theme/components/Skill.vue
@@ -1046,7 +1046,7 @@ const CAP_REFERENCE = [
const activeCat = ref('All')
const scenarioIdx = ref(0)
const activeAgent = ref('OpenClaw')
-const installMode = ref<'connect' | 'prompt'>('prompt')
+const installMode = ref<'connect' | 'prompt'>('connect')
const copied = ref(false)
const copiedGetStarted = ref(false)
@@ -1297,16 +1297,16 @@ function triggerRipple(event: MouseEvent, el: HTMLElement) {
-
+
diff --git a/region.config.ts b/region.config.ts
index d3b3136d..646c299f 100644
--- a/region.config.ts
+++ b/region.config.ts
@@ -42,6 +42,9 @@ export const regionConfig: Record = {
// MCP
'**/docs/mcp.md',
+ // Agent Auth Code
+ '**/docs/agent-auth.md',
+
// AI Skills
'**/skill/**',
],