Skip to main content

ImageKit Public MCP Server - exposes search_docs and transformation_builder tools

Project description

ImageKit Public MCP Server

A Python MCP (Model Context Protocol) server that exposes ImageKit's documentation search and transformation builder as tools. Deployable to AWS Lambda via SAM.

Tools

search_docs

Search ImageKit documentation across guides, API references, SDK docs, and community content.

Parameters:

  • query (required): Search query string
  • sources (optional): Filter by source — imagekit_api_references, imagekit_community, imagekit_guides, imagekit_sdk

transformation_builder

Build ImageKit image/video transformation URLs from natural language descriptions.

Parameters:

  • query (required): Natural language description (e.g., "resize to 300x200 and add blur")
  • src (optional): Source ImageKit URL to apply transformations to
  • fetch_url_to_check (optional, default: true): Verify the generated URL works

Prerequisites

  • Python 3.12+
  • uv (Python package manager)
  • AWS CLI + SAM CLI (for deployment)
  • Docker (for SAM build)

Local Development

# Install dependencies
uv sync

# Copy and configure environment
cp .env.example .env

# Run the server locally (port 8000)
uv run python -m src.server

# Run tests
uv run pytest

# Lint
uv run ruff check src/ tests/

The MCP server will be available at:

  • SSE endpoint: http://localhost:8000/sse
  • Messages endpoint: http://localhost:8000/messages/
  • Health check: http://localhost:8000/health

Deployment (AWS SAM)

# First time (guided setup)
./scripts/deploy.sh --guided

# Subsequent deploys
./scripts/deploy.sh

This deploys a Lambda function with:

  • Lambda Web Adapter layer for SSE streaming
  • Function URL (no API Gateway needed)
  • RESPONSE_STREAM invoke mode for real-time streaming

Configuration

Variable Default Description
IMAGEKIT_API_BASE_URL https://imagekit-public-mcp-tools.stlmcp.com Upstream API base URL
IMAGEKIT_API_HOST stage-ik-agent-service.imagekit.io Host header for upstream
MCP_SERVER_NAME imagekit-mcp-server Server name in MCP protocol
MCP_SERVER_VERSION 1.0.0 Server version
LOG_LEVEL INFO Logging level

MCP Client Configuration

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "imagekit": {
      "url": "https://<your-function-url>/sse"
    }
  }
}

Cursor

Add to MCP settings:

{
  "mcpServers": {
    "imagekit": {
      "url": "https://<your-function-url>/sse"
    }
  }
}

Local (stdio via uv)

{
  "mcpServers": {
    "imagekit": {
      "command": "uv",
      "args": ["run", "python", "-m", "src.server"],
      "cwd": "/path/to/this/project"
    }
  }
}

Project Structure

├── src/
│   ├── __init__.py
│   ├── server.py           # MCP server + Starlette ASGI app
│   ├── client.py           # Async HTTP client for upstream API
│   ├── config.py           # Environment variable configuration
│   └── lambda_handler.py   # Lambda entry point (uvicorn)
├── tests/
├── scripts/
│   └── deploy.sh           # One-command SAM deployment
├── template.yaml           # AWS SAM template
├── samconfig.toml          # SAM deployment defaults
├── Dockerfile              # Lambda container image
├── pyproject.toml          # Project config + dependencies (uv)
├── .env.example            # Environment variable reference
└── openapi.json            # Upstream API spec (reference)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imagekit_mcp_server-1.0.0.tar.gz (54.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imagekit_mcp_server-1.0.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file imagekit_mcp_server-1.0.0.tar.gz.

File metadata

  • Download URL: imagekit_mcp_server-1.0.0.tar.gz
  • Upload date:
  • Size: 54.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for imagekit_mcp_server-1.0.0.tar.gz
Algorithm Hash digest
SHA256 ece9d3177c7cf5f24781fec0e2763d51ae84adcf7627d87a6f6beee49999513b
MD5 eede3a1db791ec825628dab8436e540c
BLAKE2b-256 d1f9a1fc249de542c9fc0e09597afcd078dc55dbb0fa8837322608a3a4b5e024

See more details on using hashes here.

File details

Details for the file imagekit_mcp_server-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: imagekit_mcp_server-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 6.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.15 {"installer":{"name":"uv","version":"0.11.15","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for imagekit_mcp_server-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1a96c61d94a0c986147920e77125ed3ac3a1293e1147d503445adb6bf21ded3f
MD5 4ca9c9cd7adbd96ba3168aca24e8d2ff
BLAKE2b-256 44a15ffcacbb1949cd3b3768a75d6b61e6d0140d4798e73f29a9343a2dfe9d5b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page