Token导航 LogoToken导航

MCP Server · 开发工具

File Operations MCP Server

一个提供增强文件操作能力的MCP服务器,支持流式处理、补丁和变更跟踪功能,适用于需要高效文件管理的开发场景。

stdio官方级别未说明来源级核验工具 0@smithery/cli
开发工具TypeScriptClaudeClaude Desktop

快速开始

作者 / 组织
bsmi021
提供方
bsmi021
运行时
Node.js

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

21

仓库热度

收录来源

2 个

MCP World

选型结论

File Operations MCP Server 属于开发工具类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前要先准备 访问 Token。

分类

开发工具

传输方式

stdio

认证方式

访问 Token

部署方式

公开资料未说明

安装与配置

安装命令

npx -y @smithery/cli install @bsmi021/mcp-file-operations-server --client claude

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Node.js,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

文件操作MCP服务器

一种模型上下文协议(MCP)服务器,提供增强的文件操作功能,支持流式传输、修补和更改跟踪。

特性

  • 基本文件操作:复制、读取、写入、移动和删除文件
  • 目录操作:创建、删除和复制目录
  • 文件监视:监视文件和目录的更改
  • 更改跟踪:跟踪和查询文件操作历史
  • 流媒体支持:通过流媒体高效处理大文件
  • HTTP接口:具有服务器发送事件(SSE)的流式HTTP接口
  • 资源支持:通过MCP资源访问文件和目录
  • 进度报告:长时间操作的实时进度更新
  • 速率限制:防止过度请求
  • 增强的安全性:路径验证和输入净化
  • 稳健的错误处理:全面的错误处理和报告
  • 类型安全:完全支持TypeScript,具有严格的类型检查
  • Docker支持:具有卷装载的容器化部署

安装

通过Smithery安装

通过以下方式自动安装克劳德桌面文件操作服务器 史密瑟里:

npx -y @smithery/cli install @bsmi021/mcp-file-operations-server --client claude

手动安装

npm install

Docker安装

看 医生.md 获取全面的Docker设置说明,包括Windows和Linux的本地驱动器挂载。

Docker快速入门:

# Stdio transport (for MCP clients)
docker run -it --rm -v "$(pwd):/workspace" ghcr.io/bsmi021/mcp-file-operations-server

# HTTP transport (for web/remote access)
docker run -it --rm -p 3001:3001 -v "$(pwd):/workspace" -e MCP_TRANSPORT=http ghcr.io/bsmi021/mcp-file-operations-server

用法

运输方式

服务器支持两种传输模式:

1.标准运输(默认)

对于与Claude Desktop等MCP客户端的直接集成:

npm start
2.使用SSE的HTTP传输(v1.5中的新功能)

对于远程连接和web应用程序:

npm run start:http

HTTP服务器提供:

  • SSE端点: GET http://localhost:3001/sse -建立流媒体连接
  • 消息端点: POST http://localhost:3001/messages -接收客户端消息
  • 健康检查: GET http://localhost:3001/health -服务器状态
  • 会话: GET http://localhost:3001/sessions -活动连接信息

启动服务器

开发模式
# Stdio transport with auto-reload
npm run dev

# HTTP transport with auto-reload
npm run dev:http
生产模式
# Stdio transport
npm start

# HTTP transport
npm run start:http

# Custom port for HTTP
npm run start:http -- --port 8080

可用工具

基本文件操作
  • copy_file:将文件复制到新位置
  • read_file:从文件中读取内容
  • write_file:将内容写入文件
  • move_file:移动/重命名文件
  • delete_file:删除文件
  • append_file:将内容附加到文件
目录操作
  • make_directory:创建目录
  • remove_directory:删除目录
  • copy_directory:递归复制目录(带进度报告)
观察操作
  • watch_directory:开始查看目录中的更改
  • unwatch_directory:停止查看目录
更改跟踪
  • get_changes:获取记录的更改列表
  • clear_changes:清除所有记录的更改

可用资源

静态资源
  • file:///recent-changes:最近文件系统更改列表
资源模板
  • file://{path}:访问文件内容
  • metadata://{path}:访问文件元数据
  • directory://{path}:列出目录内容

示例用法

使用标准传输(MCP客户端)
// Copy a file
await fileOperations.copyFile({
    source: 'source.txt',
    destination: 'destination.txt',
    overwrite: false
});

// Watch a directory
await fileOperations.watchDirectory({
    path: './watched-dir',
    recursive: true
});

// Access file contents through resource
const resource = await mcp.readResource('file:///path/to/file.txt');
console.log(resource.contents[0].text);

// Copy directory with progress tracking
const result = await fileOperations.copyDirectory({
    source: './source-dir',
    destination: './dest-dir',
    overwrite: false
});
// Progress token in result can be used to track progress
console.log(result.progressToken);
使用HTTP传输(Web/Remote)

通过JavaScript连接:

// Establish SSE connection
const eventSource = new EventSource('http://localhost:3001/sse');
let sessionId = null;

eventSource.onopen = function() {
    console.log('Connected to MCP server');
};

eventSource.onmessage = function(event) {
    const message = JSON.parse(event.data);
    
    // Extract session ID from first message
    if (!sessionId && message.sessionId) {
        sessionId = message.sessionId;
    }
    
    console.log('Received:', message);
};

// Send a message to the server
async function sendMessage(method, params) {
    const message = {
        jsonrpc: '2.0',
        id: Date.now(),
        method: method,
        params: params
    };
    
    const response = await fetch('http://localhost:3001/messages', {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json',
            'X-Session-ID': sessionId
        },
        body: JSON.stringify(message)
    });
    
    return response.json();
}

// Example: List tools
sendMessage('tools/list', {});

// Example: Read a file
sendMessage('tools/call', {
    name: 'read_file',
    arguments: { path: '/workspace/example.txt' }
});

使用curl进行测试:

# Start SSE connection in background
curl -N http://localhost:3001/sse &

# Check server health
curl http://localhost:3001/health

# List active sessions
curl http://localhost:3001/sessions

交互式Web客户端:

完整的交互式示例可在 examples/http-client.html。在web浏览器中打开此文件,使用用户友好的GUI测试HTTP接口。

v1.5的新增功能

MCP SDK v1.5升级

  • 流式HTTP接口:带有服务器发送事件(SSE)的新HTTP传输
  • 增强型API:升级到MCP SDK v1.5,改进了基于zod的模式
  • 多个连接:支持通过会话管理同时进行HTTP连接
  • 更好的类型安全性:改进了TypeScript集成和错误处理

流媒体功能

  • 大文件支持:用于大文件操作的高效流媒体
  • 实时进度:通过SSE更新长时间运行的进度
  • 会话管理:具有隔离会话的多个客户端连接
  • HTTP API:RESTful端点与传统MCP协议并存

Docker支持

Docker快速入门

# Build the image
docker build -t mcp-file-operations-server .

# Run with stdio (for MCP clients)
docker run -it --rm -v "$(pwd):/workspace" mcp-file-operations-server

# Run with HTTP interface
docker run -it --rm -p 3001:3001 -v "$(pwd):/workspace" -e MCP_TRANSPORT=http mcp-file-operations-server

数据载体安装

窗户:

docker run -it --rm -v "C:\MyProject:/workspace" -p 3001:3001 -e MCP_TRANSPORT=http mcp-file-operations-server

Linux/macOS:

docker run -it --rm -v "/home/user/project:/workspace" -p 3001:3001 -e MCP_TRANSPORT=http mcp-file-operations-server

有关全面的Docker设置说明,包括Windows和Linux的本地驱动器挂载,请参阅 医生.md.

速率限制

服务器实施速率限制以防止滥用:

  • 工具:每分钟100个请求
  • 资源:每分钟200个请求
  • 观察操作:每分钟20次操作

速率限制错误包括在错误消息中的句点后重试。

安全功能

路径验证

所有文件路径都经过验证,以防止目录遍历攻击:

  • 没有父目录引用(../)
  • 正确的路径规范化
  • 输入净化

资源保护

  • 所有操作的速率限制
  • 正确的错误处理和记录
  • 所有参数的输入验证
  • 安全的资源清理

进度报告

目录复制等长时间运行的操作提供进度更新:

interface ProgressUpdate {
    token: string | number;
    message: string;
    percentage: number;
}

可以通过操作结果中返回的进度令牌来跟踪进度。

发展

建筑

npm run build

掉毛

npm run lint

格式化

npm run format

测试

npm test

配置

环境变量

变量默认值描述
MCP_TRANSPORTstdio运输方式: stdio 或 http
MCP_HTTP_PORT3001HTTP传输端口

运输选择

  • 工作室:最适合Claude Desktop等MCP客户,直接集成
  • 超文本传输协议:最适合web应用程序、远程访问、开发/测试

服务器可以通过各种设置进行配置:

  • 速率限制:配置请求限制和窗口
  • 进度报告:控制更新频率和详细程度
  • 资源访问:配置资源权限和限制
  • 安全设置:配置路径验证规则
  • 更改跟踪:设置保留期和存储选项
  • 观看设置:配置去抖动时间和递归监视

错误处理

服务器通过提供详细的错误信息 FileOperationError 类和MCP错误代码:

标准MCP错误代码

  • InvalidRequest:参数或请求格式无效
  • MethodNotFound:请求的工具或资源未知
  • InvalidParams:无效参数(例如,路径验证失败)
  • InternalError:服务器端错误

自定义错误类型

  • 文件操作失败
  • 请求频率超限
  • 路径验证错误
  • 资源访问错误

每个错误包括:

  • 特定错误代码
  • 详细错误消息
  • 相关元数据(文件路径、限制等)
  • 开发模式下的堆栈跟踪

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

文件管理TypeScript本地部署流式处理变更跟踪开发工具服务器

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Node.js,换机器要重新装一遍。
  • 需要自备访问 Token,没有凭据没法直接试。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 暂时拿不到访问 Token的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
File Operations MCP Server

MCP World · 本页

0stdio有2 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

File Operations MCP Server 怎么安装?

公开资料给出的安装命令是 npx -y @smithery/cli install @bsmi021/mcp-file-operations-server --client claude,运行环境为 Node.js。装完后按客户端要求写进 MCP 配置,重启客户端生效。

File Operations MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Node.js;保存后完全退出客户端再打开,配置才会生效。

File Operations MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

File Operations MCP Server 需要 API Key 吗?

公开资料标注的认证方式是访问 Token,也就是要先拿到凭据才能连上;凭据只填在自己本地的配置里,不要写进公开仓库。

File Operations MCP Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP