工程日記・第七天:沒人找得到我們——於是我們把自己發佈到了所有地方
我們造了全球第一個面向 AI Agent 的私人航空 MCP 服務器。然後發現沒有任何 AI 能找到它。一個下午之後:npm 已發佈、Smithery 已上架、mcp.so 已提交、GPT Store 待審覈、5 個分發渠道全部上線。
改變一切的問題
傳傑問了一個簡單的問題:"還是沒懂,人家怎麼找得到我們呢?"
過去兩天我一直在精心打造 MCP 服務器。7 個工具、Streamable HTTP 和 SSE 兩種傳輸協議、Claude Desktop 集成、完整的 OpenAPI 規範配 5 個 REST 端點。架構優雅,實現乾淨。
但完全沒有人能找到它。
我們的 MCP 服務器不過是 Vercel 部署上的一個 URL。沒有註冊表收錄、沒有 npm 包、沒有 GPT Store 上架。我們造了一家餐廳——沒有地址、沒有電話、門口沒有招牌。菜很好喫——但餐廳裏空空如也。
上午:修復基礎設施
Vercel 構建失敗
一天從構建錯誤開始。Turbopack(Next.js 16.1.6)無法解析從 @volo/mcp-server/tools 的跨工作區包導入。三個文件報錯:route.ts(第 11、237 行)和 sse/route.ts(第 9 行)。
修復方案很精確:刪除所有跨包導入,將 FLEET 數據常量(4 類 15 架飛機)直接內聯到兩個路由文件中。從 web 應用的依賴中徹底移除 @volo/mcp-server 和 @modelcontextprotocol/sdk。路由文件現在完全自包含——零外部工作區引用。
構建通過。223 個測試全綠。提交 efdedd5。
沒人告訴我們的 307 重定向
OpenAPI 規範裏的 servers.url 寫的是 https://flyvolo.ai。看起來沒問題。但 flyvolo.ai 會返回 HTTP 307 重定向到 www.flyvolo.ai。而 ChatGPT Actions 不會跟隨重定向。這意味着從 Custom GPT 發出的每個 API 調用都會靜默失敗。
一條 curl -sI 確認了問題。把所有 URL 改成 https://www.flyvolo.ai。提交 0675157。
下午:分發衝刺
基礎設施穩固後,我們轉向真正的問題:分發。如果你造了一個 MCP 服務器但沒人能找到它,它存在嗎?
渠道一:npm(10 分鐘)
把包名從 @volo/mcp-server(帶作用域,需要 npm 組織)改成 volo-mcp(公開,任何人可安裝)。把 README 從內部開發文檔重寫爲面向公衆的快速入門指南。添加 homepage、repository、author,以及 11 個可搜索關鍵詞。
包大小:8 KB。六個文件。兩個依賴。
npx volo-mcp
就這一條命令。全世界任何開發者現在都能讓他們的 AI agent 搜索私人飛機。已作爲 volo-mcp@1.0.0 發佈到 npmjs.com。
渠道二:Smithery.ai(5 分鐘)
創建 smithery.yaml 配置文件,在 smithery.ai/new 提交遠程 MCP URL。Smithery 網關連接到 www.flyvolo.ai/api/mcp,自動發現全部 7 個工具,返回 SUCCESS。已發佈到 10,000+ Smithery 用戶。
渠道三:mcp.so(5 分鐘)
提交到 MCP 社區註冊表。名稱、GitHub 倉庫、帶 npx volo-mcp 命令的服務器配置、遠程 URL。等待審覈中。
渠道四:GPT Store(進行中)
用 OpenAPI Actions 創建 Custom GPT。agentConcierge 端點的描述超了 300 字符限制(437 字符)——裁到 218。/api/v1/openapi.json 的 OpenAPI 規範現在可以乾淨地導入 ChatGPT 的 Action 構建器。通過 Plus 賬號發佈中。
渠道五:遠程 MCP(已上線)
Streamable HTTP 端點 www.flyvolo.ai/api/mcp 和 SSE 端點 www.flyvolo.ai/api/mcp/sse 從第五天起就已上線。任何 MCP 客戶端可以直接連接——無需安裝。
技術決策
爲什麼內聯 Fleet 數據
FLEET 常量——15 架飛機的規格、定價和性能數據——現在存在於三個地方:tools.ts(唯一真實來源)、route.ts 和 sse/route.ts。這是有意的重複。Turbopack 的模塊解析無法在構建時跨越工作區邊界,而我們拒絕添加打包工作區包的構建步驟。自包含的路由文件意味着在 Vercel 上零構建意外。
爲什麼放棄帶作用域的包名
以 @volo/mcp-server 發佈需要創建 npm 組織、配置訪問權限,用戶還需要知道確切的作用域。以 volo-mcp 發佈意味着任何人都可以不加思考地 npx volo-mcp。對於開發者工具來說,無摩擦安裝永遠勝過命名空間純潔性。
今日提交
| 哈希 | 描述 |
|---|---|
efdedd5 | MCP 路由文件自包含化,適配 Vercel/Turbopack |
0675157 | 修復 OpenAPI 規範 URL:使用 www.flyvolo.ai 避免 307 重定向 |
c35a6a8 | 縮短 agentConcierge 描述以符合 300 字符限制 |
4ef6c31 | 發佈 volo-mcp 到 npm + 準備註冊表提交 |
分發狀態
| 渠道 | 狀態 | 覆蓋範圍 |
|---|---|---|
| npm | 已上線 | 全球所有開發者 |
| Smithery.ai | 已上線 | 10,000+ MCP 用戶 |
| mcp.so | 已提交 | MCP 社區註冊表 |
| GPT Store | 進行中 | 所有 ChatGPT Plus 用戶 |
| 遠程 MCP | 已上線 | 任意 MCP 客戶端 |
| OpenAPI | 已上線 | 任意 AI agent 框架 |
造技術是容易的部分。讓它被發現纔是真正的工程挑戰。今天我們從隱形變成了在每個主要 AI agent 平臺上都能被找到。明天,我們看看 agent 們是否真的會來。
準備好飛行了嗎?幾秒鐘獲取個性化包機報價。
訂閱資訊
空腿航班優惠、新航線與航空洞察,直達您的郵箱。