图像分析MCP服务器

一个基于Grok API的AI图像分析服务,提供图像描述、OCR和元数据提取功能。

  • by 7etsuo
  • Python
  • 本地部署
  • 7 星标
  • 更新于
在 GitHub 查看 7etsuo/image-description-mcp_server

使用说明

图像描述MCP服务器

一种模型上下文协议(MCP)服务器,使用xAI的Grok API提供AI驱动的图像分析。

目的

该MCP服务器为AI助手提供了一个安全的接口,让他们使用Grok的高级视觉功能来分析图像。它支持网络托管的图像和本地文件,提供详细的描述、技术元数据提取和光学字符识别(OCR)。

特性

当前实施情况

  • describe_image_url -分析来自网络URL的图像,并提供人工智能生成的描述
  • describe_image_file -分析本地图像文件并提供AI生成的描述
  • extract_text_from_image -执行OCR从图像中提取可读文本

先决条件

  • 启用MCP工具包的Docker桌面
  • Docker MCP CLI插件(docker mcp 命令)
  • Grok API密钥来自https://console.x.ai/

安装

请参阅随文件提供的分步说明。

使用示例

在Grok4 Code Fast中,你可以问:

  • “描述这张图片:https://example.com/image.jpg"
  • “此本地图像显示什么:/path/to/image.png”
  • “从该图像中提取任何文本:https://example.com/document.jpg"
  • “给我详细分析一下这张照片:https://example.com/photo.jpg"
  • “在这个屏幕截图中你能看到什么文本:https://example.com/screenshot.png"

局部测试

# Set environment variables for testing
export GROK_API_KEY="your-grok-api-key"

# Run directly
python image-description-mcp_server.py

# Test MCP protocol
echo '{"jsonrpc":"2.0","method":"tools/list","id":1}' | python image-description-mcp_server.py

添加新工具

  1. 将该功能添加到 image-description-mcp_server.py
  2. 用…装饰 @mcp.tool()
  3. 用新的工具名称更新目录条目
  4. 重建Docker镜像

故障排除

身份验证错误

  • 通过以下方式验证机密 docker mcp secret list
  • 确保GROK_API_KEY设置正确
  • 在检查API密钥有效性https://console.x.ai/

图像处理错误

  • 确保图像URL可访问且有效
  • 检查本地文件路径是否存在以及是否可读
  • 验证是否支持图像格式(JPEG、PNG、WebP等)

安全考虑

  • 存储在Docker Desktop secrets中的所有机密
  • 切勿硬编码API密钥
  • 在Docker中以非root用户身份运行
  • 在内存中临时处理的图像
  • 没有永久存储图像数据
  • 从未记录敏感数据

API文档

此服务与xAI的Grok API集成:

  • Grok API参考: https://docs.x.ai/docs/api-reference
  • MCP SDK文档: https://github.com/modelcontextprotocol/sdk

数据源

外部图像URL

  • 源:可通过HTTP/HTTPS访问的Web托管图像
  • 访问方法:使用httpx的HTTP GET请求
  • 目的:从任何公共URL下载图像进行分析
  • 局限性:只有可访问的网址;没有受身份验证保护的图像

本地图像文件

  • 源:对本地映像文件的文件系统访问
  • 访问方法:Python文件I/O
  • 目的:分析用户系统本地存储的图像
  • 支持的路径:绝对和相对文件路径
  • 支持格式:JPEG、PNG、WebP、TIFF、GIF、BMP

格罗克API

  • 源:xAI的Grok模型具有视觉功能
  • 访问方法:通过httpx调用REST API
  • 目的:AI驱动的图像分析和描述生成
  • 数据流:图像转换为base64,发送到Grok,接收结构化分析

图像处理

  • 源:PIL(Pillow)和OpenCV库
  • 访问方法:本地处理
  • 目的:提取技术元数据并执行OCR
  • 无外部通话:纯本地加工

许可证

MIT许可证