MCP
基本介紹
官方地址:
- https://modelcontextprotocol.io/introduction
“MCP 是一種開放協議,旨在標準化應用程序向大型語言模型(LLM)提供上下文的方式。可以把 MCP 想象成 AI 應用程序的 USB-C 接口。就像 USB-C 提供了一種標準化的方式,讓你的設備能夠連接各種外設和配件一樣,MCP 也提供了一種標準化的方式,讓 AI 模型能夠連接不同的數據源和工具。”
● MCP 主機(MCP Hosts):像 Claude Desktop、IDE 或 AI 工具等程序,它們希望通過 MCP 訪問數據。
● MCP 客戶端(MCP Clients):維護與服務器 1:1 連接的協議客戶端。
● MCP 服務器(MCP Servers):輕量級程序,它們通過標準化的模型上下文協議(Model Context Protocol)公開特定的功能。
● 本地數據源(Local Data Sources):你的計算機上的文件、數據庫和服務,MCP 服務器可以安全地訪問這些數據。
● 遠程服務(Remote Services):通過互聯網可用的外部系統(例如 API),MCP 服務器可以與其連接。
https://www.anthropic.com/news/model-context-protocol
社區也在積極推進:
- https://github.com/modelcontextprotocol
為什么
官方給的選擇理由:
MCP 幫助您在 LLM 之上構建智能體和復雜的工作流。LLM 經常需要與數據和工具集成,而 MCP 提供:
● 越來越多的預構建集成,您的 LLM 可以直接接入
● 在不同的 LLM 提供商和供應商之間靈活切換的能力
● 在您的基礎設施內保護數據的最佳實踐
對比FC
MCP 本質上是 通過 JSON 的標準,將工具的能力、參數等描述清楚,在和大模型對話的時候,傳遞到上下文中。
而 Function Call 是需要 LLM 支持的,比如在 DeepSeek-R1 中,開源版本不支持 Function Call 的,所以此時我們實現的功能就會受到限制。
Function Call 主要用于擴展模型的功能,使其能執行任務,而 Model Context Protocol (MCP) 主要用于維持對話上下文,增強模型的個性化和記憶能力。
兩者互補,使得 AI 既能高效執行任務,又能保持對話連貫性。
這里呢,我生成了一個表格來進行對比:
應用場景
● 智能代碼編輯器 (IDE): 與文件系統、版本控制、包管理器和文檔集成,以實現更豐富的上下文感知和代碼建議 。
● 智能助手和生產力工具: 使 AI 助手能夠訪問日歷、電子郵件、文檔和其他個人或企業數據,以執行諸如安排日程、總結信息和管理工作流程等任務 。
● 增強的數據分析平臺: 允許 AI 自主發現并與多個數據庫、數據可視化工具和模擬進行交互,以進行復雜的數據分析 。 提到 AI2SQL 是使用 MCP 進行 AI 驅動數據查詢的一個例子。
● 用于特定任務的自定義 AI 代理: 構建專門的 AI 代理,可以利用特定的工具和數據源來自動化客戶支持、財務和運營等領域的任務 。
我怎么看
接觸了這么多 LLM、Agent,很多時候大模型只是充當一個銜接的能力,本質還是要提供出API,才可以對大模型的能力進行擴展,來實現和業務的結合。
經常會出現:AI 集成問題(M 個模型 x N 個工具需要 M*N 個集成)
但實際在做東西的時候,我發現對應的開放出這些API來是非常困難的,每個平臺都不一樣,各自的接口也都不一樣,所以 MCP 可以幫助我更輕松的把這些東西銜接起來。
有點像:OpenAI 的 API 定義了一個結構,大家后續出的API都是按照這個結構來的,這樣的話,大家在 Python 編碼的時候,只需要修改 base_url 和 api_key 就好了,剩下的入參和回參都是一樣的。
安裝UV
uv 是一個現代化的 Python 軟件包管理器,旨在取代 pip、venv 和 virtualenv。
執行直接安裝:
curl -LsSf https://astral.sh/uv/install.sh | sh
官方示例
Data and file systems
● Filesystem - Secure file operations with configurable access controls
● PostgreSQL - Read-only database access with schema inspection capabilities
● SQLite - Database interaction and business intelligence features
● Google Drive - File access and search capabilities for Google Drive
Development tools
● Git - Tools to read, search, and manipulate Git repositories
● GitHub - Repository management, file operations, and GitHub API integration
● GitLab - GitLab API integration enabling project management
● Sentry - Retrieving and analyzing issues from Sentry.io
Web and browser automation
● Brave Search - Web and local search using Brave’s Search API
● Fetch - Web content fetching and conversion optimized for LLM usage
● Puppeteer - Browser automation and web scraping capabilities
Productivity and communication
● Slack - Channel management and messaging capabilities
● Google Maps - Location services, directions, and place details
● Memory - Knowledge graph-based persistent memory system
AI and specialized tools
● EverArt - AI image generation using various models
● Sequential Thinking - Dynamic problem-solving through thought sequences
● AWS KB Retrieval - Retrieval from AWS Knowledge Base using Bedrock Agent Runtime