Back to MCP Integrations

Golang Filesystem Server MCP

Featured

MCP integration for Golang Filesystem Server MCP within. Connect external services and extend Claude's capabilities.

0 installsAuthor: mark3labs

Installation

curl -fsSL https://claudekit.xyz/i/golang-filesystem-server | bash

Description

Этот MCP сервер предоставляет безопасный доступ к локальной файловой системе через Model Context Protocol, предлагая комплексные операции с файлами и директориями с валидацией путей и контролем безопасности.

Установка

Go Install

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

Standalone сервер

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

Docker

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

Go библиотека

package main

import (
	"log"
	"os"

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

func main() {
	// Create a new filesystem server with allowed directories
	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)
	}

	// Serve requests
	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 MCP конфигурация

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

Docker с монтированием тома

{
  "mcpServers": {
    "filesystem": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "--volume=/allowed/directory/in/host:/allowed/directory/in/container",
        "ghcr.io/mark3labs/mcp-filesystem-server:latest",
        "/allowed/directory/in/container"
      ]
    }
  }
}

Доступные инструменты

ИнструментОписание
read_fileПрочитать полное содержимое файла из файловой системы
read_multiple_filesПрочитать содержимое нескольких файлов за одну операцию
write_fileСоздать новый файл или перезаписать существующий файл новым содержимым
copy_fileКопировать файлы и директории
move_fileПереместить или переименовать файлы и директории
delete_fileУдалить файл или директорию из файловой системы
modify_fileОбновить файл путем поиска и замены текста с использованием строкового поиска или regex
list_directoryПолучить подробный список всех файлов и директорий в указанном пути
create_directoryСоздать новую директорию или убедиться, что директория существует
treeВозвращает иерархическое JSON представление структуры директории
search_filesРекурсивный поиск файлов и директорий, соответствующих паттерну
search_within_filesПоиск текста в содержимом файлов в деревьях директорий
get_file_infoПолучить подробные метаданные о файле или директории
list_allowed_directoriesВозвращает список директорий, к которым данному серверу разрешен доступ

Возможности

  • Безопасный доступ к указанным директориям
  • Валидация путей для предотвращения атак обхода директорий
  • Разрешение символических ссылок с проверками безопасности
  • Определение MIME типов
  • Поддержка текстовых, бинарных и графических файлов
  • Ограничения размера для встроенного содержимого и base64 кодирования

Ресурсы

Примечания

Этот сервер предоставляет file:// ресурсы для доступа к файлам и директориям в локальной файловой системе. Создан на Go и поддерживает настраиваемые разрешенные директории для повышенной безопасности.