文件系统协议服务器

一个安全默认的模型上下文协议服务器,用于文件系统操作和可选命令执行,支持多种传输方式。

  • by GalSened
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 GalSened/mcp-filesystem-server

使用说明

MCP 文件系统服务器

默认安全 模型上下文协议 用于文件系统操作(+ 可选命令执行)的服务器。

特点/功能

  • 工具: list_dir, read_text, write_text, mkdir, mv, rm, stat
  • 可选工具: run (默认禁用,基于白名单,设置超时时间+输出限制)
  • 交通: STDIO(注:在中文语境中,"STDIO"通常不直接翻译,因为它是一个技术术语,指的是标准输入输出库,但为符合要求,此处给出其直译形式,实际使用时应保持原样) (默认), HTTP(超文本传输协议) (/mcp上海证券交易所
  • 使用拒绝/允许通配符的沙盒根目录以保护机密信息

快速入门(本地)

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt
mkdir -p sandbox
python server.py  # stdio mode

HTTP (for ngrok/cloud)
export MCP_TRANSPORT=http
export MCP_HTTP_PORT=8080
export MCP_HTTP_PATH=/mcp
python server.py
# expose:
ngrok http 8080   # URL -> https://<subdomain>.ngrok.app/mcp

Enable run tool (optional, risky)
export ENABLE_RUN_COMMANDS=1
# edit COMMAND_ALLOWLIST in server.py to expand allowed commands safely

Docker
docker build -t mcp-filesystem .
docker run -p 8080:8080 -e MCP_TRANSPORT=http mcp-filesystem

Connect from ChatGPT (Custom MCP Connector)

Settings → Connectors → Create → Custom

URL: https://YOUR_HOST/mcp (or ngrok URL)

Done. Now you can call the tools from ChatGPT.

Why not GitHub Pages?

GitHub Pages is static hosting only; MCP is an active server (HTTP/SSE/STDIO).
Use Render/Railway/Fly.io/Cloud Run/Cloudflare Workers (or your own machine + ngrok).

Minimal Tool Calls (examples)

list_dir({ "path": ".", "glob_pattern": "*.md" })

read_text({ "path": "README.md" })

write_text({ "path": "demo/hello.txt", "content": "hi" })

mv({ "src": "demo/hello.txt", "dst": "demo/hello2.txt", "overwrite": true })

rm({ "path": "demo", "recursive": true })