Filesystem Server
功能
提供文件系统访问能力,支持读取、写入文件和目录操作。
安装
1 | npm install -g @modelcontextprotocol/server-filesystem |
配置
1 | { |
可用工具
| 工具 | 描述 |
|---|---|
read_file |
读取文件内容 |
write_file |
写入文件内容 |
create_directory |
创建目录 |
list_directory |
列出目录内容 |
move_file |
移动/重命名文件 |
search_files |
搜索文件 |
使用示例
1 | // 读取文件 |
GitHub Server
功能
提供 GitHub 仓库操作能力,可以管理 issues、pull requests、文件等。
安装
1 | npm install -g @modelcontextprotocol/server-github |
配置
1 | { |
获取 GitHub Token
- 访问 https://github.com/settings/tokens
- 点击 “Generate new token (classic)”
- 选择所需权限
- 生成并复制 token
可用工具
| 工具 | 描述 |
|---|---|
create_issue |
创建 issue |
create_pull_request |
创建 PR |
push_files |
推送文件 |
read_file |
读取仓库文件 |
list_issues |
列出 issues |
使用示例
1 | // 创建 Issue |
PostgreSQL Server
功能
提供 PostgreSQL 数据库查询能力。
安装
1 | npm install -g @modelcontextprotocol/server-postgres |
配置
1 | { |
可用工具
| 工具 | 描述 |
|---|---|
query |
执行 SQL 查询 |
execute_sql |
执行 SQL 语句 |
使用示例
1 | // 查询数据 |
Brave Search Server
功能
提供网页搜索能力(类似 Tavily)。
安装
1 | npm install -g @modelcontextprotocol/server-brave-search |
配置
1 | { |
可用工具
| 工具 | 描述 |
|---|---|
brave_web_search |
网页搜索 |
brave_search |
搜索(别名) |
使用示例
1 | { |
Puppeteer Server
功能
提供网页自动化能力,可以控制浏览器进行操作。
安装
1 | npm install -g @modelcontextprotocol/server-puppeteer |
配置
1 | { |
可用工具
| 工具 | 描述 |
|---|---|
navigate_to |
导航到 URL |
screenshot |
截取屏幕截图 |
click |
点击元素 |
fill |
填写表单 |
get_pdf |
获取 PDF 内容 |
使用示例
1 | // 导航并截图 |
配置示例
完整配置文件
1 | { |
工具发现和测试
列出可用工具
1 | import { MCPManager } from "./mcp/index.js"; |
测试工具调用
1 | // 测试文件系统工具 |
安全考虑
权限控制
1 | // 限制文件系统访问路径 |
环境变量隔离
1 | // 使用专用 token |
服务器禁用控制
1 | { |
故障排除
连接失败
1 | 错误: 连接到 MCP 服务器 "github" 失败 |
解决方案:
- 检查服务器是否安装:
npx -y @modelcontextprotocol/server-github --version - 检查环境变量是否正确设置
- 检查网络连接
- 查看服务器日志
工具调用失败
1 | 错误: 工具 "github:create_issue" 不存在 |
解决方案:
- 确认服务器已连接
- 检查工具名称是否正确
- 查看可用的工具列表
权限错误
1 | 错误: Permission denied (filesystem) |
解决方案:
- 检查访问路径的权限
- 使用正确的用户运行服务器
- 调整服务器配置
小结
本节介绍了常用的 MCP 服务器:
- Filesystem Server - 文件系统操作
- GitHub Server - GitHub 仓库管理
- PostgreSQL Server - 数据库查询
- Brave Search Server - 网页搜索
- Puppeteer Server - 浏览器自动化
- 配置示例和安全考虑
第十三章总结
本章详细介绍了 MCP 集成的实现:
13.1 MCP 协议概述
- MCP 的定义和设计目标
- 核心概念(Client、Server、Transport)
- 三大能力(Tools、Resources、Prompts)
13.2 MCP 服务器连接
- 服务器配置结构
- StdioClientTransport 原理
- 连接和断开流程
- 多服务器管理
13.3 工具适配器实现
- 适配器模式设计
- MCPToolAdapter 类
- 参数转换和验证
- 工具注册流程
13.4 常用 MCP 服务器
- Filesystem Server
- GitHub Server
- PostgreSQL Server
- Brave Search Server
- Puppeteer Server
通过本章的学习,你已经掌握了如何通过 MCP 协议扩展 Agent 的能力,连接到各种外部服务和数据源。
下一章: 第十四章:总结与展望
导航
上一篇: 13.3 工具适配器实现
下一篇: 14.1 项目完整回顾