雖然滿多人已經知道或提過,但還是簡單介紹一下MCP的起源跟概念,至於實作或架構介紹(Host/Client/Server、Tools/Resources/Prompts、Roots/Sampling、JSON-RPC/Stdio/<SSE or Streamable HTTP>等...)在網路上已有很多優質文章則不再提出,有錯歡迎糾正。
LSP,也就是微軟在2016年推出的「Language Server Protocol」語言伺服器協定,一種讓IDE、Editor不再需要針對特定程式語言實作專有功能來與各種語言溝通的通用整合協定,因此不再需要直接在Cursor或VSCode等IDE中考慮是否支援特定語言來使用,
你肯定都知道語法高亮、也知道自動完成、甚至lint檢查等功能,正是有LSP在使用者看不到的扭曲陰暗角落默默的付出,才能有這麼方便的開發體驗。
而時至今日為人所知的
MCP(Model Context Protocol),AI應用端的
USB-C,由Anthropic公司於2024年11月所推出,MCP作者之一的
David Soria Parra正是受
LSP啟發而創造出如此方便的溝通協定,我們來將LSP的概念套一下,第三方工具就好比為程式語言、AI應用的Client端如同IDE,藉由MCP協定便可以讓我的IDE無縫支援各式各樣的程式語言了。
MCP相關資源:
相關文章:
MCP聽起來非常全能,但不盡然,在現有的MCP生態中依然存在某些缺點,例如調用Server的過程中資源消耗較高、通訊協定的效率或支援度不足、建置的複雜度、亦或是與其他現有功能衝突等都是個待解決或需考慮的問題,幸運的是某些問題已有大量現成的第三方解決方案,並且藉著開發社群的力量,官方正在慢慢解決、改進這些問題當中 (
2025-03-26 Spec)。
在未來,也許可能又會出現比MCP更加優秀或是能互相搭配的協定,演變成統一協定之爭(多麼似曾相似,你說是不是呢?),但以樂觀的角度看待,因為有了MCP起了頭,我們的開發體驗正在一點一滴地整合、進步、便利,那麼看到最後的您,認為MCP究竟是「未來」還是「曇花一現」呢,謝謝觀看。