UNPKG

@cloudwerxlab/all-your-base64-mcp

Version:

MCP server that converts base64 images and image URLs into markdown for display in chat. Supports OpenWebUI

88 lines (63 loc) 2.34 kB
# AllYourBase64MCP This is a Model Context Protocol (MCP) server that provides tools to convert base64-encoded images and image URLs into markdown-formatted image embeds for display in LLM chat interfaces (e.g., OpenWebUI chat, Cursor). ## How It Works The server exposes two MCP tools: 1. **base64-to-url**: Takes base64-encoded image data and converts it to a URL that can be displayed in chat 2. **display-url**: Takes an image URL and returns markdown for displaying it in chat When an LLM encounters either base64 image data or an image URL that needs to be displayed in chat, it should automatically use this MCP server to convert the data into properly formatted markdown for display. ## Installation ```bash # Install globally npm install -g @cloudwerxlab/all-your-base64-mcp # Or run directly with npx npx @cloudwerxlab/all-your-base64-mcp ``` ## Transport Modes This MCP server supports two transport modes: 1. **HTTP Mode** (default): Starts an HTTP server on port 6644 2. **stdio Mode**: Used automatically when invoked by Cursor or when run with `MCP_TRANSPORT=stdio` The server automatically detects which mode to use based on how it's launched. ## Usage Examples ### Using with Cursor Just reference it in your mcpservers.json file: ```json { "mcpServers": { "all-your-base64-mcp": { "command": "npx", "args": ["-y", "@cloudwerxlab/all-your-base64-mcp"], "env": { "BASE_URL": "http://localhost:6644" } } } } ``` ### JSON-RPC Examples For base64-to-url tool: ```json { "jsonrpc": "2.0", "id": 1, "method": "base64-to-url", "params": { "data": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA..." } } ``` For display-url tool: ```json { "jsonrpc": "2.0", "id": 2, "method": "display-url", "params": { "url": "https://example.com/path/to/image.jpg" } } ``` ## For LLMs This MCP server is designed to be used by LLMs when they need to display an image in chat. LLMs should automatically use: - `base64-to-url` when they have base64-encoded image data that needs to be displayed - `display-url` when they have an image URL that needs to be displayed in chat The MCP server will return markdown that can be included directly in the chat response.