kpman | code

在 AI application 日漸興盛的時代,MCP 這個詞的曝光度也越來越高,本文將介紹什麼是 MCP?以及它為什麼重要?

什麼是 MCP?

MCP(Model Context Protocol)是一種由 Anthropic 提出的開放標準,目標是讓 AI 助手與資料系統(如內容存儲庫、業務工具和開發環境)連接。它是一個開放標準,所謂的 P 正是 Protocol 的意思,讓開發人員可以在資料來源和 AI application 間提供一個安全的雙向連接。

MCP

MCP 分成幾個架構:

  • MCP Hosts
  • MCP Clients
  • MCP Servers
  • Local Data Sources
  • Remote Services

其中身為開發者比較重要的,是 MCP Servers,透過實作符合 Model Context Protocol 的程式,讓對應的 service,不論是 local 還是 remote service 都可以讓 MCP Clients 讀取的到。

為什麼需要 MCP?

MCP 的出現以前,如果要讓 LLM 能夠呼叫外部的 API,採用的方式是 function calling,這個方式有一些缺點,就是不同的開發者所定義的 function 不盡相同,面對不同的 LLM 就要維護不同的 codebase。而 MCP 出現後,只要開發一次,就可以在不同的 AI application 上面套用,對於 MCP server 的維護者來說,是一件非常方便的事情。

有了 MCP server,就可以讓 LLM 根據上下文來找到對應的 method,進而呼叫它來使用。

我為什麼關注 MCP?

第一次看到 MCP 這個詞,是在 Cursor 編輯器的 settings。 當時還不知道它有什麼用途,直到開始研究後,才發現這簡直就是 LLM 的 extension。

在 Chrome 推出了 extension 以及 Chrome Web Store 後,各種 extension 如雨後春筍般出現,各種應用都可以利用 extension API 來達成,幾乎可以說是沒有做不到,只有想不想的到。

我認為 MCP 也是這個概念,由 Anthropic 提出協定,就看各家 LLM 大廠會不會跟上,當這個生態系越來越成熟的那天,LLM 或者說 AI application 的應用可能又會讓我們大吃一驚。

目前關注到的應用

  • 可以在 Cursor 編輯器內,直接叫 MCP server 去產圖,然後產好的圖檔 URL,直接可以替換 codebase 內的圖檔
  • 可以在 Cursor 內用 fetch 去搜尋貼給它的連結
  • 可以在 Claude Desktop App 內,直接用 MCP server 去整理電腦內的檔案,可以快速重新命名,全程用自然語言對話就做到

結論

MCP 是 2024.11.25 推出,在本文撰寫的當下,也不到 4 個月,很多 MCP server 參差不齊,在挑選上需要費一點功夫,但這也代表說對於開發者來說,是一個絕佳的機會。 而我也一直在思考,在日常生活或是工作上,MCP server 的整合應用,還能做到什麼,實在是很令人興奮。

Reference