Skip to main content
Glama
README.md
# flin-imgbb-mcp

MCP server for uploading images to [ImgBB](https://imgbb.com) from Claude-compatible clients.

## Quick Start

The recommended setup uses `uvx` — no repository clone or virtual environment required.

Add this to your Claude MCP configuration:

```json
{
  "mcpServers": {
    "imgbb": {
      "command": "uvx",
      "args": ["flin-imgbb-mcp@latest"],
      "env": {
        "IMGBB_API_KEY": "your-imgbb-api-key"
      }
    }
  }
}
```

Get your API key at [api.imgbb.com](https://api.imgbb.com/).

## Tools

### `upload_image`

Upload a single image file to ImgBB and get its public URL.

| Parameter    | Type   | Required | Description                                      |
|-------------|--------|----------|--------------------------------------------------|
| `file_path` | string | yes      | Absolute or relative path to the image file      |
| `name`      | string | no       | Optional name for the image on ImgBB             |
| `expiration`| number | no       | Expiration in seconds (60–15552000)              |

Returns: `url`, `display_url`, `delete_url`, `title`

### `list_images`

List all image files in a local folder (png, jpg, jpeg, gif, webp, bmp).

| Parameter     | Type   | Required | Description                  |
|--------------|--------|----------|------------------------------|
| `folder_path` | string | yes      | Absolute path to the folder  |

### `upload_all_images`

Upload all images from a local folder to ImgBB.

| Parameter     | Type   | Required | Description                                     |
|--------------|--------|----------|-------------------------------------------------|
| `folder_path` | string | yes      | Absolute path to the folder                     |
| `expiration`  | number | no       | Expiration in seconds (60–15552000) for all images |

## Configuration

| Environment Variable | Required | Description                  |
|---------------------|----------|------------------------------|
| `IMGBB_API_KEY`     | yes      | Your ImgBB API key           |

## Troubleshooting

**Server does not start / "IMGBB_API_KEY is not set"**
Make sure `IMGBB_API_KEY` is set in the `env` block of your MCP configuration. The server checks for it at startup and will exit with a clear error if it is missing.

**Upload fails with HTTP 400**
The file path must point to a valid image file. Supported formats: png, jpg, jpeg, gif, webp, bmp.

**`uvx` command not found**
Install `uv` from [docs.astral.sh/uv](https://docs.astral.sh/uv/getting-started/installation/).

## Development

```bash
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies
uv sync --group dev

# Run tests
uv run pytest tests/ -v

# Lint
uv run ruff check src/ tests/

# Build distribution artifacts
uv build
```

## Release

Releases are published to PyPI automatically when a version tag is pushed:

```bash
git tag v1.0.2
git push origin v1.0.2
```

The GitHub Actions release workflow builds the package and publishes it via PyPI Trusted Publishing.

## License

MIT

TDQS

A3.7/5.0

Scored across 3 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: one lists local images, one uploads all, one uploads a single. No overlap or ambiguity.

Naming Consistency5/5

All tools use consistent snake_case verb_noun naming: list_images, upload_all_images, upload_image. Pattern is predictable.

Tool Count5/5

With 3 tools, the server is well-scoped for its purpose of listing and uploading images to ImgBB. No unnecessary tools.

Completeness3/5

Core upload and list functionality is present, but there are notable gaps: no tool to delete images or retrieve info about previously uploaded images beyond the upload response.

Maintenance

ActivityInactive
ResponsivenessNo issues