Skip to main content
ClaudeWave
taltal-beep avatar
taltal-beep

mcp-server-celery

Ver en GitHub

Read-only MCP server for debugging Celery: workers, queue depths, stuck-task diagnosis

MCP ServersRegistry oficial0 estrellas0 forks● PythonMITActualizado today
ClaudeWave Trust Score
95/100
✓ Verified
Passed
  • ✓Open-source license (MIT)
  • ✓Actively maintained (<30d)
  • ✓Clear description
  • ✓Topics declared
  • ✓Documented (README)
Last scanned: 10/20/2026
Install in Claude Code / Claude Desktop
Method: UVX (Python) · mcp-server-celery
Claude Code CLI
claude mcp add celery -- uvx mcp-server-celery
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "celery": {
      "command": "uvx",
      "args": ["mcp-server-celery"],
      "env": {
        "CELERY_BROKER_URL": "<celery_broker_url>"
      }
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Detected environment variables
CELERY_BROKER_URL
Casos de uso

Resumen de MCP Servers

# mcp-server-celery

<!-- mcp-name: io.github.taltal-beep/mcp-server-celery -->

[![PyPI](https://img.shields.io/pypi/v/mcp-server-celery)](https://pypi.org/project/mcp-server-celery/)
[![CI](https://github.com/taltal-beep/mcp-server-celery/actions/workflows/ci.yml/badge.svg)](https://github.com/taltal-beep/mcp-server-celery/actions/workflows/ci.yml)

An MCP server that lets AI agents debug a running Celery deployment. It checks which workers are alive, what each one consumes, and where messages are piling up — the checks you'd otherwise run by hand with `celery inspect` and `rabbitmqctl` every time something gets stuck.

It is **read-only by default**. Broker passwords are masked in every response, including the broker info that Celery's own `inspect stats` sends back in plain text.

Works with RabbitMQ (`amqp://`) and Redis (`redis://`, `rediss://`).

## Tools

| Tool | What it answers |
| --- | --- |
| `list_workers` | Which workers respond, their pool and concurrency, uptime, prefetch count, tasks processed, and the queues each one listens to. |
| `queue_depths` | How many messages are waiting in each queue and which workers consume it. With no arguments it checks your configured queues plus every queue a live worker consumes. |

Coming next: `active_tasks`, `reserved_tasks`, `scheduled_tasks`, `task_status`, and `diagnose_stuck`, which cross-references the above to flag queues no worker listens to, tasks routed to queues with no consumer, and workers that stopped responding. See the [roadmap](#roadmap).

## Install

Requires Python 3.10+ and [uv](https://docs.astral.sh/uv/).

```bash
uvx mcp-server-celery
```

## Configuration

All configuration is through environment variables.

| Variable | Default | Purpose |
| --- | --- | --- |
| `CELERY_BROKER_URL` | `amqp://guest:guest@localhost:5672//` | Broker to inspect. |
| `CELERY_RESULT_BACKEND` | — | Result backend (used by `task_status`, coming in the next release). |
| `CELERY_APP` | — | Import path of your app, e.g. `proj.celery:app`. Lets the server see your `task_queues` and routes. `CELERY_BROKER_URL` still overrides the app's broker if both are set. |
| `CELERY_INSPECT_TIMEOUT` | `1.0` | Seconds to wait for worker replies. Raise it for large or slow clusters. |

`CELERY_APP` has to be importable, so run the server from your project's directory and environment:

```bash
uv run --with mcp-server-celery mcp-server-celery
```

## Connect it

### Claude Code

```bash
claude mcp add celery -e CELERY_BROKER_URL=redis://localhost:6379/0 -- uvx mcp-server-celery
```

### Cursor

In `.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "celery": {
      "command": "uvx",
      "args": ["mcp-server-celery"],
      "env": { "CELERY_BROKER_URL": "redis://localhost:6379/0" }
    }
  }
}
```

### Claude Desktop

In `claude_desktop_config.json`, use the same `command`, `args` and `env` block as Cursor, under `mcpServers`.

## Example

Ask the agent "why are my email tasks not running?" and it can call `queue_depths`:

```json
{
  "broker": "amqp://app:****@rabbit:5672//",
  "queues": [
    { "queue": "celery", "exists": true, "messages": 0, "consumers": 2, "workers_consuming": ["w1@web", "w2@web"] },
    { "queue": "emails", "exists": true, "messages": 1843, "consumers": 0, "workers_consuming": [] }
  ]
}
```

`emails` has a backlog and no worker consumes it: the workers were started without `-Q emails`.

## Notes on the data

- **Redis** has no notion of consumers, so `consumers` is `null`; use `workers_consuming`, which comes from the workers themselves. Redis also deletes a queue's key once it is empty, so a drained queue shows `"messages": 0, "exists": null`.
- **RabbitMQ** checks use a passive declare, so the server never creates a queue. A queue that doesn't exist shows `"exists": false`.
- Workers that are too busy to answer within `CELERY_INSPECT_TIMEOUT` don't appear in `list_workers`. If a worker you expect is missing, try a larger `timeout` argument before assuming it's dead.

## Safety

- Every tool is annotated `readOnlyHint: true`. Write actions (revoke, retry, purge) will only be available behind an explicit opt-in flag.
- URL credentials and `password`/`secret`/`token` fields are masked in all output and error messages.

## Roadmap

**v0.1** — `list_workers`, `queue_depths` ✅

**v1** — `active_tasks`, `reserved_tasks`, `scheduled_tasks`, `task_status(task_id)`, `diagnose_stuck`

**v2** — `summarize_failures`: groups recent failures by task name and exception type. Celery keeps no failure history by default, so this needs an event listener.

## Development

```bash
uv sync
uv run pytest tests/unit
uv run ruff check . && uv run ruff format --check .
```

Integration tests start a real worker and need a broker:

```bash
CELERY_BROKER_URL=redis://localhost:6379/0 uv run pytest tests/integration -m integration
```

CI runs them against Redis and RabbitMQ on every push.

### Releasing

Bump the version in `pyproject.toml` and in both `version` fields of `server.json`, commit, then push a `vX.Y.Z` tag. The Release workflow checks that all three versions match the tag, publishes to PyPI, and then publishes `server.json` to the MCP registry.

## License

MIT
celerydebuggingmcpmcp-servermodel-context-protocol

Lo que la gente pregunta sobre mcp-server-celery

¿Qué es taltal-beep/mcp-server-celery?

+

taltal-beep/mcp-server-celery es mcp servers para el ecosistema de Claude AI. Read-only MCP server for debugging Celery: workers, queue depths, stuck-task diagnosis Tiene 0 estrellas en GitHub y su última actualización registrada es del 2026-10-19.

¿Cómo se instala mcp-server-celery?

+

Puedes instalar mcp-server-celery clonando el repositorio (https://github.com/taltal-beep/mcp-server-celery) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar taltal-beep/mcp-server-celery?

+

Nuestro agente de seguridad ha analizado taltal-beep/mcp-server-celery y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene taltal-beep/mcp-server-celery?

+

taltal-beep/mcp-server-celery es mantenido por taltal-beep. La última actividad registrada en GitHub es del 2026-10-19, con 0 issues abiertos.

¿Hay alternativas a mcp-server-celery?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega mcp-server-celery en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: taltal-beep/mcp-server-celery
[![Featured on ClaudeWave](https://claudewave.com/api/badge/taltal-beep-mcp-server-celery)](https://claudewave.com/repo/taltal-beep-mcp-server-celery)
<a href="https://claudewave.com/repo/taltal-beep-mcp-server-celery"><img src="https://claudewave.com/api/badge/taltal-beep-mcp-server-celery" alt="Featured on ClaudeWave: taltal-beep/mcp-server-celery" width="320" height="64" /></a>

Más MCP Servers

Alternativas a mcp-server-celery