Skip to content

使用MCP服务端让AI大模型访问存储数据

MCP,全称为Model Context Protocol,即模型上下文协议。是 Anthropic 在 2024 年 11 月推出的一种开放标准协议,旨在为大型语言模型 (LLMs) 与外部数据源、工具和服务之间建立标准化的交互框架,就像是 AI 领域的“通用插头”或“USB-C 接口”。 其核心目标是解决 AI 模型(如 ChatGPT、Claude 等)与实时数据、外部系统连接时的“信息孤岛”和“集成碎片化”问题,让 AI 不仅能生成文本,还能安全、高效地访问和操作外部资源,从而生成更准确、相关且具有上下文感知能力的响应。 简单来说可以通过MCP来对接一些现有的应用程序,使得一些对话模型拥有直接操控他们的能力。

MCP的核心组件与工作原理

MCP 采用客户端-服务器(Client-Server)架构,主要包括三个核心组件:

  • MCP Host(宿主应用):运行 AI 模型的应用环境,例如 Claude Desktop、Cursor IDE 、Cherry Studio等。
  • MCP Client(客户端):集成在 Host 中的模块,负责与 MCP Server 建立连接并管理通信。
  • MCP Server(服务器):轻量级服务,提供对特定数据源(如数据库、API)或工具(发送邮件、执行查询)的标准化访问。

它们之间的协作方式可见下图:

工作原理

MCP Server 主要提供三类功能:

  • Resources(资源):为AI提供结构化的数据来源,如文件、数据库记录或API响应。
  • Tools(工具):允许AI执行外部操作的功能,如发送电子邮件、查询数据库或与其它服务交互。
  • Prompts(提示):预定义的指令模板,用于优化AI的任务执行和工作流。

JWanFS-MCP-Server

JWanFS-MCP-Server 是一个基于 Model Context Protocol (MCP) 的服务器,允许 AI 代理(如 Claude)通过自然语言与 JWanFS FGW S3 对象存储系统进行交互。该服务器支持本地和远程部署,并已验证与 Railway 、 Cherry Studio 以及 Claude Desktop 兼容。

功能特性

JWanFS-MCP-Server实现了如下功能:

  • 读操作

    • 列出所有存储桶及其基本信息(ListBuckets)
    • 列出指定存储桶中的所有对象,包括大小和最后修改日期(ListObjects)
    • 获取对象的详细数据和元数据(StatsObject)
    • 生成对象的预签名 URL 用于临时访问(PresignObject)
    • 下载对象到本地文件系统(DownloadObject、GetObject)
    • 列出本地文件和目录(ListDownloads)
  • 写操作(可选)

    • 从本地文件系统上传文件到指定存储桶(fPutObject)
    • 将文本内容直接转换为存储桶中的对象(PutObject)
    • 在存储桶之间复制对象(CopyObject)
  • 删除操作(可选)

    • 删除特定对象(DeleteObject)
    • 在存储桶之间移动对象(复制后删除源对象)

由于让AI直接操作存储有一定危险性,我们将写入与删除操作放在可选项中,您可以根据需要选择是否使用。

安装

系统要求

  • Node.js >= 18.0.0
  • npm
  • JWanFS FGW S3 实例访问权限
  • Cherry Studio 或其他兼容 MCP 的 AI 客户端(用于实际使用)

安装Node

推荐使用nvm进行安装,安装指导请参考:https://github.com/nvm-sh/nvm,中文站点 https://nvm.uihtm.com/.

  • nvm是什么

nvm全英文也叫node.js version management,是一个nodejs的版本管理工具。为了解决node.js各种版本存在不兼容现象可以通过它可以安装和切换不同版本的node.js。

安装JWanFS-MCP-Server

下载https://file-ocloud.ihep.ac.cn/latest/mcp/jwanfs-mcp-server.zip

解压jwanfs-mcp-server.zip到任意英文路径下,如D:\jwanfs-mcp-server

在该目录下打开命令行工具,运行npm install安装依赖,提示如下则安装完成。

shell
added 370 packages,and audited 371 packages in 28s

67 packages are looking for funding
  run `npm fund for details

1 critical severity vulnerability

To address all issues(including breaking changes), run:
  npm audit fix --force

Run `npm audit`for details.

在Cherry Studio中使用

https://www.cherry-ai.com/ 中下载安装Cherry Studio

进入设置 -> MCP ,点击添加,从JSON导入

导入

输入配置

json
   {
     "mcpServers": {
       "jwanfs-s3-storage": {
         "command": "node",
         "args": [
           "D:\\jwanfs-mcp-server\\server.js"
         ],
         "env": {
           "JWANFS_ENDPOINT": "https://fgws3-ocloud.ihep.ac.cn",
           "JWANFS_ACCESS_KEY": "your_access_key",
           "JWANFS_SECRET_KEY": "your_secret_key",
           "ALLOWED_DIRECTORIES": "/path/to/allow/downloads",
           "ALLOW_WRITE": "true",
           "ALLOW_DELETE": "true"
         }
       }
     }
   }

jwanfs-s3-storage 为mcp名称,可以为中文或在配置中修改。

D:\\jwanfs-mcp-server\\server.js为上文下载解压的JWanFS-MCP-Server的运行脚本路径。

env的含义如下:

ENV参数含义默认值
JWANFS_ENDPOINTjwanfs s3网关的连接地址https://fgws3-ocloud.ihep.ac.cn
JWANFS_ACCESS_KEYjwanfs认证的AK无,必须配置,前往控制台获取
JWANFS_SECRET_KEYjwanfs认证的SK无,必须配置,前往控制台获取
ALLOWED_DIRECTORIESmcp下载文件保存的目录系统临时文件夹路径
ALLOW_WRITE允许写入操作False
ALLOW_DELETE允许删除操作False

配置后点击开关切换为启用状态:

启用

启用用即可在Cherry-Studio对话聊天框中找到该工具,点击激活该工具:

激活

在后面的对话中,ai即可自动调用JWanFS-MCP-Server:

使用

同时还可以与其他mcp工具进行联动,如于doc-tool-mcp(文档处理工具)进行联动:

联动