首页
学习
活动
专区
圈层
工具
发布
MCP广场 >详情页
MCP文件系统服务器2026-10-23261分享添加福利群:解决AI开发者的「MCP实战痛点」
用于文件系统操作的Go语言服务器,实现了模型上下文协议(MCP)。
By mark3labs
2026-10-23261
github
详情内容

MCP 文件系统服务器

该 MCP 服务器通过模型上下文协议(MCP)提供对本地文件系统的安全访问。

组件

工具

文件操作

  • read_file

    • 从文件系统中读取文件的完整内容
    • 参数:path(必填):要读取的文件路径
  • read_multiple_files

    • 在一次操作中读取多个文件的内容
    • 参数:paths(必填):要读取的文件路径列表
  • write_file

    • 创建新文件或覆盖现有文件的新内容
    • 参数:path(必填):写入文件的路径,content(必填):要写入文件的内容
  • copy_file

    • 复制文件和目录
    • 参数:source(必填):文件或目录的源路径,destination(必填):目标路径
  • move_file

    • 移动或重命名文件和目录
    • 参数:source(必填):文件或目录的源路径,destination(必填):目标路径
  • delete_file

    • 从文件系统中删除文件或目录
    • 参数:path(必填):要删除的文件或目录路径,recursive(可选):是否递归删除目录(默认:false)

目录操作

  • list_directory

    • 获取指定路径中所有文件和目录的详细列表
    • 参数:path(必填):要列出的目录路径
  • create_directory

    • 创建新目录或确保目录存在
    • 参数:path(必填):要创建的目录路径
  • tree

    • 返回目录结构的层次化 JSON 表示
    • 参数:path(必填):要遍历的目录路径,depth(可选):最大遍历深度(默认:3),follow_symlinks(可选):是否跟随符号链接(默认:false)

搜索和信息

  • search_files

    • 递归搜索与模式匹配的文件和目录
    • 参数:path(必填):搜索的起始路径,pattern(必填):与文件名匹配的搜索模式
  • get_file_info

    • 检索文件或目录的详细元数据
    • 参数:path(必填):文件或目录的路径
  • list_allowed_directories

    • 返回该服务器允许访问的目录列表
    • 参数:无

特性

  • 对指定目录的安全访问
  • 路径验证以防止目录遍历攻击
  • 带有安全检查的符号链接解析
  • MIME 类型检测
  • 支持文本、二进制和图像文件
  • 内联内容和 base64 编码的大小限制

入门指南

安装

使用 Go 安装

go install github.com/mark3labs/mcp-filesystem-server@latest

使用

作为独立服务器

启动 MCP 服务器并指定允许的目录:

mcp-filesystem-server /path/to/allowed/directory [/another/allowed/directory ...]

作为 Go 项目中的库

package main

import (
	"log"
	"os"

	"github.com/mark3labs/mcp-filesystem-server/filesystemserver"
)

func main() {
	// 创建新的文件系统服务器并指定允许的目录
	allowedDirs := []string{"/path/to/allowed/directory", "/another/allowed/directory"}
	fs, err := filesystemserver.NewFilesystemServer(allowedDirs)
	if err != nil {
		log.Fatalf("Failed to create server: %v", err)
	}

	// 处理请求
	if err := fs.Serve(); err != nil {
		log.Fatalf("Server error: %v", err)
	}
}

与模型上下文协议一起使用

要将此服务器与支持 MCP 的应用程序集成:

{
  "mcpServers": {
    "filesystem": {
      "command": "mcp-filesystem-server",
      "args": ["/path/to/allowed/directory", "/another/allowed/directory"]
    }
  }
}

Docker

使用 Docker 运行

您可以使用 Docker 运行文件系统 MCP 服务器:

docker run -i --rm ghcr.io/mark3labs/mcp-filesystem-server:latest /path/to/allowed/directory

与 MCP 的 Docker 配置

要将 Docker 镜像与支持 MCP 的应用程序集成:

{
  "mcpServers": {
    "filesystem": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/mark3labs/mcp-filesystem-server:latest",
        "/path/to/allowed/directory"
      ]
    }
  }
}

许可证

详情请参阅 LICENSE 文件。

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档