Metadata-Version: 2.4
Name: immich-mcp
Version: 0.5.7
Summary: An MCP server for Immich.
Project-URL: Repository, https://github.com/immich-app/immich-mcp
Project-URL: Issues, https://github.com/immich-app/immich-mcp/issues
License-File: LICENSE
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Python: >=3.11
Requires-Dist: gunicorn
Requires-Dist: mcp
Requires-Dist: uvicorn
Provides-Extra: dev
Requires-Dist: mcp[cli]; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Requires-Dist: pydantic-ai-slim[mcp]; extra == 'dev'
Requires-Dist: pytest; extra == 'dev'
Requires-Dist: pytest-asyncio; extra == 'dev'
Requires-Dist: pytest-mock; extra == 'dev'
Requires-Dist: ruff; extra == 'dev'
Description-Content-Type: text/markdown

# Immich MCP Server

This project provides a Model Context Protocol (MCP) server for the Immich photo management system.

## Installation

It is recommended to use a virtual environment.

```bash
pip install .
```

For development, you can install the project with its development dependencies:

```bash
pip install -e ".[dev]"
```

## Running the Server

To run the server for development, you can use the `mcp` command-line tool provided by the `mcp` package. As recommended by the [MCP Python SDK Quickstart](https://github.com/modelcontextprotocol/python-sdk#quickstart), `uv` is the preferred tool for running the server.

First, ensure `uv` is installed:
```bash
pip install uv
```

Then, run the server:

```bash
uv run mcp dev src/immich_mcp/server.py
```

## Configuration

The server requires the following environment variables to be set to connect to your Immich instance:

- `IMMICH_BASE_URL`: The base URL of your Immich instance (e.g., `http://immich.local:2283`). The server will automatically append the required `/api` path.
- `IMMICH_API_KEY`: Your Immich API key.

## Functional Testing

To run the functional tests, see the instructions in `tests/functional/README.md`.
