项目简介
这是一个基于 Model Context Protocol (MCP) 构建的服务器,利用 FastMCP 框架实现。它作为一个独立的进程运行,并通过标准输入/输出(Stdio)或其他配置的传输协议与支持 MCP 的 LLM 客户端(如某些编程 IDE 或应用)进行通信。
主要功能点
该服务器提供了允许大型语言模型 (LLM) 与用户本地文件系统上的图像进行交互的能力:
- 列出图像文件: 可以列出指定目录下的所有图像文件(支持 '.jpg', '.jpeg', '.png', '.gif', '.bmp', '.webp', '.svg' 等格式)。
- 读取图像内容: 可以读取指定图像文件的内容,并以适合 LLM 处理或显示的格式(通常是 Base64 编码结合元数据)返回。
安装步骤
本项目通常作为 Node.js 包发布。你可以通过 npm 或 yarn 全局安装它,或者在需要时使用 'npx' 直接运行。
# 全局安装(推荐) npm install -g image-reader-mcp # 或使用 yarn yarn global add image-reader-mcp # 仅临时运行一次(客户端配置中常用) npx image-reader-mcp
确保你的系统安装了 Node.js 环境。
服务器配置
MCP 服务器不是直接运行给用户使用的,而是需要被配置在支持 MCP 的 LLM 客户端(例如一些现代的编程 IDE 或 LLM 应用)中。
你需要在 MCP 客户端的配置里添加一个新的 MCP 服务器条目。每个条目通常包含一个用户定义的服务器名称以及如何启动这个服务器进程的指令。
对于 Image Reader Server,典型的客户端配置会指定:
- 服务器名称: 例如设置为 'imageReader' 或其他你方便识别的名称。
- 启动命令 (command): 指定用来执行服务器的可执行文件路径。如果全局安装了,可能是 'image-reader-mcp';如果使用 'npx' 运行,命令就是 'npx'。
- 启动参数 (args): 提供给启动命令的参数。如果命令是 'npx',参数就是 '['image-reader-mcp']'。如果命令直接是全局安装的 'image-reader-mcp',参数列表可能为空或包含少量配置参数(本项目默认通过 stdio 运行,无需额外参数)。
- 环境变量 (env): 可选,为服务器进程设置特定的环境变量。
请参考你的 MCP 客户端的具体文档,了解如何在配置中添加 MCP 服务器条目,并填入上述命令和参数信息。
基本使用方法
一旦 Image Reader Server 在 MCP 客户端中被正确配置并启动,LLM 客户端就可以通过 MCP 协议与之交互。
LLM 可以识别服务器提供的工具 ('list_images' 和 'read_image'),并在需要时调用这些工具。
- 当 LLM 需要了解某个目录下的图像文件时,它可以调用 'list_images' 工具并提供目录路径作为参数。服务器会返回文件列表。
- 当 LLM 需要查看或处理某个具体图像的内容时,它可以调用 'read_image' 工具并提供文件的绝对路径作为参数。服务器会将图像内容转换为 Base64 格式并返回,LLM 客户端可能进一步处理或渲染这些内容。
这使得 LLM 能够作为用户的文件助手,直接访问和利用本地文件系统中的图像信息。
信息
分类
数据库与文件