文件列表与组API服务

一个提供文件列表和安全组API访问功能的MCP服务器,适用于文件管理和安全数据检索场景。

  • by petefitz
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 petefitz/sample-mcp

使用说明

MCP文件列表和组API服务器

一种模型上下文协议(MCP)服务器,提供文件列表和安全组API访问功能。

特性

文件操作

  • list_files 工具:列出指定文件夹路径中的所有文件和目录
  • 错误处理:妥善处理无效路径、权限错误和无法访问的文件
  • 包含元数据:返回文件/目录名、类型、大小和修改时间
  • 排序输出:结果按文件名的字母顺序排序

集团API集成

  • get_groups 工具:使用承载令牌身份验证从安全的API端点检索组
  • 分页支持:使用可配置的页面大小和导航来导航大型数据集
  • 搜索功能:按搜索词筛选组
  • 全面的错误处理:对网络、身份验证和API错误的稳健处理

天气信息(遗留)

  • get_weather_forecast 工具:提前5天获取天气预报
  • 动车组:支持摄氏、华氏和开尔文温度单位

安装

  1. 克隆或下载此存储库
  2. 安装依赖项:
    pip install -r requirements.txt
    

用法

运行服务器

服务器使用stdio传输作为MCP服务器运行:

python server.py

MCP客户端配置

要将此服务器与Claude Desktop等MCP客户端一起使用,请将其添加到您的MCP配置中:

Claude桌面配置

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "file-listing": {
      "command": "python",
      "args": ["path/to/server.py"],
      "env": {}
    }
  }
}

示例用法

配置后,您可以在MCP客户端中使用文件列表工具:

  • “列出我的桌面文件夹中的文件”
  • “显示/home/user/documents目录中的内容”
  • “C:\Users\username\Downloads中有哪些文件?”

工具参考

列表文件

列出指定文件夹路径中的所有文件和目录。

参数:

  • folder_path (string):要列出的目录的绝对或相对路径

退货:

  • path:列出的已解析绝对路径
  • total_items:找到的项目数
  • files:文件/目录对象数组,包含:
    • name:文件或目录名
    • path:项目的完整路径
    • type:“文件”或“目录”
    • size:文件大小(以字节为单位)(目录为空)
    • modified:最后修改时间作为时间戳
  • success:布尔值表示成功
  • error:错误消息(如有)

错误处理

服务器优雅地处理各种错误情况:

  • 路径不存在:返回包含空文件列表的错误消息
  • 路径不是目录:返回包含空文件列表的错误消息
  • 权限不足:返回文件夹的错误消息或跳过无法访问的项目
  • 路径格式无效:返回包含详细信息的错误消息

安全考虑

  • 服务器可以访问Python进程有权访问的任何目录
  • 指定路径时要小心-服务器将尝试列出任何有效的目录路径
  • 考虑使用适当的用户权限运行以限制目录访问

发展

项目结构

├── server.py           # Main MCP server implementation
├── requirements.txt    # Python dependencies
├── README.md          # This documentation
└── .github/
    └── copilot-instructions.md  # Project context for AI assistants

测试

您可以使用MCP检查器测试服务器:

npx @modelcontextprotocol/inspector python server.py

许可证

这个项目是开源的。有关详细信息,请参阅LICENSE文件。