Back to MCP directory
publicPublicdnsLocal runtime

bsmi021_mcp-filesystem-server

一个基于MCP协议的文件系统操作与分析服务

article

README

🚀 文件系统 MCP 服务器

文件系统 MCP 服务器是一个基于 MCP 协议的标准工具接口,可实现文件系统操作、分析和管理功能,为用户提供便捷的文件处理方案。

🚀 快速开始

该服务器基于 MCP SDK 构建,其结构划分为不同层次,各层次相互协作实现服务器功能。以下是具体的结构和组件说明:

graph TD
    A[ MCP 服务器层 ] --> B[ 工具注册表 ]
    B --> C[ 操作层 ]
    C --> D[ 文件系统操作 ]
    C --> E[ 分析操作 ]
    C --> F[ 流操作 ]

组件

  • 服务器层:负责处理 MCP 协议通信和工具调度。
  • 工具注册表:对工具的注册和执行进行管理。
  • 操作层:实现服务器的核心功能。
  • 文件系统接口:提供安全的文件系统访问途径。

📦 安装指南

  1. 克隆仓库:
git clone <repository-url>
cd filesystem-server
  1. 安装依赖项:
npm install
  1. 构建服务器:
npm run build
  1. 配置 MCP 设置(cline_mcp_settings.json):
{
  "mcpServers": {
    "filesystem": {
      "command": "node",
      "args": ["path/to/filesystem-server/build/index.js"]
    }
  }
}

💻 使用示例

目录操作

list_directory

此工具用于列出目录内容及其元数据。 接口:

interface ListDirectoryParams {
  /** 要列出的目录路径 */
  path: string;
}

interface ListDirectoryResult {
  /** 目录中的文件和子目录列表 */
  entries: Array<{
    /** 文件或子目录的名称 */
    name: string;
    /** 文件类型('file' 或 'directory') */
    type: string;
    /** 修改时间 */
    modifiedTime: Date;
  }>;
}

示例:

const result = await filesystem.listFiles('/path/to/dir');
// 结果结构如上所示

文件操作

read_file

用于读取文件内容。 接口:

interface ReadFileParams {
  /** 要读取的文件路径 */
  path: string;
}

interface ReadFileResult {
  /** 文件内容(二进制缓冲区) */
  content: Buffer;
}

示例:

const content = await filesystem.readFile('/path/to/file.txt');
// content 包含文件数据

write_file

用于写入文件内容。 接口:

interface WriteFileParams {
  /** 要写的文件路径 */
  path: string;
  /** 文件内容 */
  content: Buffer | string;
}

interface WriteFileResult {
  /** 写入的字节数 */
  bytesWritten: number;
}

示例:

const result = await filesystem.writeFile('/path/to/file.txt', '写入的内容');
// 返回写入的字节数

错误处理

错误码和信息

| 错误码 | 详情 | | ------ | ------ | | 400 Bad Request | 无效请求参数。 | | 401 Unauthorized | 权限不足,无法执行操作。 | | 404 Not Found | 指定文件或目录不存在。 | | 500 Internal Server Error | 服务器内部错误。 |

开发模式

监视模式

npm run watch

代码质量

检查代码:

npm run lint

类型检查:

npm run type-check

🤝 贡献指南

  1. 叉仓库
  2. 创建功能分支
  3. 为新功能编写测试
  4. 确保所有测试通过
  5. 提交拉取请求

📄 许可证

本项目采用 MIT 许可证。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client