Token导航 LogoToken导航

MCP Server · 安全风控

Fs MCP Server

一个安全的模型上下文协议(MCP)服务器实现,用于通过标准化接口执行文件系统操作,包括文件读写、目录管理、内容搜索等,所有操作限制在配置允许的目录内以确保安全。

HTTP官方级别未说明来源级核验工具 0
安全协议Rust服务器实现

快速开始

公开资料没有提供安装命令,按仓库或官方文档接入。
作者 / 组织
colinrozzi
提供方
colinrozzi

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

2 个

MCP World

选型结论

Fs MCP Server 属于安全风控类 MCP Server,公开资料标注 0 个工具,通过HTTP 远程服务接入,客户端适配情况以官方文档为准,没有现成的安装命令;接入前先确认权限范围。

分类

安全风控

传输方式

HTTP

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

公开目录没有给出安装命令,需要按仓库 README安装;下面按同类条目的通用流程说明。

远程服务不用写启动命令,在客户端 MCP 配置里填服务地址即可,具体字段按官方文档填写。

上手步骤

  1. 1

    确认访问方式

    这是HTTP 远程服务,本地不用装依赖;先确认服务地址、账号归属和额度,再决定接哪个客户端。

  2. 2

    获取服务

    公开目录没有给出安装命令,按仓库 README里的步骤安装或获取服务。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填服务地址;需要授权的先完成登录,再回到客户端刷新。

  4. 4

    验证是否可用

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

接入前确认

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

公开资料仍需确认:安装命令

详细介绍

文件系统MCP服务器

用于文件系统操作的安全模型上下文协议(MCP)服务器实现。

概述

文件系统MCP服务器提供了一个标准化的接口,用于通过模型上下文协议与本地文件系统进行交互。它允许客户端以安全和可控的方式执行常见的文件操作,如列出目录、读取文件和搜索文件内容。

特性

服务器提供以下MCP工具:

  1. 列表:列出包含元数据的文件和目录
  2. 读:使用各种编码选项读取文件内容
  3. 写:创建或更新包含内容的文件
  4. 创建目录:创建目录
  5. 删除:删除文件或目录
  6. 复制:复制文件或目录
  7. 移动:移动或重命名文件或目录
  8. 信息:获取详细的文件/目录信息
  9. 搜索:搜索文件内容(类似grep的功能)
  10. list_allowed_dirs:列出服务器上配置的所有允许的目录
  11. 编辑:对文件进行部分编辑,而不重写整个内容

为了安全起见,所有操作都限制在可配置的允许目录中。

安全

所有文件系统操作都限制在一组可配置的允许目录中。服务器验证路径以防止目录遍历攻击和其他安全问题。访问允许目录之外的文件的操作将被拒绝,并显示相应的错误消息。

路径要求

提供给服务器的所有文件和目录路径必须指定为 完全绝对路径。这些路径必须位于配置的允许访问的目录之一中。

安装

先决条件:

  • Rust工具链(1.70.0或更高版本)
  • 货物包装经理

要构建服务器,请执行以下操作:

cargo build --release

用法

运行服务器

# Run with current directory as the allowed directory
./target/release/fs-mcp-server

# Specify allowed directories (comma-separated)
./target/release/fs-mcp-server --allowed-dirs /path/to/dir1,/path/to/dir2

# Use a configuration file listing allowed directories
./target/release/fs-mcp-server --config-file /path/to/config.txt

# Set maximum file size
./target/release/fs-mcp-server --max-file-size 5242880  # 5MB

配置文件

您可以在配置文件中指定允许的目录,每行一个目录:

# This is a comment
/path/to/directory1
/path/to/directory2
/another/path

环境变量

