metalevel/snapix-mcp-server
MCP server for image optimization, conversion, AI generation, and gallery management via SnapiX API.
README
@metalevel/snapix-mcp-server
MCP server for SnapiX - image optimization, conversion, AI generation, and gallery management via the Model Context Protocol. Get a free API key and start using it with your AI clients today, no credits required!
Built on @metalevel/snapix-sdk-core - the official typed TypeScript SDK for the SnapiX REST API.
Quick Start - Local (stdio)
Add to your AI client configuration:
VS Code (Copilot)
Add to .vscode/mcp.json:
{
"inputs": [
{
"id": "SNAPIX_API_KEY",
"type": "promptString",
"description": "SnapiX API key",
"password": true
},
{
"id": "SNAPIX_BUCKET_KEY",
"type": "promptString",
"description": "Custom bucket key, if you've setup one (optional)",
"password": false
}
],
"servers": {
"metalevel/snapix-mcp": {
"command": "npx",
"args": ["-y", "@metalevel/snapix-mcp-server"],
"env": {
"SNAPIX_API_KEY": "${input:SNAPIX_API_KEY}",
"SNAPIX_BUCKET_KEY": "${input:SNAPIX_BUCKET_KEY}" // optional
}
}
}
}
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"metalevel/snapix-mcp": {
"command": "npx",
"args": ["-y", "@metalevel/snapix-mcp-server"],
"env": {
"SNAPIX_API_KEY": "your-api-key-here",
"SNAPIX_BUCKET_KEY": "your-optional-custom-bucket-key"
}
}
}
}
Quick Start - Remote (HTTP)
For clients that support Streamable HTTP transport, point to the hosted endpoint:
https://www.snapix.space/api/mcp
Pass your API key via the Authorization header:
Authorization: Bearer <your-api-key>
The remote endpoint is stateless - no session persistence between requests. It does not support imageFilePath; use imageBase64 for local images (with caution for large files) or imageUrl for publicly accessible URLs. See the full MCP docs for VS Code and Claude Desktop config examples.
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
SNAPIX_API_KEY |
Yes | - | Your SnapiX API key |
SNAPIX_BUCKET_KEY |
No | primary bucket | Default storage bucket for uploads, generates, and gallery creation |
SNAPIX_LOG_LEVEL |
No | warn |
SDK log verbosity: debug | info | warn | error | silent |
Available Tools
Each tool carries MCP tool annotations that well-behaved clients (VS Code Copilot, Claude Desktop, etc.) use to show appropriate confirmation prompts. Because SnapiX retains no history and no soft-delete, every update or delete is irreversible — destructiveHint is set to true on all mutating tools accordingly.
| Tool | Description | Credits | Read-only | Destructive | Idempotent | Open-world |
|---|---|---|---|---|---|---|
snapix_get_docs |
Fetch SDK, API, MCP, or About documentation | Free | ✓ | n/a | ✓ | – |
snapix_convert_image |
Guidance tool - explains how to convert images using the upload tool | Free | ✓ | n/a | ✓ | – |
snapix_upload_image |
Upload an image from URL or local file, optionally convert format and resize | 1+ | – | – | – | ✓ |
snapix_generate_image |
Generate an image from a text prompt, optionally guided by a template image (Gemini AI)* | 40+ | – | – | – | ✓ |
snapix_list_images |
List images with pagination and filtering | Free | ✓ | n/a | ✓ | – |
snapix_get_image |
Get full details for a single image | Free | ✓ | n/a | ✓ | – |
snapix_update_image |
Update image metadata, gallery assignments, or replace/re-convert the image | Free† | – | ✓ | – | ✓ |
snapix_delete_image |
Permanently delete an image | Free | – | ✓ | ✓ | – |
snapix_create_gallery |
Create a new gallery, optionally with existing images | Free | – | – | – | – |
snapix_list_galleries |
List all galleries | Free | ✓ | n/a | ✓ | – |
snapix_get_gallery |
Get gallery details with all images | Free | ✓ | n/a | ✓ | – |
snapix_get_ungrouped_images |
Get all images not assigned to any gallery | Free | ✓ | n/a | ✓ | – |
snapix_update_gallery |
Update gallery name or visibility | Free | – | ✓ | ✓ | – |
snapix_delete_gallery |
Delete a gallery, optionally with all its images | Free | – | ✓ | ✓ | – |
snapix_generate_imagerequires a paid subscription. Accepts a text prompt plus an optional template image (URL, local file path, or base64) and generates an image using Gemini AI.
† snapix_update_image is free for metadata-only updates. Costs 1+ App credits when formatOptions, resizeOptions, or a replacement image source is provided.
Resources
MCP Resources provide passive context that AI clients can pre-load without making explicit tool calls.
| URI | Description |
|---|---|
snapix://galleries |
All galleries (name, id, visibility, image count) |
snapix://galleries/{galleryId} |
Gallery details with all images and CDN URLs |
snapix://images/ungrouped |
All images not assigned to any gallery |
snapix://images |
Recent images (first page) with metadata and CDN URLs |
snapix://images/{imageId} |
Full image metadata, variants, dimensions, and CDN URLs |
Prompts
MCP Prompts are interactive workflow templates that AI clients can invoke on demand. Clients that support the MCP prompts capability (VS Code Copilot, Claude, and others) expose them as slash commands or selectable actions in the chat interface.
| Prompt | Description |
|---|---|
snapix_setup_sdk_core |
Guided setup of @metalevel/snapix-sdk-core: reads live docs, installs the package with the detected package manager, and appends SNAPIX_* environment variables to the correct .env file |
Rate Limiting
The MCP server respects the same rate limits as the REST API. When a rate limit is hit (HTTP 429), the server returns an MCP error with a retryable flag, signaling to the AI client that it should wait and retry the request.
Credits & Quotas
- Free operations: listing, getting, updating metadata, and deleting images/galleries
- Credit-consuming operations: uploading images (1+ credits), generating images (40+ credits)
- Credit costs follow the same rules as the REST API
- When credits are exhausted, the server returns a clear error message
Programmatic Usage
createSnapixMcpServer creates and returns a configured McpServer instance:
import { createSnapixMcpServer } from "@metalevel/snapix-mcp-server";
const server = createSnapixMcpServer({
apiKey: process.env.SNAPIX_API_KEY!,
baseUrl: "https://www.snapix.space", // optional
bucketKey: process.env.SNAPIX_BUCKET_KEY, // optional
logLevel: "warn", // optional: debug | info | warn | error | silent
transport: "stdio", // optional: "stdio" (default) | "http"
});
handleStatelessRequest powers the hosted /api/mcp HTTP endpoint - it is designed for internal server-side usage and is not intended as a general-purpose public API:
import { handleStatelessRequest } from "@metalevel/snapix-mcp-server";
export async function POST(request: Request): Promise<Response> {
return handleStatelessRequest(request, {
apiKey: request.headers.get("Authorization")?.replace("Bearer ", "") ?? "",
bucketKey: request.headers.get("X-Snapix-Bucket-Key") ?? undefined,
});
}
Documentation
License
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.