文件管理服务器

一个基于Swift的macOS文件管理服务器,通过MCP协议提供智能文件系统操作,包括文件搜索、组织和目录分析功能。

  • by ParthaSSatpathy
  • Swift
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 parthassatpathy/macos-mcp-file-server

使用说明

项目简介:macOS MCP文件服务器 项目概述 构建一个以macOS为中心的MCP(模型上下文协议)服务器,提供智能文件系统操作。这是一个基于Swift的服务器,通过MCP协议公开文件管理功能,允许AI助手在macOS系统上执行复杂的文件操作。 核心目标

演示MCP功能:展示MCP如何与本地macOS文件系统API集成 提供实用工具:为macOS用户创建真正有用的文件管理工具 在macOS上展示Swift:利用Swift的原生macOS框架集成

目标MCP能力实施 工具(主要焦点)

文件搜索工具

按名称、内容、类型、大小、日期搜索文件 支持正则表达式模式和复杂查询 返回带有元数据的结构化结果

文件组织工具

自动对文件进行分类(按类型、日期、项目) 批量重命名操作 智能文件夹创建和组织

目录分析工具

分析磁盘使用情况和文件分布 查找重复文件 识别大文件和空间使用模式

资源

文件系统资源

将目录内容作为可订阅资源公开 文件内容作为可读资源 文件更改时的实时更新

鼓励

基于文件的提示

根据项目结构生成提示 创建文件组织建议 常见文件操作的模板提示

技术架构 框架使用

基础:核心文件系统操作(FileManager、URL) MCP Swift SDK:服务器实现和协议处理 服务生命周期:优雅的启动/关闭管理 日志记录:用于调试的全面日志记录

关键组件 源/MCPFileServer/ ├── main.swift#服务生命周期的入口点 ├── FileServer.swift#主MCP服务器设置和配置 ├── 工具/ │ ├── FileSearchTool.swift#实现文件搜索功能 │ ├── FileOrganizeTool.swift#文件组织和批量操作
│ └── DirectoryAnalysisTool.swift#磁盘使用和分析 ├── 资源/ │ └── FileSystemResource.swift#目录和文件内容资源

├── FileMetadata.swift#文件元数据提取实用程序 └── PathUtils.swift#路径操作帮助程序 具体实施要求 MCP服务器设置

使用stdio传输进行本地子进程通信 实施适当的能力声明(工具、资源、提示) 在ServiceLifecycle中包括优雅关机 添加全面的日志记录

文件搜索工具 swift//预期的工具界面 { “name”:“search_files”, “description”:“使用各种条件搜索文件”, “inputSchema”:{ “类型”:“对象”, “属性”:{ “查询”:{“类型”:“字符串”,“描述”:“搜索查询(名称/内容)”}, “路径”:{“类型”:“字符串”,“描述”:“要搜索的根路径”}, “fileType”:{“type”:“string”,“description”:“按文件扩展名筛选”}, “maxResults”:{“type”:“integer”,“default”:50}, “includeContent”:{“type”:“boolean”,“default”:false} } } } 文件组织工具 swift//预期的工具界面
{ “name”:“organize_files”, “description”:“在目录中组织文件”, “inputSchema”:{ “类型”:“对象”, “属性”:{ “sourcePath”:{“type”:“string”,“description”:“要组织的目录”}, “策略”:{“类型”:“字符串”,“枚举”:[“byType”,“byDate”,“bySize”]}, “createSubfolders”:{“type”:“boolean”,“default”:true}, “dryRun”:{“type”:“boolean”,“default”:true} } } } 目录分析工具 swift//预期的工具界面 { “name”:“analyze_directory”, “description”:“分析目录结构和使用情况”, “inputSchema”:{ “类型”:“对象”, “属性”:{ “路径”:{“类型”:“字符串”,“描述”:“要分析的目录”}, “includeSubdirs”:{“type”:“boolean”,“default”:true}, “findDuplicates”:{“type”:“boolean”,“default”:false} } } } 错误处理和安全

验证所有文件路径以防止目录遍历 默认情况下为只读操作,除非明确要求 破坏性操作的干运行模式 带有上下文的正确错误消息 尊重文件权限,妥善处理访问错误

平台集成

在有利的地方使用本机macOS API(通过CoreSpotlight集成Spotlight) 尊重系统权限(不需要不必要的权限) 遵循macOS文件组织惯例 优化SSD性能(在现代Mac上很常见)

发展重点

简单开始:使用基于名称的查询进行基本文件搜索 增量添加:扩展搜索功能,然后添加组织 彻底测试:每个工具应独立工作 关注用户体验:清晰、有用的响应和错误消息

成功标准

MCP客户端可以成功调用所有已实现的工具 文件操作是安全的,并尊重用户权限 结果准确且格式正确 服务器优雅地处理错误而不会崩溃 对于典型的目录大小,性能是合理的(大多数操作小于1秒)