Skip to main content
Glama
by 7etsuo

Image Description MCP Server

A Model Context Protocol (MCP) server that provides AI-powered image analysis using xAI's Grok API.

Purpose

This MCP server provides a secure interface for AI assistants to analyze images using Grok's advanced vision capabilities. It supports both web-hosted images and local files, offering detailed descriptions, technical metadata extraction, and optical character recognition (OCR).

Features

Current Implementation

  • describe_image_url - Analyzes images from web URLs and provides AI-generated descriptions

  • describe_image_file - Analyzes local image files and provides AI-generated descriptions

  • extract_text_from_image - Performs OCR to extract readable text from images

Prerequisites

  • Docker Desktop with MCP Toolkit enabled

  • Docker MCP CLI plugin (docker mcp command)

  • Grok API key from https://console.x.ai/

Installation

See the step-by-step instructions provided with the files.

Usage Examples

In Grok4 Code Fast, you can ask:

Local Testing

# 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

Adding New Tools

  1. Add the function to image-description-mcp_server.py

  2. Decorate with @mcp.tool()

  3. Update the catalog entry with the new tool name

  4. Rebuild the Docker image

Troubleshooting

Authentication Errors

  • Verify secrets with docker mcp secret list

  • Ensure GROK_API_KEY is set correctly

  • Check API key validity at https://console.x.ai/

Image Processing Errors

  • Ensure image URLs are accessible and valid

  • Check local file paths exist and are readable

  • Verify image formats are supported (JPEG, PNG, WebP, etc.)

Security Considerations

  • All secrets stored in Docker Desktop secrets

  • Never hardcode API keys

  • Running as non-root user in Docker

  • Images processed temporarily in memory

  • No permanent storage of image data

  • Sensitive data never logged

API Documentation

This service integrates with xAI's Grok API:

Data Sources

External Image URLs

  • Source: Web-hosted images accessible via HTTP/HTTPS

  • Access Method: HTTP GET requests using httpx

  • Purpose: Download images for analysis from any public URL

  • Limitations: Only accessible URLs; no authentication-protected images

Local Image Files

  • Source: Filesystem access to local image files

  • Access Method: Python file I/O

  • Purpose: Analyze images stored locally on the user's system

  • Supported Paths: Absolute and relative file paths

  • Supported Formats: JPEG, PNG, WebP, TIFF, GIF, BMP

Grok API

  • Source: xAI's Grok model with vision capabilities

  • Access Method: REST API calls via httpx

  • Purpose: AI-powered image analysis and description generation

  • Data Flow: Images converted to base64, sent to Grok, receive structured analysis

Image Processing

  • Source: PIL (Pillow) and OpenCV libraries

  • Access Method: Local processing

  • Purpose: Extract technical metadata and perform OCR

  • No External Calls: Pure local processing

License

MIT License

-
security - not tested
F
license - not found
-
quality - not tested

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/7etsuo/image-description-mcp_server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server