picsense
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@picsenseDescribe the overall layout of this UI screenshot"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
picsense
本地图片/视频识别 MCP,让单模态基座模型获得多模态视觉能力。
picsense 是一款本地安装的 MCP(Model Context Protocol)服务。它通过调用多模态视觉模型 API,让任何单模态基座模型(如 GLM-5.2 这类无法直接处理图片/视频的模型)也能识别图片与视频内容。
核心差异化:支持多轮迭代识别——基座模型可在处理任务的过程中多次调用,边干边查,逐步精修对图片/视频的理解。
功能
四个工具,按输入形态划分(不按场景拆工具,把 prompt 控制权交给基座模型):
工具 | 输入 | 用途 |
| 图片数组 + prompt + 可选 | 图片识别 + 多轮迭代(核心工具;传一张是单图,传多张是批量/对比) |
| 视频(URL / 本地路径)+ prompt + 可选 | 视频识别(抽帧后送视觉模型)+ 多轮迭代 |
| 无 | 查看当前所有识别会话的列表与简介 |
| 文档(URL / HTML / markdown) | 解析文档,识别其中所有图片,返回标注了图片描述的完整文档 |
多轮迭代识别
传统图片识别 MCP 是一次性的:给一张图 + 一个 prompt,返回描述,结束。但一次性描述往往不够详细或不够准确。
picsense 通过 session 机制支持多轮:
首次调用
analyze_images(不传session_id)→ 创建 session,返回描述 +session_id基座模型判断描述是否满足需求,不满足则再次调用(传入
session_id)→ 在已有对话基础上追加提问重复直到满足,基座模型基于最终描述继续处理任务
第 1 轮:analyze_images(图 + 初始 prompt) → description A + session_id
第 2 轮:analyze_images(session_id + "重点描述导航栏样式") → description B
... 直到满足 ...这是「边干边查」的能力——基座模型在写代码过程中发现细节不清,可以随时重新读取图片的某个局部。
Related MCP server: llm-vision
安装
需要 Node.js ≥ 20。无需克隆仓库——直接用 npx 即可:
npx @honlnk/picsense或全局安装:
npm install -g @honlnk/picsense
picsense本地开发:克隆仓库后
pnpm install && pnpm build,入口在dist/index.js。
视频识别的 ffmpeg 依赖
视频识别(analyze_video)需要 ffmpeg。安装时会自动下载内置的 ffmpeg-static 二进制。若该二进制下载失败(如 --ignore-scripts、企业内网代理屏蔽 GitHub releases),picsense 会自动 fallback 到系统的 ffmpeg——因此只要系统装了 ffmpeg 即可:
# macOS
brew install ffmpeg
# Debian / Ubuntu
apt install ffmpegpnpm 用户:pnpm 默认不运行第三方包的安装脚本,若用 pnpm 全局安装发现二进制未下载,确认
package.json的pnpm.onlyBuiltDependencies已包含ffmpeg-static,或直接装系统 ffmpeg 走 fallback。
配置
通过环境变量配置,代码内零硬编码。环境变量在 MCP 客户端的配置里通过 env 字段传入(见下方接入示例),本地开发时也可用 .env 文件。
环境变量
变量 | 必填 | 默认值 | 说明 |
| 是 |
| 默认 provider( |
| 是* | — | OpenAI API Key(当 provider=openai 时必填) |
| 是* | — | OpenAI 模型名(如 |
| 否 |
| 自定义 base URL(代理或兼容网关)。会自动规范化:不带 |
| 否 |
| 单张图片大小上限(MB) |
| 否 |
| 单个视频大小上限(MB) |
| 否 |
| 视频抽帧的最大帧数(覆盖大多数 30 秒以内的短视频) |
| 否 |
| 视频抽帧的采样率(每秒抽几帧) |
| 否 |
| 视觉模型请求超时(毫秒) |
* 默认 provider 的 Key/Model 必填;其他 provider 仅在切换使用时才需要。
API 格式:provider 使用 OpenAI Responses API(
/v1/responses原生格式),而非 Chat Completions。兼容任何实现了 Responses API 的网关。
多 provider 配置示例
OpenAI(首版推荐):
DEFAULT_PROVIDER=openai
OPENAI_API_KEY=sk-xxx
OPENAI_MODEL=gpt-5.6-solQwen(后续支持) / Kimi(后续支持): 当前版本仅实现 OpenAI 适配器,Qwen 与 Kimi 适配器规划中。新增 provider 只需实现 VisionProvider 接口。
接入 AI 客户端
ZCode
在 ZCode 的 MCP 配置中加入:
{
"mcpServers": {
"picsense": {
"command": "npx",
"args": ["-y", "@honlnk/picsense"],
"env": {
"DEFAULT_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-xxx",
"OPENAI_MODEL": "gpt-5.6-sol"
}
}
}
}
-y让 npx 首次运行时自动确认安装,避免阻塞。
Claude Desktop / Cursor / 其他 MCP 客户端
配置 JSON 结构相同(command + args + env),按各客户端的 MCP 配置位置填入即可。
Windows
Windows 上 npx 需通过 cmd 包裹:
{
"mcpServers": {
"picsense": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@honlnk/picsense"],
"env": {
"DEFAULT_PROVIDER": "openai",
"OPENAI_API_KEY": "sk-xxx",
"OPENAI_MODEL": "gpt-5.6-sol"
}
}
}
}单模态模型场景说明: 在 ZCode + 单模态模型(如 GLM-5.2)下,用户粘贴的图片会被 ZCode 自动上传图床,以 http URL 形态到达 MCP 工具。
image_sources已设计为自动识别 URL / 本地路径 / base64,无需额外处理。
图片限制
格式:jpg / jpeg / png
单张大小:≤ 5MB
视频识别说明
由于默认 provider(OpenAI Responses API)原生不支持视频,analyze_video 采用抽帧方案:用 ffmpeg 把视频解码成 JPEG 帧序列,再作为多张图发送给视觉模型。ffmpeg 优先用内置的 ffmpeg-static 二进制,下载失败时自动 fallback 到系统 ffmpeg(见上方安装说明)。
默认每秒抽 1 帧、最多 30 帧(可通过
VIDEO_FPS/VIDEO_MAX_FRAMES调整)视频格式:mp4 / mov / m4v / avi / wmv / webm / mkv / flv / mpeg / mpg
单个视频大小:≤ 100MB(可通过
MAX_VIDEO_MB调整)URL 视频会先下载到临时目录再抽帧,用完即清理
使用示例
单图识别:
analyze_images({
image_sources: ["https://example.com/screenshot.png"],
prompt: "描述这张 UI 截图的整体布局"
})多轮迭代——细化某个局部:
// 第 2 轮(复用上一轮返回的 session_id)
analyze_images({
session_id: "<上一轮返回的 session_id>",
prompt: "重点描述导航栏的样式,包括颜色、间距、字体"
})多图对比:
analyze_images({
image_sources: ["https://example.com/expected.png", "https://example.com/actual.png"],
prompt: "对比这两张图,找出差异"
})视频识别:
analyze_video({
video_source: "https://example.com/demo.mp4",
prompt: "描述这段视频的内容和关键画面"
})文档图片标注:
analyze_document({
document: "https://example.com/article-with-images"
})
// 返回标注了每张图片描述的完整文档技术栈
TypeScript + Node.js(stdio 本地 MCP)
@modelcontextprotocol/sdk官方 SDK多 provider 架构(
VisionProvider接口)零第三方 HTTP 库(仅用内置 fetch)
开发
pnpm install
pnpm build # 编译
pnpm typecheck # 类型检查
pnpm dev # tsx watch 调试
pnpm smoke # image-loader 冒烟(无需 API Key)
pnpm smoke:session # session-manager 单元测试(mock provider)
pnpm smoke:tools # 四个工具逻辑测试(mock provider)
pnpm smoke:video # 视频抽帧 + 工具逻辑测试(真实 ffmpeg,无需 API Key)
pnpm e2e # 端到端 stdio 协议测试许可证
Apache-2.0
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityAmaintenanceMulti-model vision understanding MCP server that provides unified image analysis for AI assistants without native vision, supporting models like GLM-4.6V, DeepSeek-OCR, Qwen3-VL-Flash, and more.13,789100MIT
- Alicense-qualityCmaintenanceMCP server that provides a 'borrowed eye' for text-only LLMs, enabling them to identify and describe local images via the Qwen VL vision model, including face recognition, scene description, OCR, and targeted visual questioning.1Apache 2.0
- Flicense-qualityCmaintenanceMCP server that gives text-only models vision capabilities via free GLM vision models, supporting image description, OCR, chart/document analysis, and grounding with automatic model fallback.1
- Alicense-qualityCmaintenanceMCP server that gives DeepSeek and other clients vision capabilities by routing images to open-source multimodal models, returning structured specifications or answers. Supports CLI and MCP tools for design analysis and general image Q&A.494MIT
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for MiniMax H3 multimodal video generation
MCP server for AI dialogue using various LLM models via AceDataCloud
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/honlnk/picsense'
If you have feedback or need assistance with the MCP directory API, please join our Discord server