可以使用以下环境变量配置服务器:

  • FS_ALLOWED_DIRS:以逗号分隔的文件系统操作允许目录列表
  • FS_CONFIG_FILE:列出允许目录的配置文件的路径
  • FS_MAX_FILE_SIZE:读取操作的最大文件大小(以字节为单位)
  • FS_REQUEST_TIMEOUT:请求超时(秒)
  • FS_LOG_LEVEL:日志级别(错误、警告、信息、调试、跟踪)
  • FS_LOG_FILE:日志文件路径

例子:

FS_ALLOWED_DIRS=/data,/home/user/docs FS_LOG_LEVEL=debug ./target/release/fs-mcp-server

协议工具

服务器提供以下MCP工具:

列表

列出指定路径下的文件和目录。

参数:

  • path:列出文件的目录的完整路径
  • pattern:用于过滤文件的可选glob模式(默认值:“\*”)
  • recursive:是否递归列出文件(默认值:false)
  • include_hidden:是否包含隐藏文件(默认值:false)
  • metadata:是否包含文件元数据(默认值:true)
读

读取支持不同编码和部分读取的文件内容。

参数:

  • path:要读取的文件的完整路径
  • encoding:文件编码(utf8、base64、二进制)(默认:utf8)
  • start_line:部分读取的起始行(0索引)
  • end_line:部分读取的结束行(包括)
  • max_size:要读取的最大字节数(默认值:1MB)
搜索

在文件内容中搜索匹配的模式(类似grep的功能)。

参数:

  • root_path:从中开始搜索的根目录的完整路径
  • pattern:要在文件中搜索的文本模式
  • regex:是否将模式视为正则表达式(默认值:false)
  • file_pattern:可选的glob模式,用于过滤要搜索的文件(默认值:“\*”)
  • recursive:是否递归搜索目录(默认值:true)
  • case_sensitive:搜索是否应区分大小写(默认值:false)
  • max_results:要返回的最大结果数(默认值:100)
  • max_file_size:要搜索的最大文件大小(默认值:10MB)
  • context_lines:要包含的上下文行数(默认值:0)
  • timeout_secs:搜索的最长时间(默认值:30秒)
编辑

对文件执行部分编辑,而无需重写整个内容。

参数:

  • path:要编辑的文件的完整路径
  • operations:要执行的编辑操作列表(按顺序)

- 更换操作: - type:“替换” - find:要查找的文本(完全匹配) - replace:插入文本作为替换 - occurrence:要替换哪个事件(从0开始,全部为-1)(默认值:0) - case_sensitive:搜索是否区分大小写(默认值:true) - 插入操作: - type:“插入” - position:要插入的字符位置(从0开始) - content:要插入的文本 - 删除操作: - type:“删除” - start:起始字符位置(从0开始,包括0) - end:结束字符位置(从0开始,不包括) - 更换线路操作: - type:“replace_lines” - start_line:起始行号(从0开始,包括0) - end_line:结束行号(从0开始,包括0) - content:插入文本作为替换

  • create_if_missing:如果文件不存在,则创建该文件(默认值:false)
  • backup:在编辑之前创建原始文件的备份(默认值:false)

例子:

{
  "path": "/path/to/file.txt",
  "operations": [
    {
      "type": "replace",
      "find": "hello",
      "replace": "hello world",
      "occurrence": 0,
      "case_sensitive": true
    },
    {
      "type": "insert",
      "position": 100,
      "content": "new text at position 100"
    },
    {
      "type": "replace_lines",
      "start_line": 5,
      "end_line": 7,
      "content": "new line 6\nnew line 7\nnew line 8"
    }
  ],
  "backup": true
}
list_allowed_dirs

列出服务器已配置为允许访问的所有目录。

参数:

  • 无

客户端集成

要将此服务器与MCP客户端一起使用:

  1. 导入适用于您语言的MCP客户端库
  2. 使用stdio传输连接到服务器
  3. 使用MCP协议调用可用工具

示例客户端代码(使用Rust MCP客户端):

use mcp_client::{ClientBuilder, transport::StdioTransport};
use serde_json::json;

