Token导航 LogoToken导航

MCP Server · 设计创作

MCP Dosya

MCP File Manager 是一个为AI模型提供文件系统访问的服务,支持原生MCP协议和REST API,适用于AI助手自动化文件操作。

stdio官方级别未说明来源级核验工具 0
图像处理PythonClaudeClaude Desktop

快速开始

作者 / 组织
huzeyfeaktas
提供方
huzeyfeaktas

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

MCP Dosya 属于设计创作类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude,有可以直接复制的安装命令;接入前先确认权限范围。

分类

设计创作

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

MCP文件管理器

一种模型上下文协议(MCP)服务器,为AI模型提供文件系统访问。支持本机MCP协议和REST API。 \ \

概述

MCP文件管理器使ChatGPT和Claude等AI模型能够直接与您的文件系统交互。人工智能助手可以以编程方式读取、写入、搜索和管理文件,而不是手动复制文件内容或上传文档。 关键能力:

  • 读写文件(文本和二进制)
  • 按模式或内容搜索和查找文件
  • 使用自动压缩处理图像
  • 复制、移动和组织文件
  • 计算哈希值并创建存档
  • 列出目录内容和树结构\

双协议支持:

  • 本地MCP:与Claude Desktop和其他MCP客户端直接集成
  • REST API:ChatGPT自定义操作和web客户端的HTTP端点

特性

文件操作

  • 读取、写入、附加和删除文件
  • 支持文本和二进制文件
  • 图像和二进制数据的Base64编码
  • 多种编码支持(UTF-8、UTF-16、Latin-1等)

目录操作

  • 使用递归支持列出目录内容
  • 创建和删除目录
  • 显示目录树结构
  • 模式匹配(通配符)

搜索与发现

  • 在文件中搜索文本
  • 按模式查找文件
  • 基于内容的文件发现
  • 区分大小写/不区分大小写的搜索

图像支持

  • 读取视觉AI模型的图像
  • 大文件的自动图像压缩
  • 用于AI处理的Base64编码
  • 在目录中列出图像
  • 支持JPG、PNG、GIF、BMP、WebP

高级功能

  • 文件复制和移动
  • 文件哈希计算(MD5、SHA256、SHA512)
  • 文件压缩(ZIP)
  • 批量操作
  • OneDrive和符号链接解析

安全

  • 系统关键文件保护
  • 危险文件警告
  • 路径遍历预防
  • 可配置的文件大小限制
  • 综合运行日志

快速开始

需求

  • Python 3.10或更高版本
  • pip包管理器

设置

git clone 
cd mcp-file-manager
pip install -r requirements.txt
pip install -e .

用法

适用于Claude Desktop(原生MCP)

编辑您的Claude Desktop配置文件:

  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

添加此配置:

{
  "mcpServers": {
    "file-manager": {
      "command": "python",
      "args": ["-m", "file_manager_server.server"],
      "env": {
        "LOG_LEVEL": "INFO",
        "MAX_FILE_SIZE_MB": "100"
      }
    }
  }
}

编辑后重新启动Claude Desktop。

对于ChatGPT和Web客户端(REST API)

运行服务器:

python mcp_sse_server.py

服务器运行于 http://localhost:8080\ 使用隧道暴露于互联网:

选项A——Cloudflare隧道
cloudflared tunnel --url http://localhost:8080
选项B--ngrok
ngrok http 8080

然后,在ChatGPT中→ 设置→ 行动→ 添加新操作\ 粘贴以下内容 gpt_actions.json 并将URL替换为您的隧道。

示例用例

代码分析

读取所有Python文件 src 目录并查找任何TODO注释。

自动文档

创建一个 CHANGELOG.md 通过分析git提交和代码更改来创建文件。

图像处理

在“我的图片”文件夹中查找所有大于2MB的图片并创建缩略图。

批处理文件操作

全部重命名 .jpeg 文件到 .jpg 在下载文件夹中。

项目设置

创建一个新的Python项目结构 src/, tests/,以及 docs/ 文件夹。

API 参考

基本URL: http://localhost:8080/api

{
  "openapi": "3.1.0",
  "info": {
    "title": "MCP File Manager",
    "description": "Complete file system operations with image support",
    "version": "2.0.0"
  },
  "servers": [
    {
      "url": "https://attachment-gene-missed-yen.trycloudflare.com"
    }
  ],
  "paths": {
    "/api/read": {
      "post": {
        "operationId": "readFile",
        "summary": "Read file content",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Full file path"
                  },
                  "encoding": {
                    "type": "string",
                    "default": "utf-8"
                  }
                },
                "required": ["path"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/list": {
      "post": {
        "operationId": "listDirectory",
        "summary": "List directory contents",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Directory path"
                  },
                  "recursive": {
                    "type": "boolean",
                    "default": false
                  },
                  "pattern": {
                    "type": "string",
                    "description": "File pattern (e.g. *.py)"
                  }
                },
                "required": ["path"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/write": {
      "post": {
        "operationId": "writeFile",
        "summary": "Write or create file",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "File path"
                  },
                  "content": {
                    "type": "string",
                    "description": "File content (text or base64)"
                  },
                  "encoding": {
                    "type": "string",
                    "default": "utf-8"
                  },
                  "is_base64": {
                    "type": "boolean",
                    "default": false,
                    "description": "Set true for binary files (images)"
                  }
                },
                "required": ["path", "content"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/search": {
      "post": {
        "operationId": "searchInFiles",
        "summary": "Search text in files",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Directory to search"
                  },
                  "text": {
                    "type": "string",
                    "description": "Text to search for"
                  },
                  "pattern": {
                    "type": "string",
                    "description": "File pattern (e.g. *.txt)"
                  }
                },
                "required": ["path", "text"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/find": {
      "post": {
        "operationId": "findFiles",
        "summary": "Find files by pattern",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Directory to search"
                  },
                  "pattern": {
                    "type": "string",
                    "description": "File pattern (e.g. *.jpg)"
                  }
                },
                "required": ["path", "pattern"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/tree": {
      "post": {
        "operationId": "directoryTree",
        "summary": "Get directory tree structure",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Directory path"
                  },
                  "max_depth": {
                    "type": "integer",
                    "default": 3
                  }
                },
                "required": ["path"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/image": {
      "post": {
        "operationId": "getImage",
        "summary": "Get image for GPT Vision",
        "description": "Returns image with auto-compression",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Image file path"
                  }
                },
                "required": ["path"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Image file",
            "content": {
              "image/jpeg": {},
              "image/png": {},
              "image/gif": {}
            }
          }
        }
      }
    },
    "/api/image/base64": {
      "post": {
        "operationId": "getImageBase64",
        "summary": "Get image as base64",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Image file path"
                  }
                },
                "required": ["path"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Base64 encoded image"
          }
        }
      }
    },
    "/api/images": {
      "post": {
        "operationId": "listImages",
        "summary": "List images in directory",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "Directory path"
                  }
                },
                "required": ["path"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "List of images"
          }
        }
      }
    },
    "/api/copy": {
      "post": {
        "operationId": "copyFile",
        "summary": "Copy file",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "source": {
                    "type": "string",
                    "description": "Source file path"
                  },
                  "destination": {
                    "type": "string",
                    "description": "Destination path"
                  },
                  "overwrite": {
                    "type": "boolean",
                    "default": false
                  }
                },
                "required": ["source", "destination"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/delete": {
      "post": {
        "operationId": "deleteFile",
        "summary": "Delete file",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "path": {
                    "type": "string",
                    "description": "File path to delete"
                  }
                },
                "required": ["path"]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    }
  }
}

高级

POST /api/copy
{"source": "/source/file.txt", "destination": "/dest/file.txt", "overwrite": false}

配置

变量默认值描述
LOG_LEVEL信息日志记录级别
MAX_FILE_SIZE_MB100最大文件大小
MAX_IMAGE_SIZE_MB15最大图像大小
ENABLE_COMPRESSIONtrue启用ZIP压缩
ENABLE_HASHINGtrue启用哈希计算
ENABLE_DANGEROUS_OPERATIONSfalse允许删除可执行文件

项目结构

mcp-file-manager/
├── src/
│   └── file_manager_server/
│       ├── server.py
│       ├── rest_api.py
│       ├── config.py
│       ├── handlers/
│       └── utils/
├── mcp_sse_server.py
├── gpt_actions.json
├── requirements.txt
└── tests/

测试

pytest
pytest --cov=file_manager_server --cov-report=html

安全

此服务器提供具有多个安全层的文件系统访问。\ 保护机制

  • 阻止系统关键路径上的操作
  • 防止路径遍历和危险删除
  • 可配置的文件大小限制
  • 综合运行日志\

推荐做法

  • 从非关键目录开始
  • 定期监控日志
  • 避免在没有身份验证的情况下暴露公共隧道

许可证

MIT许可证——见 许可证

致谢

  • 人为——模型上下文协议(MCP)
  • OpenAI——支持ChatGPT自定义操作
  • 开源社区❤️

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

文件管理Python本地部署AI模型集成RESTAPI自动化操作图像处理

支持客户端

Claude DesktopClaude

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

出图与改图

按描述生成或修改图像,快速迭代风格。

读取设计稿

读取画布和图层信息,按规范生成页面。

素材整理

批量生成缩略图、统一命名和标签。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在设计创作场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Dosya

MCP World · 本页

0stdio有1 个2026-05-17
Blender MCP

MCP.so

17stdio有3 个2026-05-17
Figma Context MCP 3aaa8d28

MCP World

0未说明未标注2 个2026-05-17
Nova Canvas MCP Server

MCP World

2stdio有1 个2026-05-17
Cursor Talk To Figma MCP Da1c7911

MCP World

40未说明未标注1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Dosya 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Dosya 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

MCP Dosya 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Dosya 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Dosya 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP