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

MCP File Tools

MCP Server

@modelcontextprotocol/inspector

MCP File Tools 是一个支持22种编码自动检测与转换的文件操作服务器,特别适用于处理非UTF-8编码的遗留文件,确保AI助手能够正确读写各类历史文件而不损坏数据。

工具数

21

提示词数

0

GitHub Stars

12

资源数

0
GoClaude云端部署Claude DesktopClaudeCursor

安装说明

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

作者 / 组织

dimitar-grigorov

提供方

dimitar-grigorov

最后核验

2026/5/17 20:21

运行时

Node.js

快速接入

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

命令预览

npx @modelcontextprotocol/inspector go run ./cmd/mcp-file-tools -- /path/to/allowed/dir

详细介绍

MCP文件工具

![Go Report Card](https://goreportcard.com/report/github.com/dimitar-grigorov/mcp-file-tools) ![Release](https://github.com/dimitar-grigorov/mcp-file-tools/releases/latest) ![License: GPL-3.0](LICENSE) ![MCP Registry](https://registry.modelcontextprotocol.io/?search=mcp-file-tools)

克劳德看到 Настройки --不是 ????Íàñòðîéêè.

MCP服务器,用于支持非UTF-8编码的文件操作。自动检测和转换22种编码(西里尔文、Windows-125x、ISO-8859、KOI8、UTF-16),这样AI助手就可以在不损坏数据的情况下读写旧文件。

非常适合: Delphi/Pascal项目、遗留的VB6应用程序、旧的PHP/HTML网站、非UTF-8文本的配置文件。

它的作用

提供21个工具,用于自动编码转换的文件操作:

支持的编码(共22种):

  • Unicode: UTF-8、UTF-16LE、UTF-16BE(带UTF-16和UTF-32的BOM检测)
  • 西里尔文: Windows-1251、KOI8-R、KOI8-U、CP866、ISO-8859-5
  • 西欧: Windows-1252、ISO-8859-1、ISO-8859-15
  • 中欧: Windows-1250,ISO-8859-2
  • 希腊语: Windows-1253,ISO-8859-7
  • 土耳其的: Windows-1254,ISO-8859-9
  • 其他: 希伯来语(1255)、阿拉伯语(1256)、波罗的海语(1257)、越南语(1258)、泰语(874)

TOOLS.md 详细参数和示例。

安全: 所有操作仅限于允许的目录。

安装

MCP注册表

此服务器列在 MCP官方登记处 为了发现。

Windows x64

注: 在中运行这些命令 PowerShell不在CMD中。

# Download
mkdir -Force "$env:LOCALAPPDATA\Programs\mcp-file-tools"
iwr "https://github.com/dimitar-grigorov/mcp-file-tools/releases/latest/download/mcp-file-tools_windows_amd64.exe" -OutFile "$env:LOCALAPPDATA\Programs\mcp-file-tools\mcp-file-tools.exe"
# Install with Claude Code + VSCode (allows access to D:\Projects)
claude mcp add --scope user file-tools -- "$env:LOCALAPPDATA\Programs\mcp-file-tools\mcp-file-tools.exe" "D:\Projects"

Linux x64

# Download
mkdir -p ~/.local/bin
curl -L "https://github.com/dimitar-grigorov/mcp-file-tools/releases/latest/download/mcp-file-tools_linux_amd64" -o ~/.local/bin/mcp-file-tools
chmod +x ~/.local/bin/mcp-file-tools
# Install with Claude Code + VSCode (allows access to ~/Projects)
claude mcp add --scope user file-tools -- ~/.local/bin/mcp-file-tools ~/Projects

macOS ARM64

# Download
mkdir -p ~/.local/bin
curl -L "https://github.com/dimitar-grigorov/mcp-file-tools/releases/latest/download/mcp-file-tools_darwin_arm64" -o ~/.local/bin/mcp-file-tools
chmod +x ~/.local/bin/mcp-file-tools
# Install with Claude Code + VSCode (allows access to ~/Projects)
claude mcp add --scope user file-tools -- ~/.local/bin/mcp-file-tools ~/Projects

去安装(所有平台)

# Install with Go (requires Go 1.23+)
go install github.com/dimitar-grigorov/mcp-file-tools/cmd/mcp-file-tools@latest
# Add to Claude Code + VSCode (Linux/macOS)
claude mcp add --scope user file-tools -- $(go env GOPATH)/bin/mcp-file-tools ~/Projects
# Add to Claude Code + VSCode (Windows PowerShell)
claude mcp add --scope user file-tools -- "$(go env GOPATH)\bin\mcp-file-tools.exe" "D:\Projects"

其他客户

对于Claude Desktop、VSCode或Cursor,请在配置中使用下载的二进制路径:

克劳德桌面版 (%APPDATA%\Claude\claude_desktop_config.json 在Windows上, ~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):

窗户:

{
  "mcpServers": {
    "file-tools": {
      "command": "C:\\Users\\YOUR_NAME\\AppData\\Local\\Programs\\mcp-file-tools\\mcp-file-tools.exe",
      "args": ["D:\\Projects", "C:\\Users\\YOUR_NAME\\Documents"]
    }
  }
}

macOS/Linux:

{
  "mcpServers": {
    "file-tools": {
      "command": "/Users/YOUR_NAME/.local/bin/mcp-file-tools",
      "args": ["/Users/YOUR_NAME/Projects", "/Users/YOUR_NAME/Documents"]
    }
  }
}

args array指定服务器可以访问的允许目录。根据需要添加任意多的目录。

VSCode/Cursor(克劳德代码扩展)

如果你已经跑了 claude mcp add --scope user 从上面的安装步骤来看,服务器已经在VSCode中可用,不需要额外的配置。

要单独配置VSCode,请执行以下操作:

claude mcp add --scope user file-tools -- "%LOCALAPPDATA%\Programs\mcp-file-tools\mcp-file-tools.exe" "D:\Projects"

或者,创建一个 按项目配置 通过添加 .mcp.json 到您的项目根目录:

{
  "mcpServers": {
    "file-tools": {
      "type": "stdio",
      "command": "C:\\Users\\YOUR_NAME\\AppData\\Local\\Programs\\mcp-file-tools\\mcp-file-tools.exe",
      "args": ["D:\\Projects", "D:\\Other\\Directory"]
    }
  }
}

注:type: "stdio" 字段为必填项。这 args array指定了允许的目录——VSCode扩展不会自动添加工作区目录,因此您必须列出要访问的所有目录。若要稍后添加更多目录,请重新运行 claude mcp add 列出所有目录的命令(它会覆盖之前的配置)。

OpenAI Codex命令行界面

Codex没有 mcp add 命令--您需要编辑 ~/.codex/config.toml 手动。

Windows(PowerShell):

# Download
mkdir -Force "$env:LOCALAPPDATA\Programs\mcp-file-tools"
iwr "https://github.com/dimitar-grigorov/mcp-file-tools/releases/latest/download/mcp-file-tools_windows_amd64.exe" -OutFile "$env:LOCALAPPDATA\Programs\mcp-file-tools\mcp-file-tools.exe"

然后添加到 ~/.codex/config.toml:

[mcp_servers.file-tools]
command = "C:\\Users\\YOUR_NAME\\AppData\\Local\\Programs\\mcp-file-tools\\mcp-file-tools.exe"
args = ["D:\\Projects"]

自动批准所有工具(Claude代码)

要跳过所有文件工具命令的权限提示,请创建 .claude/settings.local.json 在项目根目录中:

{
  "permissions": {
    "allow": [
      "Bash(ls *)",
      "Bash(grep *)",
      "Bash(sort *)",
      "Bash(wc *)",
      "Bash(find *)",
      "Bash(echo *)",
      "Grep",
      "Glob",
      "WebSearch",
      "mcp__file-tools__read_text_file",
      "mcp__file-tools__read_multiple_files",
      "mcp__file-tools__write_file",
      "mcp__file-tools__edit_file",
      "mcp__file-tools__copy_file",
      "mcp__file-tools__list_directory",
      "mcp__file-tools__tree",
      "mcp__file-tools__directory_tree",
      "mcp__file-tools__search_files",
      "mcp__file-tools__grep_text_files",
      "mcp__file-tools__detect_encoding",
      "mcp__file-tools__convert_encoding",
      "mcp__file-tools__detect_line_endings",
      "mcp__file-tools__change_line_endings",
      "mcp__file-tools__manage_bom",
      "mcp__file-tools__list_encodings",
      "mcp__file-tools__get_file_info",
      "mcp__file-tools__create_directory",
      "mcp__file-tools__list_allowed_directories",
      "mcp__file-tools__check_for_updates"
    ]
  }
}

此自动批准安全的只读和编辑文件工具操作以及常见的shell命令和web搜索。破坏性行动(delete_file, move_file)以及 WebFetch 被故意排除在外——克劳德在使用它们之前会问。根据您的需求进行调整。

更新

服务器会自动检查更新,并在有新版本可用时通过工具响应通知您。要更新,请执行以下操作:

  1. 关闭所有Claude Code会话(运行时二进制文件被锁定)
  2. 重新下载二进制文件:
iwr "https://github.com/dimitar-grigorov/mcp-file-tools/releases/latest/download/mcp-file-tools_windows_amd64.exe" `
    -OutFile "$env:LOCALAPPDATA\Programs\mcp-file-tools\mcp-file-tools.exe"

要禁用更新检查,请设置环境变量 MCP_NO_UPDATE_CHECK=1.

验证和卸载

# Check if the server is configured
claude mcp list

# Remove the server
claude mcp remove file-tools

如何使用

安装后,只需询问Claude:

  • “列出此目录中的所有.pas文件”
  • “读取config.ini并检测其编码”
  • “显示所有支持的编码”
  • “使用CP1251编码读取MainForm.dfm”

安全: 服务器只访问您明确允许的目录:

  • 自动: Claude Desktop/Code自动提供工作区目录
  • 手册: 在配置中指定目录 args: ["/path/to/project"]

配置

服务器可以通过环境变量进行配置:

变量描述默认值
MCP_DEFAULT_ENCODING默认编码 write_file 未指定时cp1251
MCP_MEMORY_THRESHOLD内存阈值(字节)。较小的文件被加载到内存中,以实现更快的I/O;较大的文件使用流媒体。也会影响编码检测模式。67108864 (64 MB)

要覆盖,请在配置中设置环境变量(Claude Desktop示例):

{
  "mcpServers": {
    "file-tools": {
      "command": "C:\\Users\\YOUR_NAME\\AppData\\Local\\Programs\\mcp-file-tools\\mcp-file-tools.exe",
      "args": ["D:\\Projects"],
      "env": {
        "MCP_DEFAULT_ENCODING": "utf-8"
      }
    }
  }
}

用例

遗留代码库

许多遗留项目使用非UTF-8编码,人工智能助手无法原生处理:

  • Delphi/Pascal (Windows-1251):带有西里尔字母UI文本的源文件
  • Visual Basic 6 (Windows-1252):带有西欧字符的表单和配置文件
  • 传统PHP/HTML (CP1251,ISO-8859-1):具有本地化内容的Web应用程序
  • 旧配置文件 (各种):INI、属性、具有传统编码的注册表文件

它是如何工作的:

User: Read config.ini and change the title to "Настройки"
Assistant: [read_text_file with cp1251] → [modify UTF-8] → [write_file with cp1251]

原始编码得以保留,文件仍与旧版工具兼容。

发展

先决条件: 转到1.23+

# Run tests
go test ./...

# Build
go build -o mcp-file-tools ./cmd/mcp-file-tools

使用MCP检查器进行调试

MCP检查员 提供了一个用于测试MCP服务器的web UI。

先决条件: Node.js v18+

# Run with allowed directory (required)
npx @modelcontextprotocol/inspector go run ./cmd/mcp-file-tools -- /path/to/allowed/dir

# Or with built binary
npx @modelcontextprotocol/inspector ./mcp-file-tools.exe C:\Projects

打开一个浏览器,您可以在其中查看工具,使用自定义参数调用它们,并检查响应。

手动调试

使用允许的目录运行服务器,并通过stdin发送JSON-RPC命令:

# Specify allowed directory
go run ./cmd/mcp-file-tools /path/to/project

示例命令(粘贴到终端):

{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_directory","arguments":{"path":"/path/to/project","pattern":"*.go"}}}
{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"read_text_file","arguments":{"path":"/path/to/project/main.pas","encoding":"cp1251"}}}
{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"detect_encoding","arguments":{"path":"/path/to/project/file.txt"}}}

许可证

GPL-3.0-见 许可证

目录标签

目录标签

GoClaude云端部署文件编码转换本地部署多编码支持遗留系统兼容文件操作工具Delphi/Pascal支持

支持客户端

Claude DesktopClaudeCursor

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Node.js

部署方式(deploymentType,部署类型)

local-only

来源包(packageName,安装包名)

@modelcontextprotocol/inspector

工具数量(toolCount,工具数)

21

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiononelocal-only

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

安装前确认

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

来源信息

继续浏览同类 MCP