#[tokio::main]
async fn main() -> Result {
    // Path to the server executable
    let server_path = "path/to/fs-mcp-server";
    
    // Create and connect to server
    let (transport, mut receiver) = StdioTransport::new(server_path, vec![]);
    
    let client = ClientBuilder::new("fs-client", "0.1.0")
        .with_transport(transport)
        .build()?;
    
    // Start message handling
    let client_for_handler = client.clone();
    tokio::spawn(async move {
        while let Some(message) = receiver.recv().await {
            if let Err(e) = client_for_handler.handle_message(message).await {
                eprintln!("Error handling message: {}", e);
            }
        }
    });
    
    // Initialize the client
    let init_result = client.initialize().await?;
    println!("Connected to: {} v{}", init_result.server_info.name, init_result.server_info.version);
    
    // List all allowed directories
    let allowed_dirs_result = client.call_tool("list_allowed_dirs", &json!({})).await?;
    println!("Allowed directories: {:?}", allowed_dirs_result);
    
    // List files in a directory
    let list_result = client.call_tool("list", &json!({
        "path": "/path/to/directory"
    })).await?;
    
    // Process result
    println!("List result: {:?}", list_result);
    
    // Edit a file by replacing text
    let edit_result = client.call_tool("edit", &json!({
        "path": "/path/to/file.txt",
        "operations": [
            {
                "type": "replace",
                "find": "TODO",
                "replace": "DONE",
                "occurrence": -1
            }
        ],
        "backup": true
    })).await?;
    
    // Process result
    println!("Edit result: {:?}", edit_result);
    
    // Shutdown
    client.shutdown().await?;
    
    Ok(())
}

发展

项目结构

  • src/main.rs:服务器入口点和初始化
  • src/tools/:工具实现(列表、读取、搜索、编辑等)
  • src/utils/:实用功能(路径验证等)

添加新工具

要添加新的文件系统工具,请执行以下操作:

  1. 在中创建新文件 src/tools/ 为您的工具
  2. 实现工具的模式并执行功能
  3. 将该工具添加到中的服务器构建器 build_server() 在main.rs中

为不同平台构建

# Build for Linux
cargo build --release --target x86_64-unknown-linux-gnu

# Build for macOS
cargo build --release --target x86_64-apple-darwin

# Build for Windows
cargo build --release --target x86_64-pc-windows-msvc

许可证

麻省理工学院

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

文件系统操作Rust本地部署安全协议服务器实现文件管理目录管理

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

典型使用场景

资产与漏洞排查

批量查询资产和漏洞信息,输出待修清单。

日志审计

从日志里筛出异常访问和高风险操作。

合规检查

按规则核对配置项,记录不符合项。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 走远程地址,接入方不用在本地装运行环境。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • 公开资料没有可直接复制的安装命令,第一次接入要自己找入口。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在安全风控场景里让模型直接调用外部能力的人。
  • 愿意照着官方文档一步步配环境的人。

不太适合

  • 希望一条命令就装好、不想看文档的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

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

MCP World · 本页

0HTTP未标注2 个2026-05-17
Modelcontextprotocol C22988b0

MCP World

0stdio有1 个2026-05-17
Hexstrike AI

MCP World

0stdio有1 个2026-05-17
Cyber Strike AI

MCP World

75未说明未标注1 个2026-05-17
MCP Scan

MCP World

0stdio有1 个2026-05-17

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

常见问题

5 条

Fs MCP Server 怎么安装?

公开目录没有给出可以直接复制的安装命令,需要按仓库 README里的步骤安装;装好后写进客户端的 MCP 配置再重启。

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

它是HTTP 远程服务,在客户端的 MCP 配置里填服务地址即可,不用本地装依赖;需要授权或 API Key 的,先在官方页面拿到凭据再填。

Fs MCP Server 收费吗?

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

Fs MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Fs MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;支持远程 MCP 地址的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP