Token导航 LogoToken导航TokenDH.com
Surgical Fs MCP logo
运维云端未说明官方级别未说明来源级核验

Surgical Fs MCP

MCP Server

一个提供空白字符容忍的文件编辑工具的C# MCP服务器,支持6种匹配策略和ACID事务。

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
C#Claude云端部署Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

FreeOnlineUser

提供方

FreeOnlineUser

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

______________________________________________________________________

许可证:mit 标签:

  • 主控程序
  • 克劳德
  • 文件系统
  • 窗户
  • Dotnet

语言:

  • 英语

______________________________________________________________________

手术文件系统MCP服务器(C#)

一个C#MCP服务器,提供容忍空白的文件编辑工具。

ClipMicro战斗测试代码的直接移植,包括:

  • 6策略匹配级联 UpdateFindReplaceWithResult
  • ACID备份/回滚 BackupManager

相同的代码。同样的行为。没有翻译错误。

快速入门(预构建二进制文件)

从下载 release/ 文件夹:

  • surgical-fs-mcp.exe -独立可执行文件
  • surgical-fs-mcp.dll -用于 dotnet
  • ModelContextProtocol.dll -所需依赖关系

无需构建-只需配置Claude Desktop(见下文)。

特性

6-策略容错匹配

直接从ClipMicro移植 UpdateFindReplaceWithResult:

战略它处理什么
1.精确匹配完美输入
2.行尾归一化CRLF vs LF vs CR
3.修剪空白前导/尾随空白
4.选项卡规范化选项卡→ 4 空间
5.模糊空白折叠 \s+ → 单行空格
6.部分行匹配单行子字符串匹配

ACID事务支持

直接从ClipMicro移植 BackupManager:

  • 操作前备份:文件已备份到 .surgicalfs_backup_YYYYMMDD_HHMMSS/
  • 自动回滚:在任何故障时,原始文件都会恢复
  • 新文件跟踪:在失败的交易中创建的文件将被删除
  • 新目录跟踪:删除失败事务期间创建的空目录
  • 批处理事务:将多个编辑作为一个原子操作

工具

工具说明
SurgicalEdit查找/替换为6策略匹配+ACID
EditLines用数字+ACID替换行
InsertLines在行插入,不替换+ACID
DeleteLines删除行范围+ACID
PreviewEdit显示差异而不应用(只读)
ReadFileLines读取带有行号的文件(只读)
BatchEdit作为单个ACID事务进行多次编辑

安装

先决条件

  • .NET 8.0 SDK
  • 克劳德桌面版

构建

cd C:\Users\bradc\Documents\ClaudeWorkspace\Projects\surgical-fs-mcp
dotnet restore
dotnet build --configuration Release

配置允许的目录

编辑 SurgicalFsMcp.cs 并修改 AllowedDirectoriesPathValidator 类别:

private static readonly List AllowedDirectories = new()
{
    Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments),
    Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Projects"),
    @"C:\Your\Custom\Path",
};

更改后重建。

配置Claude桌面

编辑 %APPDATA%\Claude\claude_desktop_config.json:

选项1:使用dotnetrun(更易于开发)

{
  "mcpServers": {
    "surgical_fs": {
      "command": "dotnet",
      "args": ["run", "--project", "C:\\Users\\bradc\\Documents\\ClaudeWorkspace\\Projects\\surgical-fs-mcp\\SurgicalFsMcp.csproj"]
    }
  }
}

选项2:使用编译的exe(更快启动)

{
  "mcpServers": {
    "surgical_fs": {
      "command": "C:\\Users\\bradc\\Documents\\ClaudeWorkspace\\Projects\\surgical-fs-mcp\\bin\\Release\\net8.0\\surgical-fs-mcp.exe"
    }
  }
}

配置后重新启动Claude Desktop。

使用示例

单次手术编辑

SurgicalEdit(
    path: "config.json",
    find: '"debug": false',
    replace: '"debug": true'
)

退货: ✅ Success: Edit applied using 'exact_match' matching

编辑前预览

PreviewEdit(
    path: "config.json",
    find: '"debug": false',
    replace: '"debug": true'
)

返回一个差异,显示会发生什么变化。

批量编辑(ACID事务)

BatchEdit(edits_json: '[
    {"path": "file1.cs", "find": "oldMethod", "replace": "newMethod"},
    {"path": "file2.cs", "find": "oldMethod", "replace": "newMethod"},
    {"path": "file3.cs", "find": "oldMethod", "replace": "newMethod"}
]')

如果任何编辑失败,所有更改都会自动回滚。

基于行的编辑

ReadFileLines(path: "code.cs", start_line: 50, end_line: 60)
EditLines(path: "code.cs", start_line: 52, end_line: 55, new_content: "// new code here")

ACID回滚的工作原理

  1. 在任何修改之前:将原始文件内容复制到备份目录
  2. 运行期间:更改将应用于原始文件
  3. 关于成功:备份目录已删除
  4. 出现故障时:

- 从备份中恢复原始内容 - 任何新创建的文件都将被删除 - 任何新创建的空目录都将被删除 - 错误消息包括“回滚”确认

安全

  • 根据允许的目录进行路径验证
  • 目录遍历(..)封锁了
  • 强制UTF-8编码
  • 备份目录已自动清理

学分

  • 6种策略匹配:ClipMicro的直接端口 UpdateFindReplaceWithResult
  • ACID备份系统:来自ClipMicro的直接端口 BackupManager
  • 原始ClipMicro: ClipMicro.com

目录标签

目录标签

C#Claude云端部署文件编辑本地部署MCP服务器ACID事务空白字符处理批量编辑

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP