mcpField
R
remote-filesystem

remote-filesystem

本地服务
github.com/pulsemcp文件与存储818 周前更新

关于 remote-filesystem

Remote Filesystem 是一个 MCP 服务,用于对云存储执行远程文件系统操作,目前支持 Google Cloud Storage,计划支持 S3 和 Cloudflare R2。适合需要在存储桶中上传、下载和管理文件的用户。

主要功能

  1. 01上传文件并设置公开或私有访问
  2. 02以文本或 base64 下载文件
  3. 03按前缀列出文件和目录
  4. 04修改文件属性和元数据
  5. 05工具组实现只读与读写权限控制

适用场景

  1. 01将截图等生成文件上传到 GCS 并生成公开链接
  2. 02在只读模式下浏览存储桶中的文件

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 upload、download、list_files、modify 和 delete_file 等工具,用于操作云存储中的文件。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"com-pulsemcp-remote-filesystem": {
"command": "npx",
"args": [
"-y",
"remote-filesystem-mcp-server"
],
"env": {
"GCS_BUCKET": "<GCS_BUCKET>",
"GCS_PROJECT_ID": "<GCS_PROJECT_ID>",
"GCS_CLIENT_EMAIL": "<GCS_CLIENT_EMAIL>",
"GCS_PRIVATE_KEY": "<GCS_PRIVATE_KEY>",
"GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>",
"GCS_ROOT_PATH": "<GCS_ROOT_PATH>",
"GCS_MAKE_PUBLIC": "<GCS_MAKE_PUBLIC>",
"ENABLED_TOOLGROUPS": "<ENABLED_TOOLGROUPS>"
}
}
}
}
启动命令npx -y remote-filesystem-mcp-server
需要配置的环境变量
GCS_BUCKETGoogle Cloud Storage bucket name.
GCS_PROJECT_IDGoogle Cloud project ID.
GCS_CLIENT_EMAILService account email for inline credentials.
GCS_PRIVATE_KEY密钥Service account private key for inline credentials.
GOOGLE_APPLICATION_CREDENTIALS密钥Path to Google Cloud service account key file.
GCS_ROOT_PATHRoot path prefix to restrict access within bucket.
GCS_MAKE_PUBLICMake uploaded files publicly accessible.
ENABLED_TOOLGROUPSComma-separated tool groups: readonly or readwrite.

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmremote-filesystem-mcp-server0.1.5

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
pathstring是远程文件系统中的文件路径(相对于根目录)。示例:"screenshots/pr-123.png"
asBase64boolean否如果为 true,则以 base64 编码字符串形式返回文件内容。适用于图像等二进制文件。默认值:false(以文本形式返回)。

详细介绍

远程文件系统 MCP 服务

用于在云存储提供商上执行远程文件系统操作的 MCP 服务。目前支持 Google Cloud Storage (GCS),计划支持 S3、Cloudflare R2 等。

功能

  • 上传文件到云存储,并设置公开或私有访问权限
  • 下载文件为文本或 base64(用于二进制文件)
  • 列出文件和目录,并按前缀筛选
  • 修改文件属性(公开/私有、内容类型、元数据)
  • 删除远程存储中的文件
  • 限制根路径,限定存储桶内的访问范围
  • 提供用于基于权限控制访问的工具组
  • 支持内联凭据(无需 JSON 密钥文件)
  • 为私有文件生成签名 URL

安装

npm install remote-filesystem-mcp-server

或使用 npx 直接运行:

npx remote-filesystem-mcp-server

配置

环境变量
变量必填描述默认值
GCS_BUCKET是GCS 存储桶名称-
GCS_PROJECT_ID否Google Cloud 项目 ID自动
GCS_CLIENT_EMAIL否*服务账号邮箱(内联凭据)-
GCS_PRIVATE_KEY否*服务账号私钥(内联凭据)-
GOOGLE_APPLICATION_CREDENTIALS否*服务账号密钥文件的路径-
GCS_ROOT_PATH否根路径前缀——限制访问范围无
GCS_MAKE_PUBLIC否将文件设为可公开访问false
ENABLED_TOOLGROUPS否工具组:readonly、readwrite全部
  • 必须选择一种身份验证方式:内联凭据、密钥文件或 ADC
Claude Desktop 配置
{
  "mcpServers": {
    "remote-filesystem": {
      "command": "npx",
      "args": ["-y", "remote-filesystem-mcp-server"],
      "env": {
        "GCS_BUCKET": "your-bucket-name",
        "GCS_CLIENT_EMAIL": "[email protected]",
        "GCS_PRIVATE_KEY": "-----BEGIN PRIVATE KEY-----\n...",
        "GCS_ROOT_PATH": "uploads/"
      }
    }
  }
}

工具

upload

将文件上传到远程文件系统。

参数:

参数类型必填描述
sourcestring是文件路径(file://...)或 base64 数据
pathstring否目标路径(未指定时自动生成)
contentTypestring否MIME 类型(未提供时自动检测)
makePublicboolean否覆盖默认的公开/私有设置

示例:

upload({
  source: 'file:///tmp/screenshot.png',
  path: 'screenshots/pr-123.png',
  makePublic: true,
});
download

从远程文件系统下载文件。

参数:

参数类型必填描述
pathstring是文件路径
asBase64boolean否以 base64 格式返回(用于二进制数据)

示例:

download({
  path: 'screenshots/pr-123.png',
  asBase64: true,
});
list_files

列出远程文件系统中的文件和目录。

参数:

参数类型必填描述
prefixstring否要列出的目录前缀
maxResultsnumber否返回的文件数量上限

示例:

list_files({
  prefix: 'screenshots/',
  maxResults: 100,
});
modify

修改文件属性。

参数:

参数类型必填描述
pathstring是文件路径
makePublicboolean否将文件设为公开
makePrivateboolean否将文件设为私有
contentTypestring否新的 MIME 类型
metadataobject否自定义元数据键值

示例:

modify({
  path: 'reports/doc.pdf',
  makePublic: true,
  metadata: { author: 'claude' },
});
delete_file

从远程文件系统中删除文件。

参数:

参数类型必填描述
pathstring是文件路径

示例:

delete_file({
  path: 'temp/old-file.txt',
});

工具组

服务器支持通过工具组进行基于权限的访问控制:

  • readonly:仅提供 download 和 list_files 工具
  • readwrite:提供所有工具(包括只读工具)

设置 ENABLED_TOOLGROUPS=readonly 可将操作限制为只读操作。

身份验证

服务器支持多种身份验证方式:

1. 内联凭据(推荐)
[email protected]
GCS_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n"
2. 密钥文件
GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json
3. 应用默认凭据(ADC)
gcloud auth application-default login

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。