What is the Model Context Protocol (MCP)? | why
mcp 作为llm的一个重要工具现在基本已经成为了agent中不可或缺的一环. 它连接了语言模型和外部的世界, 就像把人脑通过眼睛耳朵来获取信息, 通过手脚和世界交互一样.
现在很多agent解决方案都能使用命令行完成大多数的操作如读取文件信息, 爬取网页内容等, 为什么我们还需要mcp呢? 首先我们命令行确实已经能解决百分之八十的agent与外界交互的需求了, 但是在使用命令行的过程中很难保证agent不会执行一些危险的命令对项目仓库以至于服务器造成不可挽回的影响, 虽然现在很多agent工具都会在执行一些指令的时候需要用户确认. 但mcp的出现就让权限的管理更加的透明而不是只是由agent自行决定. 用户可以通过mcp自行决定哪些指令不需要确认, 哪些需要. 访问哪些目录的时候需要确认. 再者, mcp返回的内容通常都专门为llm优化过, 逻辑结构清晰. 而不是像cli大部分时候返回plaintext. 最后mcp是用户自行定义使用哪些工具. 而且也可以自行根据仓库需求制作自己的工具来给llm使用.
MCP 三种核心分类
- Resources: 模型从外界获取信息的工具
- Tools: 模型与外界交互
- Prompts: 模型提示词工程
当你使用前端交互工具和带有mcp的模型对话的时候发生了什么?
- 客户端会把你的问题(request)发送给llm
- llm 会分析当前可用的工具, 并判断是否需要和选择什么mcp服务
- 客户端会通过mcp服务执行mcp
- 客户端获取到mcp返回的结果之后便会把结果返还给llm
- 根据mcp结果llm在给客户端返还一个自然语言的回复
当前常用的mcp服务
在github上有一个专门的mcp仓库: 点击这里导航
分享几个在开发过程中常用mcp
git
模型通过这个mcp 查询仓库的git信息, 并且可以完成提交和修改分支等功能.
filesystem
这是最常用的MCP服务之一, 提供了完整的文件系统操作能力. 通过这个服务, 模型可以:
- 读取和写入文件内容
- 创建和管理目录结构
- 搜索文件和目录
- 获取文件元数据(大小、修改时间等)
- 移动和重命名文件
# 示例配置文件
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/directory"]
}
}
}
这里包含了谷歌官方提供的mcp服务. 包括google workspace, cloud storage 等
配置Google MCP服务
{
"mcpServers": {
"google-workspace": {
"command": "npx",
"args": ["-y", "@google/mcp-server-workspace"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/credentials.json"
}
}
}
}
google workspace
包括slide, docs, sheets, Calendar 和 Gmail.
通过这个mcp你可以访问你谷歌账户中的文档, 日历和邮箱等. 包括查询某个具体的文档, 新增文档, 查询当天的计划, 查看邮箱等.
主要功能:
- 📄 文档管理: 创建、读取、更新Google Docs
- 📊 表格操作: 处理Google Sheets数据
- 📅 日历集成: 查看和管理Google Calendar事件
- 📧 邮件管理: 读取和发送Gmail邮件
- 🎨 演示文稿: 操作Google Slides
cloud storage
提供与Google Cloud Storage的集成能力:
# 安装Cloud Storage MCP
npm install -g @google/gcloud-mcp-storage
核心功能:
- 📦 存储桶管理: 创建、删除、列出存储桶
- 📁 文件操作: 上传、下载、删除对象
- 🔍 权限控制: 管理ACL和IAM权限
- 📈 元数据访问: 获取对象信息和存储统计
实际应用场景
场景1: 自动化项目文档生成
使用filesystem MCP读取项目代码, 结合git MCP获取提交历史, 自动生成项目文档.
场景2: 数据分析工作流
通过Google Sheets MCP读取数据, 使用模型分析后, 将结果写入Google Docs生成报告.
场景3: 个人助理
整合Google Calendar MCP和Gmail MCP, 创建智能日程管理和邮件处理助手.
最佳实践
权限最小化原则: 只授予必要的目录和操作权限定期更新MCP服务: 保持MCP服务器为最新版本监控使用情况: 记录MCP调用日志以便审计备份配置文件: 定期备份MCP配置以防丢失