使用说明
本地文件系统MCP服务器
基于Python的模型上下文协议(MCP)服务器,在macOS、Linux和Windows上安全地公开基本的文件系统工具(列表、搜索、复制、移动)。
特性
- 具有递归控制、隐藏文件可见性和符号链接处理的目录列表。
- 具有区分大小写切换和目录/文件匹配选项的全局式搜索。
- 复制和移动支持文件、目录和符号链接的帮助程序(具有跨设备回退)。
- 默认情况下,操作范围仅限于工作目录,以限制访问。
- 用于文本提取和分析的可选Azure文档智能工具。
先决条件
- Python 3.11+
- 诗歌 2.2+
设置
poetry install
通过stdio运行MCP服务器(与Claude Desktop、VS Code、Cursor等兼容):
poetry run start --transport stdio
配置
服务器启动时使用本地定义的任何环境变量 .env 文件(放在README旁边)。shell中已存在的变量优先。
服务器基础知识
关键环境变量(均为可选)存在 .env:
MCP_SERVER_PORT--HTTP传输的侦听端口(默认为8000).MCP_TRANSPORT--选择stdio,sse,或streamable-http当通过CLI启动时。MCP_SERVER_LOG_LEVEL--调整FastMCP日志记录(INFO默认情况下)。MCP_FS_ROOTS--工具可以访问的其他根目录的可选列表。
当 MCP_FS_ROOTS 设置后,提供一个或多个由操作系统路径分隔符分隔的绝对路径(: 在macOS/Linux上, ; 在Windows上)。如果省略,服务器将限制对启动它的工作目录的访问。
运输选择
支持所有FastMCP传输:
stdio(默认)保持与桌面IDE客户端的兼容性。sse(服务器发送事件)公开了适用于HTTP客户端的流端点。streamable-http公开了MCP 1.19中引入的流式HTTP传输。
集 MCP_TRANSPORT 在你的 .env (或通行证 --transport 在命令行上)选择要启动的传输实例。当选择HTTP传输时(sse 或 streamable-http),服务器侦听 http://127.0.0.1:<port>/,使用 MCP_SERVER_PORT 如果提供。
MCP_TRANSPORT=sse
MCP_SERVER_PORT=9000
运行命令示例:
# Read transport choice from .env
poetry run start
# Override transport at runtime
poetry run start --transport streamable-http
Azure文档智能(可选)
文档分析工具仅在以下Azure凭据存在时注册(在 .env 或外壳):
AZURE_DOCUMENT_ENDPOINTAZURE_DOCUMENT_KEYAZURE_DOCUMENT_MODEL_ID(默认为prebuilt-layout如果省略)
如果缺少这些变量,服务器将继续运行,但跳过Azure支持的工具,因此不会暴露任何敏感信息。
快速Azure设置:
- 如果您还没有钥匙,请登录(
az login或Azure门户)使用拥有您的文档智能资源的订阅。 - 创建或定位 文档智能 (又名。 表单识别器)所需区域的资源。
- 从中获取端点URL和其中一个访问密钥 密钥和端点 刀片(
az cognitiveservices account keys list --name <name> --resource-group <rg>也工作)。 - 填充
.env使用endpoint/key(和可选的模型id),然后重新启动服务器。
如果您已经拥有团队中其他人的有效端点和密钥,请跳过登录步骤——只需将这些值直接放入 .env 工具将被激活。
启用这些工具时安装客户端库(任一软件包都可以使用):
poetry add azure-ai-documentintelligence
# or, for the older SDK
poetry add azure-ai-formrecognizer
可用工具
| 工具 | 目的 | 关键参数 |
|---|---|---|
files_list_directory |
列出目录条目(可选递归)。 | path?, recursive=false, include_hidden=false, follow_symlinks=false, max_depth=5, limit=200 |
files_find |
全局搜索路径下的文件/目录。 | pattern, path?, include_hidden=false, case_sensitive=true, match_files=true, match_directories=true, max_depth=25, limit=500 |
files_copy |
复制文件/目录/符号链接。 | source, destination, overwrite=false, recursive=true |
files_move |
移动(剪切)文件/目录/符号链接。 | source, destination, overwrite=false, recursive=true |
analysis_word_count* |
通过Azure文档智能获取单词/字符计数。 | path, model_id? |
analysis_extract_text* |
检索最多8k个字符的提取文本。 | path, model_id?, max_characters=8000 |
*仅在Azure凭据可用时注册。
资源:
file://{path}--公开文件元数据(并在可能的情况下提供UTF-8预览)。
每个工具都返回结构化的JSON和文本摘要,使响应对用户界面和自动化代理都很友好。
与MCP客户端集成
大多数MCP客户端接受stdio命令。配置您的客户端以运行 poetry run start (或等效的venv路径)并使用stdio传输选项进行连接。支持流式HTTP/SSE的客户端可以在您启动时以打印的本地URL为目标 poetry run start --transport sse (或 streamable-http).
了解有关MCP的更多信息,请访问 模型上下文协议.io.
