利用 MCP Server 與 Bridge 模式,降低 AI 產題成本並解決 Antigravity 環境限制

更新 發佈閱讀 8 分鐘
raw-image

最近在做一個題庫測驗網站,需要大量的題目來填充內容。但如果每次都要自己手動輸入題目,或是花錢去調用 OpenAI API key 來產題,那成本可不是開玩笑的。我剛好有訂閱 Antigravity,裡面內建了 AI 額度,想說能不能好好利用這個資源?

於是我想到了一個點子:開發一個 MCP Server,讓 AI 可以直接自動化匯入題目。這樣不僅省了 API Key 的支出,還能省下開發後台匯入頁面的時間。聽起來很完美對吧?

使用AI產生題目 json檔案,然後使用 mcp匯入系統。

起點與動機

整個專案的出發點其實很簡單:

  1. 題庫網站需要大量題目 - 這是最基本的需求
  2. 想節省成本 - 不想一直花錢調用 API
  3. 善用現有資源 - 既然訂閱了 Antigravity,裡面有AI額度,何不拿來用?
  4. 省時省力 - 透過 MCP Server,讓 AI 直接有「自動化匯入題目」的能力,不用另外開發後台界面

簡單來說,MCP (Model Context Protocol) 就是讓 AI 助手能夠連接外部工具的一種標準協議。透過開發 MCP Server,我可以賦予 AI 直接操作資料庫、匯入題目的能力。聽起來很酷,對吧?

當理想遇上現實:「假性正常」才是最難解的 Bug

理論上這個方案應該要順利運作。我很快就把 MCP Server 寫好了,在 Cursor 這個 IDE 上測試,一切都超級順利。連線正常、功能正常、匯入題目也沒問題。

興高采烈地把同樣的設定套用到 Antigravity 上,結果...

設定頁面顯示「綠燈」 ✅ - 看起來連線成功! 實際調用時 ❌ - 不斷噴出 EOF (End of File) 錯誤

正常連線MCP-Server

正常連線MCP-Server

這種「假性正常」才是最讓人崩潰的!明明連線狀態顯示正常,但實際上根本不能用。我甚至把功能簡化到只剩下讀取(Hello World 級別),在 Antigravity 依然無法成功通訊。

就像你以為門開了,結果走過去發現只是一面畫了門的牆。

深入排查

既然問題這麼詭異,我開始認真排查:

檢查日誌和設定

  • 詳細檢查了 Server 的 Log
  • 比對 Antigravity 和 Cursor 的 config 設定
  • 確認了 MCP Server 的握手流程

測試簡化功能

  • 把所有複雜邏輯都拿掉
  • 只保留最基本的讀取功能
  • 結果依然失敗

比對不同 IDE 的調用邏輯

我開始懷疑:會不會是 Antigravity 和 Cursor 對 MCP 的調用方式不一樣?經過一番深入研究後,我發現了關鍵:

Antigravity 和 Cursor 的運行環境(Runtime/Sandbox)並不一致

更具體來說:

  • Antigravity 對於網路存取的限制更嚴格
  • 標準流(Stdio)的處理方式不同
  • 這導致 MCP Server 的握手過程失敗

簡單來說,就像你在兩個不同的國家開店,雖然賣的是同樣的東西,但因為當地的法律規範不同(環境限制),原本能順利營業的模式到了另一個地方就行不通了。

終極解法:Bridge 模式來救場

既然 Antigravity 的環境限制這麼嚴格,那我何不繞過它

Bridge 模式:Stdio 橋接 HTTP

我的解決方案其實很巧妙:利用 Antigravity 允許的 stdio(標準輸入輸出)通訊方式,搭配一個輕量的 Bridge 腳本來轉接

實際的工作流程

  1. Antigravity 透過 stdio 與 Bridge 通訊
    • MCP 設定檔指定執行 mcp-bridge.ts(使用 Node.js)
    • Antigravity 把 JSON-RPC 訊息寫到 Bridge 的 stdin
    • Bridge 從 stdout 回傳結果給 Antigravity
  2. Bridge 扮演轉接角色
    • 接收 stdin 的訊息後,透過 HTTP POST 轉發到本地伺服器(localhost:3000
    • 透過 SSE (Server-Sent Events) 接收伺服器的即時回應
    • 將回應寫回 stdout 給 Antigravity
  3. 本地伺服器處理實際業務邏輯
    • NestJS 後端在正常環境運行,不受 IDE 限制
    • 可以自由存取資料庫、網路等資源

MCP 設定範例

"mcpServers": {
"praxis-question-bank": {
"command": "/Users/xxx/.nvm/versions/node/v22.22.0/bin/node",
"args": ["/path/to/mcp-bridge.ts"],
"env": {
"MCP_API_KEY": "your_api_key",
"PORT": "3000"
}
}
}

可以把整個架構想像成這樣:

Antigravity AI (受限環境)
↓ stdin/stdout (JSON-RPC)
mcp-bridge.ts (輕量轉接腳本)
HTTP POST (轉發請求)
SSE (接收回應)
localhost:3000 NestJS Server (正常環境)

資料庫 / MCP 實際功能
raw-image

為什麼這樣可行?

  • Stdio 是 Antigravity 允許的通訊方式 - 不會觸發環境限制
  • Bridge 只做簡單的輸入輸出轉換 - 不需要複雜的網路操作或握手流程
  • 實際的 MCP Server 跑在本地正常環境 - 不受 IDE 沙盒限制,可以自由存取所有資源
  • SSE 提供即時雙向通訊 - 確保 AI 與後端能順暢互動

Bridge 的關鍵優勢

這個方案最聰明的地方在於:它不是試圖在受限環境內做更多事,而是把「做事」的部分移到外面,只在受限環境內做最簡單的轉發

就像你不能直接從辦公室連到外網,但可以透過一個簡單的 proxy 腳本來轉發請求一樣。

最終成果

透過這個 Bridge 模式,我成功做到了:

在 Antigravity 內使用 AI 額度自動產題不用額外開發後台匯入頁面完全避開環境限制的問題節省了 API Key 的成本

總結與建議

這次的經驗讓我學到了幾個重要的經驗:

關鍵經驗

  1. 「連線正常」不等於「功能正常」 - 綠燈只是表象,實際測試才是王道
  2. 不同 IDE 的運行環境差異可能很大 - 不要假設所有工具的行為都一樣
  3. 遇到環境限制,換個角度思考 - Bridge 模式就是一個很好的例子
  4. 簡化問題來定位根因 - 從 Hello World 開始測試,逐步排除問題

如果你也遇到類似問題

如果你也在開發 MCP Server,或是遇到「此處可行,彼處不行」的詭異問題:

  • 先確認環境差異 - 不同工具的沙盒限制可能不同
  • 檢查網路和標準流的權限 - 這通常是最容易被限制的部分
  • 考慮使用 Bridge 模式 - 輕量轉發比直接突破限制更實際
  • 詳細記錄 Log - 錯誤訊息往往藏著關鍵線索

開始行動:如果你也想要節省 API 成本,又剛好有訂閱支援 MCP 的 IDE,不妨試試這個方法。雖然過程中可能會踩到一些坑,但解決後的成就感絕對值得!


有任何問題或建議,歡迎留言討論! 🚀

留言
avatar-img
湯編驛-湯姆實驗室
22會員
73內容數
這邊會放一些我自己的分享內容,實驗測試還有做的MVP介紹
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
Google Antigravity(反重力)是由 Google 開發的 AI 驅動整合式開發環境(IDE),主打「Agent-first」(代理優先)的軟體開發平台。Antigravity 於 2025 年 11 月 18 日與 Gemini 3 同步發布。 🧚 核心功能特色: Antigr
Thumbnail
Google Antigravity(反重力)是由 Google 開發的 AI 驅動整合式開發環境(IDE),主打「Agent-first」(代理優先)的軟體開發平台。Antigravity 於 2025 年 11 月 18 日與 Gemini 3 同步發布。 🧚 核心功能特色: Antigr
Thumbnail
每次寫code抓錯心好累、環境設定搞到崩潰?這款 2025 年底剛發表、由 Gemini 3 驅動的代理人優先開發平台——Google Antigravity,正試圖重新定義「開發」這件事,這篇開箱就帶你一起來看,這款工具到底憑什麼讓我們擺脫開發的「重力」束縛。 Google Antigravit
Thumbnail
每次寫code抓錯心好累、環境設定搞到崩潰?這款 2025 年底剛發表、由 Gemini 3 驅動的代理人優先開發平台——Google Antigravity,正試圖重新定義「開發」這件事,這篇開箱就帶你一起來看,這款工具到底憑什麼讓我們擺脫開發的「重力」束縛。 Google Antigravit
Thumbnail
本文介紹如何在 Google Antigravity IDE 中安裝 @leonardsellem/n8n-mcp-server,將 AI 助手轉變為 n8n 自動化平台的營運中心。包含核心功能介紹、關鍵的 API 路徑配置技巧,以及如何透過自然語言指令來管理、執行與除錯工作流,讓自動化開發更智能。
Thumbnail
本文介紹如何在 Google Antigravity IDE 中安裝 @leonardsellem/n8n-mcp-server,將 AI 助手轉變為 n8n 自動化平台的營運中心。包含核心功能介紹、關鍵的 API 路徑配置技巧,以及如何透過自然語言指令來管理、執行與除錯工作流,讓自動化開發更智能。
Thumbnail
Google Antigravity IDE 的推出,AI 輔助開發已成主流,但「寫到一半額度用光」的斷網體驗卻是開發者的最大痛點。本文介紹一款由社群開發的 VS Code 擴充套件「Antigravity Cockpit」,能即時監控 Gemini 與 Claude 等模型的剩餘額度與重置時間。
Thumbnail
Google Antigravity IDE 的推出,AI 輔助開發已成主流,但「寫到一半額度用光」的斷網體驗卻是開發者的最大痛點。本文介紹一款由社群開發的 VS Code 擴充套件「Antigravity Cockpit」,能即時監控 Gemini 與 Claude 等模型的剩餘額度與重置時間。
Thumbnail
本文紀錄了臺大創意創業學程《創新思考與策略實務》課程中,使用 Google Antigravity 進行 Vibe Coding 的實作課。分享開發桌面版小畫家、Line Messenger 應用程式。以老闆思維與 AI 溝通,注重視覺回饋和日誌分析,並探討了上下文管理、與 AI 高效溝通的技巧。
Thumbnail
本文紀錄了臺大創意創業學程《創新思考與策略實務》課程中,使用 Google Antigravity 進行 Vibe Coding 的實作課。分享開發桌面版小畫家、Line Messenger 應用程式。以老闆思維與 AI 溝通,注重視覺回饋和日誌分析,並探討了上下文管理、與 AI 高效溝通的技巧。
Thumbnail
Google Antigravity 是 Google 推出的新一代 IDE,為開發者提供了現代化的編程體驗和強大的 AI 助手功能。本文將詳細介紹如何在 Windows 系統上安裝 Google Antigravity,包括下載、安裝配置、編輯器主題選擇、快捷鍵設置,以及登入 Google 帳戶。
Thumbnail
Google Antigravity 是 Google 推出的新一代 IDE,為開發者提供了現代化的編程體驗和強大的 AI 助手功能。本文將詳細介紹如何在 Windows 系統上安裝 Google Antigravity,包括下載、安裝配置、編輯器主題選擇、快捷鍵設置,以及登入 Google 帳戶。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News