MCP文件系统服务器
一种模型上下文协议(MCP)服务器,通过简单的基于web的前端提供文件系统操作。
特性
- 文件操作:创建、读取、更新、删除文件
- 目录操作:列出目录内容
- web界面:文件管理的简单前端
- AI助手:文件操作的自然语言处理
- 文件上传:拖放文件上传功能
安装
- 克隆存储库
git clone
cd mcp-filesystem-server- 安装依赖项
npm install @modelcontextprotocol/sdk- 使服务器可执行
chmod +x server.js用法
运行MCP服务器
node server.js服务器将在stdio上运行,并可与MCP兼容的客户端集成。
使用Web界面
- 打开
index.html在您的网络浏览器中 - 选择要执行的操作
- 填写必填字段
- 点击“执行操作”
可用操作
- 创建文件:使用指定内容创建新文件
- 读取文件:读取现有文件的内容
- 更新文件:修改现有文件的内容
- 删除文件:从文件系统中删除文件
- 列出文件:列出目录中的所有文件
api参考
工具
创建文件
使用指定内容创建新文件。
参数:
filepath(string):创建文件的路径content(string):要写入文件的内容
read_file
读取现有文件的内容。
参数:
filepath(string):要读取的文件的路径
update_file
使用新内容更新/编辑现有文件。
参数:
filepath(string):要更新的文件的路径content(string):文件的新内容
删除文件
从文件系统中删除文件。
参数:
filepath(string):要删除的文件的路径
列表文件
列出指定目录中的文件和目录。
参数:
dirpath(string):要列出的目录的路径
Web界面功能
文件操作面板
- 操作选择:下拉菜单,用于在创建、读取、更新、删除和列表操作之间进行选择
- 动态场:表单字段会根据所选操作而更改
- 执行按钮:使用提供的参数运行所选操作
文件上传和AI助手面板
- 拖放上传:将文件直接放到上传区域
- 文件浏览器:单击以浏览和选择文件
- AI提示输入:用于文件操作的自然语言接口
- 人工智能流程:解释自然语言请求并建议操作
输出面板
- 实时结果:显示操作结果和错误消息
- 格式化输出:显示文件内容和操作状态
- 清除功能:清除输出区域的按钮
配置
服务器配置了以下功能:
{
name: 'filesystem-mcp-server',
version: '0.1.0',
capabilities: {
tools: {}
}
}错误处理
服务器实现了全面的错误处理:
- 文件系统错误:捕获和报告文件访问问题
- 路径验证:确保在创建文件之前存在目录结构
- MCP错误代码:使用标准MCP错误代码进行一致的错误报告
- 优雅地关闭:处理SIGINT以彻底关闭服务器
依赖项
@modelcontextprotocol/sdk:用于服务器实现的MCP SDKfs/promises:Node.js文件系统操作path:路径操作实用程序
安全考虑
- 路径遍历:小心文件路径,防止目录遍历攻击
- 文件权限:确保服务器具有适当的文件操作权限
- 输入验证:在处理之前验证文件路径和内容
- 访问控制:考虑对敏感目录实施访问控制
发展
以开发模式运行
node server.js使用Web界面进行测试
- 在一个终端中启动MCP服务器
- 打开
index.html在网络浏览器中 - 通过界面测试各种文件操作
扩展功能
要添加新的文件操作,请执行以下操作:
- 在中添加工具定义
setupToolHandlers() - 实现处理程序方法
- 在switch语句中添加案例
- 如果需要,更新web界面
故障排除
常见问题
服务器无法启动:
- 检查是否安装了Node.js
- 验证是否安装了MCP SDK:
npm list @modelcontextprotocol/sdk
文件操作失败:
- 检查文件系统权限
- 验证文件路径是否正确
- 确保目标目录存在
Web界面未连接:
- web界面使用模拟的MCP客户端进行演示
- 要实现真正的MCP集成,请通过兼容MCP的客户端进行连接
