主题切换
使用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_ENDPOINT | jwanfs s3网关的连接地址 | https://fgws3-ocloud.ihep.ac.cn |
JWANFS_ACCESS_KEY | jwanfs认证的AK | 无,必须配置,前往控制台获取 |
JWANFS_SECRET_KEY | jwanfs认证的SK | 无,必须配置,前往控制台获取 |
ALLOWED_DIRECTORIES | mcp下载文件保存的目录 | 系统临时文件夹路径 |
ALLOW_WRITE | 允许写入操作 | False |
ALLOW_DELETE | 允许删除操作 | False |
配置后点击开关切换为启用状态:
启用用即可在Cherry-Studio对话聊天框中找到该工具,点击激活该工具:
在后面的对话中,ai即可自动调用JWanFS-MCP-Server:
同时还可以与其他mcp工具进行联动,如于doc-tool-mcp(文档处理工具)进行联动: