Token导航 LogoToken导航TokenDH.com
Filescrubber MCP logo
AI代理未说明官方级别未说明来源级核验

Filescrubber MCP

MCP Server

一个提供全面文件操作、数据解析和模板处理功能的MCP服务器,适用于数据分析和自动化工作流。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
工作流自动化C#文件管理

安装说明

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

作者 / 组织

MCPRUNNER

提供方

MCPRUNNER

最后核验

2026/5/17 20:19

快速接入

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

详细介绍

文件抓取器MCP(MCP服务器)1.0.0.2

一种模型上下文协议(MCP)服务器,提供全面的文件操作、解析功能和Scriban模板处理。建在。NET 10,支持HTTP和Stdio传输。

测试8

通知

该项目目前正在积极开发中,可能会发生重大变化。功能和API可能会发生变化,在未来的版本中可能会发生重大变化。请自行决定使用。

总结

FileScrubberMCP 是一个功能强大、企业就绪的MCP服务器,它通过全面的文件系统操作、数据解析和模板渲染功能扩展了AI助手。它使AI模型能够与本地和远程文件交互,跨多种格式查询结构化数据,转换内容,并通过Scriban模板生成文档。

关键能力

  • 📁 文件系统操作:读取、写入和列出具有完整元数据的文件,包括时间戳、大小和属性。支持递归目录扫描和灵活的搜索模式。
  • 🔍 多格式解析:使用行业标准查询语言(JSONPath用于JSON/YAML/CSV/Excel,XPath用于XML)从JSON、XML、YAML、CSV和Excel文件中查询和提取数据。
  • 🔄 数据转换:使用带有可选输出的XSLT样式表将XML文档转换为文件。
  • 📝 模板处理:使用JSON数据渲染Scriban(.sbn)模板,以生成报告、文档或任何基于文本的输出。将模板处理为文件或以字符串形式返回。
  • 🌐 HTTP客户端操作:使用自定义标头和JSON有效载荷执行HTTP请求(GET、POST、PUT、PATCH、DELETE、HEAD、OPTIONS)。
  • ⚙️ 工作流程自动化:执行JSON文件中定义的复杂多步骤工作流。将操作链接在一起,在步骤之间传递数据,并自动化整个数据处理管道。
  • 🤖 人工智能集成:内置GitHub Copilot集成,用于工作流中的人工智能分析和内容生成。
  • 🔌 柔性运输:支持HTTP和Stdio传输,与各种MCP客户端和AI平台无缝集成。

理想用例

  • 数据分析:从结构化数据文件(JSON、XML、YAML、CSV、Excel)中查询和提取信息
  • 报告生成:使用Scriban模板从文件列表、数据查询或任何JSON数据创建格式化报告
  • 文件管理:自动化文件操作、目录扫描和内容操作
  • 数据转换:在格式之间转换,使用XSLT转换XML,处理结构化数据
  • API集成:向REST API发出HTTP请求并处理响应
  • 文档:从代码、数据或文件元数据生成文档
  • 工作流程自动化:在声明性JSON工作流中将多个操作链接在一起
  • AI驱动的分析:利用GitHub Copilot进行智能数据分析和内容生成

建筑

建立在 .NET 10 采用简洁的模块化架构:

  • 服务层:文件、解析器、模板和URI操作的业务逻辑
  • 工具层:MCP工具实现将服务暴露给AI模型
  • 依赖注入:对可测试性和可维护性的全面DI支持
  • 结构化日志记录:使用Serilog进行全面的日志记录,用于监控和调试
  • 综合测试:84个单元测试,涵盖边缘情况下的服务和工具

特性

🗂️ 文件操作

  • 读取文件 -从任何路径读取文件内容
  • 写入文件 -通过自动目录创建将内容写入文件
  • 列出文件 -包含元数据(大小、日期、属性)的综合文件列表
  • 搜索模式和递归目录扫描

📄 文件解析和查询

支持多种文件格式,具有强大的查询功能:

  • JSON -保留关键路径的JSONPath查询
  • 可扩展标记语言 -支持命名空间的XPath查询
  • YAML -YAML数据的JSONPath查询
  • CSV -支持头部的JSONPath查询
  • Excel(.xlsx) -JSONPath查询支持多工作表
  • XSLT -XML转换功能(使用带有可选文件输出的XSLT样式表转换XML文档)

📝 Scriban模板处理

  • 流程模板 -使用JSON数据渲染.sbn模板并保存到文件
  • 渲染模板 -渲染模板并以字符串形式返回输出
  • 支持循环、条件、过滤器和自定义函数
  • 包括文件列表报告的示例模板

🌐 HTTP/URI操作

对REST API集成的完全HTTP客户端支持:

  • 获取、发布、放置、修补、删除 -标准HTTP方法
  • 头部,选项 -HTTP元数据操作
  • 自定义标头和JSON有效载荷
  • 解析和验证URI
  • 提取URI组件(方案、主机、路径、查询、片段)

⚙️ 工作流程自动化

执行复杂的多步骤工作流,步骤之间有数据流:

  • 顺序执行 -通过上下文共享按顺序运行步骤
  • 数据转换管道 -链文件操作、HTTP请求、解析和模板
  • 占位符参考 -使用 {StepName.OutputName} 参考前一步的输出
  • 条件执行 -动态启用/禁用步骤
  • GitHub复制集成 -工作流程中基于人工智能的分析和内容生成
  • Documents/WORKFLOW_SERVICE_README.md 详情

快速开始

先决条件

  • .NET 10.0 SDK或更高版本
  • Windows、Linux或macOS
备注:从升级。网9?请参阅 迁移指南 有关详细的升级说明。

安装

# Clone the repository
git clone 
cd filescrubberMCP

# Restore dependencies
dotnet restore

# Build the project
dotnet build

# Run tests
dotnet test

运行服务器

HTTP传输(默认)

dotnet run

服务器将于启动 http://localhost:5000 (或配置的端口)。

标准运输

$env:FILESCRUBBER_MCP_TRANSPORT="Stdio"
dotnet run

或者使用提供的PowerShell脚本:

# HTTP mode
.\Scripts\Start-Http.ps1

# Stdio mode
.\Scripts\Start-Stdio.ps1

配置

应用程序参数

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "ConnectionStrings": {
    "DefaultConnection": "Data Source=app.db"
  },
  "Cors": {
    "AllowedOrigins": ["http://localhost:3000"],
    "AllowedMethods": ["GET", "POST", "PUT", "DELETE"],
    "AllowedHeaders": ["*"],
    "ExposedHeaders": [],
    "AllowCredentials": true
  }
}

环境变量

  • FILESCRUBBER_MCP_TRANSPORT -设置为 "Http""Stdio" (默认值: "Http")
  • FILESCRUBBER_MCP_LOG_DIR -日志文件的自定义目录(默认: Logs 在应用程序目录中)
  • FILESCRUBBER_FILE_DIRECTORY -文件操作的根目录。设置后,所有相对文件路径都将相对于此目录进行解析。对于Docker部署设置工作目录很有用。(默认:当前工作目录)

MCP工具

文件工具

fscrub_file_read

读取文件的内容。

参数:

  • filePath (string)-要读取的文件的路径

例子:

{
  "filePath": "C:\\Projects\\data.txt"
}

fscrub_file_write

将内容写入文件。

参数:

  • filePath (string)-要写入的文件的路径
  • content (string)-要写入文件的内容

例子:

{
  "filePath": "C:\\Projects\\output.txt",
  "content": "Hello, World!"
}

fscrub_file_list

列出包含元数据的目录中的文件。

参数:

  • directoryPath (string)-要搜索的目录
  • searchPattern (字符串,可选)-文件模式(默认值:“\*”)
  • recursive (bool,可选)-搜索子目录(默认值:true)

例子:

{
  "directoryPath": "C:\\Projects",
  "searchPattern": "*.cs",
  "recursive": true
}

解析器工具

fscrub_parser_search_json

使用JSONPath搜索JSON文件。

参数:

  • jsonFilePath (string)-JSON文件的路径
  • jsonPath (string)-JSONPath查询(例如,“$.users\[\*\].email”)
  • indented (bool,可选)-格式化输出(默认值:true)
  • showKeyPaths (bool,可选)-在结果中包含路径(默认值:false)

fscrub_parser_search_xml

使用XPath搜索XML文件。

参数:

  • xmlFilePath (string)-XML文件的路径
  • xPath (string)-XPath查询(例如,“//user/@email”)
  • indented (bool,可选)-格式化输出(默认值:true)
  • showKeyPaths (bool,可选)-在结果中包含路径(默认值:false)

fscrub_parser_search_yaml

使用JSONPath搜索YAML文件。

参数:

  • yamlFilePath (string)-YAML文件的路径
  • jsonPath (string)-JSONPath查询
  • indented (bool,可选)-格式化输出(默认值:true)
  • showKeyPaths (bool,可选)-在结果中包含路径(默认值:false)

fscrub_parser_search_csv

使用JSONPath搜索CSV文件。

参数:

  • csvFilePath (string)-CSV文件的路径
  • jsonPath (string)-JSONPath查询
  • hasHeaderRecord (bool,可选)-第一行是标题(默认值:true)
  • ignoreBlankLines (bool,可选)-忽略空白行(默认值:true)

fscrub_parser_search_excel

使用JSONPath搜索Excel文件。

参数:

  • excelFilePath (string)-Excel文件(.xlsx)的路径
  • jsonPath (string)-JSONPath查询(例如,“$.Sheet1\[\*\].ColumnName”)

fscrub_parser_transform_xml

使用XSLT样式表转换XML。

参数:

  • xmlFilePath (string)-XML文件的路径
  • xsltFilePath (string)-XSLT样式表的路径
  • destinationFilePath (字符串,可选)-输出文件路径

Scriban模板工具

fscrub_scriban_process_template

使用JSON数据处理Scriban模板并保存到文件。

参数:

  • templateFilePath (string)-.sbn模板文件的路径
  • jsonData (string)-模板的JSON数据
  • outputFilePath (string)-输出文件路径

例子:

{
  "templateFilePath": "Examples/file_list_report.sbn",
  "jsonData": "{\"title\":\"Report\",\"items\":[{\"name\":\"Item1\"}]}",
  "outputFilePath": "output/report.md"
}

fscrub_scriban_render_template

渲染Scriban模板并返回输出。

参数:

  • templateFilePath (string)-.sbn模板文件的路径
  • jsonData (string)-模板的JSON数据

URI工具

fscrub_uri_get

向指定的URI发送GET请求。

参数:

  • uri (string)-用于向其发送GET请求的URI
  • headersJson (string,可选)-头部的JSON对象

fscrub_uri_post

向指定的URI发送POST请求。

参数:

  • uri (string)-用于向其发送POST请求的URI
  • jsonBody (字符串,可选)-请求的JSON正文
  • headersJson (string,可选)-头部的JSON对象

fscrub_uri_put

向指定的URI发送PUT请求。

参数:

  • uri (string)-用于向其发送PUT请求的URI
  • jsonBody (字符串,可选)-请求的JSON正文
  • headersJson (string,可选)-头部的JSON对象

fscrub_uri_patch

向指定的URI发送PATCH请求。

参数:

  • uri (string)-用于向其发送PATCH请求的URI
  • jsonBody (字符串,可选)-请求的JSON正文
  • headersJson (string,可选)-头部的JSON对象

fscrub_uri_delete

向指定的URI发送DELETE请求。

参数:

  • uri (string)-用于向其发送DELETE请求的URI
  • headersJson (string,可选)-头部的JSON对象

fscrub_uri_head

向指定的URI发送HEAD请求。

参数:

  • uri (string)-URI,用于向其发送HEAD请求
  • headersJson (string,可选)-头部的JSON对象

fscrub_uri_options

向指定的URI发送OPTIONS请求。

参数:

  • uri (string)-用于向其发送OPTIONS请求的URI
  • headersJson (string,可选)-头部的JSON对象

工作流工具

fscrub_workflow_execute

执行JSON文件中定义的多步骤工作流。

参数:

  • workflowFilePath (string)-工作流JSON文件的路径

例子:

{
  "workflowFilePath": ".fscrub/workflows/data-pipeline.json"
}

工作流功能:

  • 通过数据传递顺序执行步骤
  • 参考前一步的输出 {StepName.OutputName}
  • 支持所有文件、解析器、模板和URI操作
  • 用于AI分析的GitHub Copilot集成
  • 启用/禁用单个步骤
  • 详细的执行指标和错误处理

Documents/WORKFLOW_SERVICE_README.md 用于工作流定义格式和示例。

AI集成工具

fscrub_ask_github_copilot

向GitHub Copilot发送提示,以进行AI驱动的分析或内容生成。

参数:

  • prompt (string)-发送到GitHub Copilot的提示

例子:

{
  "prompt": "Analyze the following employee data and provide insights:\n\n{PreviousStep.Content}"
}

注: 此工具主要用于工作流中,但可以独立调用。

模板示例

Examples/ 目录包含示例Scriban模板:

文件列表报告模板

# File Listing Report

**Directory:** {{ directoryPath }}
**Total Files:** {{ fileCount }}

{{ for file in files }}
- {{ file.file_name }} ({{ file.size_in_bytes }} bytes)
{{ end }}

用法示例

  1. 列出文件:
fscrub_file_list("C:\\Projects", "*.cs", true)
  1. 带有输出的流程模板:
fscrub_scriban_process_template(
  "Examples/file_list_report.sbn",
  ,
  "report.md"
)

Examples/SCRIBAN_TEMPLATES_README.md 了解更多详情。

项目结构

filescrubberMCP/
├── Configuration/          # Configuration providers
├── Examples/              # Sample files and templates
│   ├── *.json            # Sample JSON/XML/YAML files
│   ├── *.sbn             # Scriban template examples
│   └── SCRIBAN_TEMPLATES_README.md
├── Extensions/            # Service collection extensions
├── Interfaces/            # Service and tool interfaces
├── Logs/                  # Application logs
├── Models/                # Data models
├── Scripts/               # PowerShell startup scripts
├── Services/              # Business logic services
│   ├── FileService.cs
│   ├── ParserService.cs
│   ├── TemplateService.cs
│   └── UriService.cs
├── Tests/                 # Unit tests
│   ├── Services/
│   └── Tools/
├── Tools/                 # MCP tool implementations
│   ├── FileTools.cs
│   ├── ParserTools.cs
│   ├── TemplateTools.cs
│   └── UriTools.cs
├── Program.cs             # Application entry point
├── appsettings.json       # Configuration
└── README.md

发展

运行测试

# Run all tests
dotnet test

# Run specific test suite
dotnet test --filter "FullyQualifiedName~FileServiceTests"

# Run with coverage
dotnet test /p:CollectCoverage=true

添加新工具

  1. 在中创建界面 Interfaces/
  2. 实施服务 Services/
  3. 在中实施MCP工具 Tools/
  4. 注册 Program.csServiceCollectionExtensions.cs
  5. 在中添加测试 Tests/

代码风格

  • 对I/O操作使用async/await
  • 遵循依赖注入模式
  • 使用Serilog进行全面测井
  • 结构化错误处理
  • XML文档注释

测试

该项目包括全面的单元测试:

  • 总共84次测试
  • 具有模拟依赖关系的服务层测试
  • 使用模拟服务进行工具层测试
  • 边缘情况和错误场景
  • 集成场景

Tests/TEMPLATE_TESTS_SUMMARY.md 查看详细的测试覆盖率。

依赖项

核心

  • .NET 10.0
  • 模型上下文协议。AspNetCore(0.1.0-评论.13)

日志记录

  • Serilog。AspNetCore(9.0.0)

文件处理

  • ClosedXML(0.105.0)-Excel文件
  • CsvHelper(33.1.0)-CSV文件
  • YamlDotNet(16.3.0)-YAML文件
  • Newtonsoft。Json(13.0.3)-Json处理

模板处理

  • Scriban(5.10.0)-模板引擎

测试

  • xUnit(2.9.3)
  • 月环比(4.20.72)
  • 微软。网。测试。私人有限公司(18.0.1)

日志记录

日志被写入 Logs/ 目录(或由指定的自定义目录 FILESCRUBBER_MCP_LOG_DIR 环境变量):

  • HTTP模式: Logs/filescrubber-mcp-http-YYYYMMDD.log
  • 标准模式: Logs/filescrubber-mcp-stdio-YYYYMMDD.log

日志级别可以在中配置 appsettings.json.

错误处理

所有MCP工具都返回结构化的JSON响应:

成功:

{
  "success": true,
  "data": { ... }
}

错误:

{
  "success": false,
  "error": "Error message"
}

贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 添加新功能的测试
  5. 确保所有测试通过
  6. 提交拉取请求

许可证

\[您的许可证在这里\]

支持

对于问题、疑问或贡献,请 打开一个问题.

致谢

目录标签

目录标签

工作流自动化C#文件管理本地部署数据解析模板处理AI集成

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP